{"version":3,"file":"DxA1n4DY.js","sources":["../../../../stores/festivalManager.ts"],"sourcesContent":["import _ from 'lodash'\nimport { gql } from '~/tada/gql'\nimport { defineStore } from 'pinia'\nimport { OpenFeature } from '@openfeature/web-sdk'\n\nexport const useFestivalManager = defineStore('festivalManager', () => {\n const session = useSession()\n const openFeature = useOpenFeature()\n const { $posthog } = useNuxtApp()\n\n const loaded = ref(false)\n\n const { result, refetch, onResult, loading } = useQuery(\n FestivalManagerCache,\n () => ({\n userId: session.user?.id!,\n userIdInt: session.user?.id!,\n ffid: openFeature.getNumber('current_film_festival'),\n ffidNum: openFeature.getNumber('current_film_festival'),\n }),\n () => ({\n enabled: !!session.user,\n }),\n )\n\n onResult(({ loading }) => {\n if (!loading) {\n loaded.value = true\n OpenFeature.setContext({\n ...OpenFeature.getContext(),\n filmmaker: teams.value.length > 0,\n })\n\n $posthog().setPersonProperties({\n [`${openFeature.getNumber('current_film_festival')}_team_ids`]:\n teams.value.map(team => team.id),\n [`${openFeature.getNumber('current_film_festival')}_studio_ids`]:\n studios.value?.map(studio => studio.id),\n [`${openFeature.getNumber('current_film_festival')}_filmmaker`]:\n teams.value.length > 0,\n [`${openFeature.getNumber('current_film_festival')}_film_challenge_submitted`]:\n teams.value.some(t => !!t.submitted_at),\n })\n }\n })\n\n const teamRoles = computed(() => result.value?.team_roles)\n const countries = computed(() => result.value?.countries)\n const genres = computed(() => result.value?.genres)\n const festivalGenres = computed(() => result.value?.festival_genres)\n const studios = computed(() => result.value?.studios)\n const teams = computed(\n () =>\n _.chain(studios.value)\n .flatMap(s => s.teams)\n .filter(t => !!t.team_number)\n .value() || [],\n )\n const assetTypes = computed(() => result.value?.assetTypes)\n\n return {\n refetch,\n loading,\n loaded,\n teamRoles,\n countries,\n genres,\n festivalGenres,\n studios,\n teams,\n assetTypes,\n }\n})\nconst TeamRole = gql(`fragment TeamRole on team_roles @_unmask {\n id name description\n}`)\n\nconst Country = gql(`fragment Country on countries @_unmask {\n id name code\n}`)\n\nconst StudioInfoLite = gql(`fragment StudioInfoLite on studios @_unmask {\n id name owner_id teams(where: {film_festival_id: {_eq: $ffidNum}}) { id name team_number submitted_at }\n}`)\n\nconst Genre = gql(`fragment Genre on genres @_unmask {\n id name description\n}`)\n\nconst FestivalGenre = gql(`fragment FestivalGenre on festival_genres @_unmask {\n id name description\n}`)\n\nconst AssetType = gql(`fragment AssetType on asset_types @_unmask {\n id title\n}`)\n\nconst FestivalManagerCache = gql(\n `query FestivalManagerCache($userId: numeric!, $userIdInt: Int!, $ffid: Int!, $ffidNum: numeric!) {\n team_roles(where: { name: { _is_null: false }}, order_by: {name: asc}) {\n ...TeamRole\n }\n countries(where: { name: { _is_null: false }}, order_by: {name: asc}) {\n ...Country\n }\n genres(order_by: {name: asc}) {\n ...Genre\n }\n festival_genres(where: { film_festival_id: { _eq: $ffid } }, order_by: {name: asc}) {\n ...FestivalGenre\n }\n studios(where: {_or: [\n {owner_id: {_eq: $userIdInt}},\n {teams: {owner_id: {_eq: $userId}}},\n {teams: {memberships: {user_id: {_eq: $userId}}}}\n ]}) {\n ...StudioInfoLite\n }\n assetTypes: asset_types(where: {_or: [{hidden: {_is_null: true}},{hidden: {_neq: \"Y\"}}]} order_by: {title: asc}) {\n ...AssetType\n }\n}\n`,\n [TeamRole, Country, StudioInfoLite, Genre, FestivalGenre, AssetType],\n)\n"],"names":["useFestivalManager","defineStore","session","useSession","openFeature","useOpenFeature","$posthog","useNuxtApp","loaded","ref","result","refetch","onResult","loading","useQuery","FestivalManagerCache","_a","_b","OpenFeature","teams","team","studios","studio","t","teamRoles","computed","countries","genres","festivalGenres","_","s","assetTypes","TeamRole","gql","Country","StudioInfoLite","Genre","FestivalGenre","AssetType"],"mappings":"oLAKa,MAAAA,EAAqBC,EAAY,kBAAmB,IAAM,CACrE,MAAMC,EAAUC,EAAW,EACrBC,EAAcC,EAAe,EAC7B,CAAE,SAAAC,CAAS,EAAIC,EAAW,EAE1BC,EAASC,EAAI,EAAK,EAElB,CAAE,OAAAC,EAAQ,QAAAC,EAAS,SAAAC,EAAU,QAAAC,CAAY,EAAAC,EAC7CC,EACA,IAAO,SAAA,OACL,QAAQC,EAAAd,EAAQ,OAAR,YAAAc,EAAc,GACtB,WAAWC,EAAAf,EAAQ,OAAR,YAAAe,EAAc,GACzB,KAAMb,EAAY,UAAU,uBAAuB,EACnD,QAASA,EAAY,UAAU,uBAAuB,CAAA,GAExD,KAAO,CACL,QAAS,CAAC,CAACF,EAAQ,IACrB,EACF,EAEAU,EAAS,CAAC,CAAE,QAAAC,KAAc,OACnBA,IACHL,EAAO,MAAQ,GACfU,EAAY,WAAW,CACrB,GAAGA,EAAY,WAAW,EAC1B,UAAWC,EAAM,MAAM,OAAS,CAAA,CACjC,EAEDb,EAAA,EAAW,oBAAoB,CAC7B,CAAC,GAAGF,EAAY,UAAU,uBAAuB,CAAC,WAAW,EAC3De,EAAM,MAAM,IAAIC,GAAQA,EAAK,EAAE,EACjC,CAAC,GAAGhB,EAAY,UAAU,uBAAuB,CAAC,aAAa,GAC7DY,EAAAK,EAAQ,QAAR,YAAAL,EAAe,IAAIM,GAAUA,EAAO,IACtC,CAAC,GAAGlB,EAAY,UAAU,uBAAuB,CAAC,YAAY,EAC5De,EAAM,MAAM,OAAS,EACvB,CAAC,GAAGf,EAAY,UAAU,uBAAuB,CAAC,2BAA2B,EAC3Ee,EAAM,MAAM,KAAKI,GAAK,CAAC,CAACA,EAAE,YAAY,CAAA,CACzC,EACH,CACD,EAED,MAAMC,EAAYC,EAAS,IAAM,OAAA,OAAAT,EAAAN,EAAO,QAAP,YAAAM,EAAc,WAAU,EACnDU,EAAYD,EAAS,IAAM,OAAA,OAAAT,EAAAN,EAAO,QAAP,YAAAM,EAAc,UAAS,EAClDW,EAASF,EAAS,IAAM,OAAA,OAAAT,EAAAN,EAAO,QAAP,YAAAM,EAAc,OAAM,EAC5CY,EAAiBH,EAAS,IAAM,OAAA,OAAAT,EAAAN,EAAO,QAAP,YAAAM,EAAc,gBAAe,EAC7DK,EAAUI,EAAS,IAAM,OAAA,OAAAT,EAAAN,EAAO,QAAP,YAAAM,EAAc,QAAO,EAC9CG,EAAQM,EACZ,IACEI,EAAE,MAAMR,EAAQ,KAAK,EAClB,WAAaS,EAAE,KAAK,EACpB,OAAOP,GAAK,CAAC,CAACA,EAAE,WAAW,EAC3B,SAAW,CAAA,CAClB,EACMQ,EAAaN,EAAS,IAAM,OAAA,OAAAT,EAAAN,EAAO,QAAP,YAAAM,EAAc,WAAU,EAEnD,MAAA,CACL,QAAAL,EACA,QAAAE,EACA,OAAAL,EACA,UAAAgB,EACA,UAAAE,EACA,OAAAC,EACA,eAAAC,EACA,QAAAP,EACA,MAAAF,EACA,WAAAY,CACF,CACF,CAAC,EACKC,EAAWC,EAAI;AAAA;AAAA,EAEnB,EAEIC,EAAUD,EAAI;AAAA;AAAA,EAElB,EAEIE,EAAiBF,EAAI;AAAA;AAAA,EAEzB,EAEIG,EAAQH,EAAI;AAAA;AAAA,EAEhB,EAEII,EAAgBJ,EAAI;AAAA;AAAA,EAExB,EAEIK,EAAYL,EAAI;AAAA;AAAA,EAEpB,EAEIlB,EAAuBkB,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyBA,CAACD,EAAUE,EAASC,EAAgBC,EAAOC,EAAeC,CAAS,CACrE"}