Advertisement
petrovnn

Untitled

Nov 20th, 2023
963
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. SELECT
  2.           array_agg(DISTINCT("bundleId")) AS combo_bundle_id,
  3.           array_agg(bundle_platforms ORDER BY "bundleId") AS combo_bundle_platforms,
  4.           legacy_name[1],
  5.           combo_sequence_id,
  6.           combo_sequence,
  7.           combo_sequence_slug,
  8.           array_agg(DISTINCT("actionId")) AS combo_action_id,
  9.           array_agg(DISTINCT(action)) AS combo_action,
  10.           array_agg(DISTINCT(action_slug)) AS combo_action_slug,
  11.           array_agg(action_official ORDER BY "bundleId") AS combo_action_official,
  12.           "categoryId",
  13.           category,
  14.           category_slug,
  15.           string_agg(combo_key_name, '_') AS combo_key_name,
  16.           array_agg(is_favorite ORDER BY "bundleId") AS combo_is_favorite
  17.         FROM (
  18.           SELECT
  19.             UNNEST(array_agg("bundleId")) AS "bundleId",
  20.             UNNEST(array_agg(bundle_platforms)) AS bundle_platforms,
  21.             array_agg(legacy_name ORDER BY "bundleId") AS legacy_name,
  22.             array_agg("sequenceId" ORDER BY "bundleId") AS combo_sequence_id,
  23.             array_agg(sequence ORDER BY "bundleId") AS combo_sequence,
  24.             array_agg(sequence_slug ORDER BY "bundleId") AS combo_sequence_slug,
  25.             "actionId",
  26.             action,
  27.             action_slug,
  28.             UNNEST(array_agg(action_official)) AS action_official,
  29.             "categoryId",
  30.             category,
  31.             category_slug,
  32.             string_agg(combo_key_name, '_') AS combo_key_name,
  33.             UNNEST(array_agg(is_favorite)) AS is_favorite
  34.           FROM (
  35.             SELECT  
  36.               bundle.id AS "bundleId",
  37.               CONCAT(bundle.windows, bundle.mac, bundle.linux, bundle.web) AS bundle_platforms,
  38.               sequence.legacy_name,
  39.               bundle."sequenceId",
  40.               sequence.legacy_name AS sequence,
  41.               -- sequence.hold AS sequence_hold,
  42.               sequence.slug AS sequence_slug,
  43.               bundle."actionId",
  44.               action.name AS action,
  45.               action.slug AS action_slug,
  46.               official_action.name AS action_official,
  47.               bundle."categoryId",
  48.               category.name AS category,
  49.               category.slug AS category_slug,
  50.               string_agg(key.name, '_') AS combo_key_name,
  51.               COUNT(user_favorite_bundles_bundle)>0 AS is_favorite
  52.             FROM bundle
  53.               JOIN action ON action.id = bundle."actionId"
  54.               JOIN sapp ON sapp.id = bundle."sappId"
  55.               JOIN sequence ON sequence.id = bundle."sequenceId"
  56.               JOIN sequence_shortcut ON sequence_shortcut."sequenceId" = sequence.id
  57.               JOIN shortcut ON shortcut.id = sequence_shortcut."shortcutId"
  58.               JOIN shortcut_key ON shortcut_key."shortcutId" = shortcut.id
  59.               JOIN key ON key.id = shortcut_key."keyId"
  60.               JOIN category ON bundle."categoryId" = category.id
  61.               LEFT JOIN official_action ON official_action.id = bundle."officialActionId"
  62.               LEFT JOIN user_favorite_bundles_bundle ON user_favorite_bundles_bundle."bundleId" = bundle.id
  63.                 AND user_favorite_bundles_bundle."userId" = $2
  64.             WHERE sapp.slug = $1
  65.               AND bundle.status = 1
  66.               AND bundle.locale = 'en'
  67.               ${os_query}
  68.             GROUP BY
  69.               bundle.id,
  70.               sequence.legacy_name,
  71.               sequence_slug,
  72.               -- sequence_hold,
  73.               action,
  74.               action_slug,
  75.               action_official,
  76.               category,
  77.               category_slug
  78.           ) AS LEVEL_1
  79.           GROUP BY
  80.             "actionId",
  81.             action,
  82.             action_slug,
  83.             "categoryId",
  84.             category,
  85.             category_slug
  86.         ) AS LEVEL_2
  87.         GROUP BY
  88.           legacy_name,
  89.           combo_sequence_id,
  90.           combo_sequence,
  91.           combo_sequence_slug,
  92.           "categoryId",
  93.           category,
  94.           category_slug`,
  95.      [slug, user?.id ?? null],
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement