diff --git a/apis/api-gateway/schema.graphql b/apis/api-gateway/schema.graphql index 7da4e7190c2..69562b717ea 100644 --- a/apis/api-gateway/schema.graphql +++ b/apis/api-gateway/schema.graphql @@ -168,16 +168,6 @@ type Mutation @join__type(graph: API_ANALYTICS) @join__type(graph: API_JOURNEYS blockRestore is used for redo/undo """ blockRestore(id: ID!) : [Block!]! @join__field(graph: API_JOURNEYS) - cardBlockCreate(input: CardBlockCreateInput!) : CardBlock! @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") - cardBlockUpdate( - id: ID! - input: CardBlockUpdateInput! - """ - drop this parameter after merging teams - """ - journeyId: ID - ): CardBlock! @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") - iconBlockCreate(input: IconBlockCreateInput!) : IconBlock! @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") iconBlockUpdate( id: ID! input: IconBlockUpdateInput! @@ -351,7 +341,7 @@ type Mutation @join__type(graph: API_ANALYTICS) @join__type(graph: API_JOURNEYS Allow current user to update specific allowable fields of their visitor record """ visitorUpdateForCurrentUser(input: VisitorUpdateInput!) : Visitor! @join__field(graph: API_JOURNEYS) - buttonBlockCreate(input: ButtonBlockCreateInput!) : ButtonBlock! @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") + buttonBlockCreate(input: ButtonBlockCreateInput!) : ButtonBlock! @join__field(graph: API_JOURNEYS_MODERN) buttonBlockUpdate( id: ID! input: ButtonBlockUpdateInput! @@ -359,7 +349,17 @@ type Mutation @join__type(graph: API_ANALYTICS) @join__type(graph: API_JOURNEYS drop this parameter after merging teams """ journeyId: ID - ): ButtonBlock @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") + ): ButtonBlock @join__field(graph: API_JOURNEYS_MODERN) + cardBlockCreate(input: CardBlockCreateInput!) : CardBlock! @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") + cardBlockUpdate( + id: ID! + input: CardBlockUpdateInput! + """ + drop this parameter after merging teams + """ + journeyId: ID + ): CardBlock! @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") + iconBlockCreate(input: IconBlockCreateInput!) : IconBlock! @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") multiselectBlockCreate(input: MultiselectBlockCreateInput!) : MultiselectBlock! @join__field(graph: API_JOURNEYS_MODERN) multiselectBlockUpdate( id: ID! @@ -413,7 +413,7 @@ type Mutation @join__type(graph: API_ANALYTICS) @join__type(graph: API_JOURNEYS journeyAiTranslateCreate(input: JourneyAiTranslateInput!) : Journey! @join__field(graph: API_JOURNEYS_MODERN) createJourneyEventsExportLog(input: JourneyEventsExportLogInput!) : JourneyEventsExportLog! @join__field(graph: API_JOURNEYS_MODERN) journeyLanguageAiDetect(input: MutationJourneyLanguageAiDetectInput!) : Boolean! @join__field(graph: API_JOURNEYS_MODERN) - journeyProfileUpdate(input: JourneyProfileUpdateInput!) : JourneyProfile! @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") + journeyProfileUpdate(input: JourneyProfileUpdateInput!) : JourneyProfile! @join__field(graph: API_JOURNEYS_MODERN) journeyVisitorExportToGoogleSheet( journeyId: ID! filter: JourneyEventsFilter @@ -717,7 +717,6 @@ type Query @join__type(graph: API_ANALYTICS) @join__type(graph: API_JOURNEYS) hosts(teamId: ID!) : [Host!]! @join__field(graph: API_JOURNEYS) integrations(teamId: ID!) : [Integration!]! @join__field(graph: API_JOURNEYS) adminJourneysReport(reportType: JourneysReportType!) : PowerBiEmbed @join__field(graph: API_JOURNEYS) - adminJourney(id: ID!, idType: IdType = slug) : Journey! @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") journeys(where: JourneysFilter, options: JourneysQueryOptions) : [Journey!]! @join__field(graph: API_JOURNEYS) journey(id: ID!, idType: IdType, options: JourneysQueryOptions) : Journey! @join__field(graph: API_JOURNEYS) journeyCollection(id: ID!) : JourneyCollection! @join__field(graph: API_JOURNEYS) @@ -785,6 +784,7 @@ type Query @join__type(graph: API_ANALYTICS) @join__type(graph: API_JOURNEYS) journeySimpleGet(id: ID!) : Json @join__field(graph: API_JOURNEYS_MODERN) googleSheetsSyncs(filter: GoogleSheetsSyncsFilter!) : [GoogleSheetsSync!]! @join__field(graph: API_JOURNEYS_MODERN) integrationGooglePickerToken(integrationId: ID!) : String! @join__field(graph: API_JOURNEYS_MODERN) + adminJourney(id: ID!, idType: IdType = slug) : Journey! @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") adminJourneys( status: [JourneyStatus!] template: Boolean @@ -844,7 +844,7 @@ type Query @join__type(graph: API_ANALYTICS) @join__type(graph: API_JOURNEYS) """ status: [JourneyStatus!] ): [TemplateFamilyStatsBreakdownResponse!] @join__field(graph: API_JOURNEYS_MODERN) - getUserRole: UserRole @join__field(graph: API_JOURNEYS_MODERN, override: "api-journeys") + getUserRole: UserRole @join__field(graph: API_JOURNEYS_MODERN) language(id: ID!, idType: LanguageIdType = databaseId) : Language @join__field(graph: API_LANGUAGES) languages(offset: Int, limit: Int, where: LanguagesFilter, term: String) : [Language!]! @join__field(graph: API_LANGUAGES) languagesCount(where: LanguagesFilter, term: String) : Int! @join__field(graph: API_LANGUAGES) @@ -1320,11 +1320,11 @@ type VideoBlock implements Block @join__type(graph: API_JOURNEYS, key: "id") @j subtitleLanguage: Language showGeneratedSubtitles: Boolean customizable: Boolean - mediaVideo: MediaVideo @join__field(graph: API_JOURNEYS_MODERN) """ Publisher notes for template adapters (e.g. trailer, intro). """ - notes: String @join__field(graph: API_JOURNEYS_MODERN) + notes: String + mediaVideo: MediaVideo @join__field(graph: API_JOURNEYS_MODERN) } """ @@ -3921,41 +3921,6 @@ input ButtonBlockSettingsInput @join__type(graph: API_JOURNEYS) @join__type(gra color: String } -input CardBlockCreateInput @join__type(graph: API_JOURNEYS) @join__type(graph: API_JOURNEYS_MODERN) { - id: ID - journeyId: ID! - parentBlockId: ID! - eventLabel: BlockEventLabel - backgroundColor: String - backdropBlur: Int - fullscreen: Boolean - themeMode: ThemeMode - themeName: ThemeName -} - -input CardBlockUpdateInput @join__type(graph: API_JOURNEYS) @join__type(graph: API_JOURNEYS_MODERN) { - parentBlockId: ID - eventLabel: BlockEventLabel - coverBlockId: ID - backgroundColor: String - backdropBlur: Int - fullscreen: Boolean - themeMode: ThemeMode - themeName: ThemeName -} - -input IconBlockCreateInput @join__type(graph: API_JOURNEYS) @join__type(graph: API_JOURNEYS_MODERN) { - """ - ID should be unique Response UUID (Provided for optimistic mutation result matching) - """ - id: ID - parentBlockId: ID! - journeyId: ID! - name: IconName - color: IconColor - size: IconSize -} - input IconBlockUpdateInput @join__type(graph: API_JOURNEYS) @join__type(graph: API_JOURNEYS_MODERN) { name: IconName color: IconColor @@ -4756,6 +4721,29 @@ input ButtonClickEventCreateInput @join__type(graph: API_JOURNEYS_MODERN) { actionValue: String } +input CardBlockCreateInput @join__type(graph: API_JOURNEYS_MODERN) { + id: ID + journeyId: ID! + parentBlockId: ID! + eventLabel: BlockEventLabel + backgroundColor: String + backdropBlur: Int + fullscreen: Boolean + themeMode: ThemeMode + themeName: ThemeName +} + +input CardBlockUpdateInput @join__type(graph: API_JOURNEYS_MODERN) { + parentBlockId: ID + eventLabel: BlockEventLabel + coverBlockId: ID + backgroundColor: String + backdropBlur: Int + fullscreen: Boolean + themeMode: ThemeMode + themeName: ThemeName +} + input ChatActionInput @join__type(graph: API_JOURNEYS_MODERN) { gtmEventName: String chatUrl: String! @@ -4800,6 +4788,18 @@ input GoogleSheetsSyncsFilter @join__type(graph: API_JOURNEYS_MODERN) { integrationId: ID } +input IconBlockCreateInput @join__type(graph: API_JOURNEYS_MODERN) { + """ + ID should be unique Response UUID (Provided for optimistic mutation result matching) + """ + id: ID + parentBlockId: ID! + journeyId: ID! + name: IconName + color: IconColor + size: IconSize +} + input IntegrationGoogleCreateInput @join__type(graph: API_JOURNEYS_MODERN) { teamId: String! code: String! diff --git a/apis/api-journeys-modern/schema.graphql b/apis/api-journeys-modern/schema.graphql index eae9d8b31a8..0a2e75bcab4 100644 --- a/apis/api-journeys-modern/schema.graphql +++ b/apis/api-journeys-modern/schema.graphql @@ -1337,14 +1337,14 @@ input MultiselectSubmissionEventCreateInput { } type Mutation { - buttonBlockCreate(input: ButtonBlockCreateInput!): ButtonBlock! @override(from: "api-journeys") + buttonBlockCreate(input: ButtonBlockCreateInput!): ButtonBlock! buttonBlockUpdate( id: ID! input: ButtonBlockUpdateInput! """drop this parameter after merging teams""" journeyId: ID - ): ButtonBlock @override(from: "api-journeys") + ): ButtonBlock cardBlockCreate(input: CardBlockCreateInput!): CardBlock! @override(from: "api-journeys") cardBlockUpdate( id: ID! @@ -1405,7 +1405,7 @@ type Mutation { journeyAiTranslateCreate(input: JourneyAiTranslateInput!): Journey! createJourneyEventsExportLog(input: JourneyEventsExportLogInput!): JourneyEventsExportLog! journeyLanguageAiDetect(input: MutationJourneyLanguageAiDetectInput!): Boolean! - journeyProfileUpdate(input: JourneyProfileUpdateInput!): JourneyProfile! @override(from: "api-journeys") + journeyProfileUpdate(input: JourneyProfileUpdateInput!): JourneyProfile! journeyVisitorExportToGoogleSheet( journeyId: ID! filter: JourneyEventsFilter @@ -1795,7 +1795,7 @@ type Query { """ status: [JourneyStatus!] ): [TemplateFamilyStatsBreakdownResponse!] - getUserRole: UserRole @override(from: "api-journeys") + getUserRole: UserRole } type RadioOptionBlock implements Block diff --git a/apis/api-journeys-modern/src/schema/block/button/buttonBlockCreate.mutation.ts b/apis/api-journeys-modern/src/schema/block/button/buttonBlockCreate.mutation.ts index 25798d86476..e1b672d692d 100644 --- a/apis/api-journeys-modern/src/schema/block/button/buttonBlockCreate.mutation.ts +++ b/apis/api-journeys-modern/src/schema/block/button/buttonBlockCreate.mutation.ts @@ -17,9 +17,6 @@ builder.mutationField('buttonBlockCreate', (t) => t.withAuth({ $any: { isAuthenticated: true, isAnonymous: true } }).field({ type: ButtonBlock, nullable: false, - override: { - from: 'api-journeys' - }, args: { input: t.arg({ type: ButtonBlockCreateInput, required: true }) }, diff --git a/apis/api-journeys-modern/src/schema/block/button/buttonBlockUpdate.mutation.ts b/apis/api-journeys-modern/src/schema/block/button/buttonBlockUpdate.mutation.ts index 6d356c4e234..32b5d4a131c 100644 --- a/apis/api-journeys-modern/src/schema/block/button/buttonBlockUpdate.mutation.ts +++ b/apis/api-journeys-modern/src/schema/block/button/buttonBlockUpdate.mutation.ts @@ -23,9 +23,6 @@ builder.mutationField('buttonBlockUpdate', (t) => t.withAuth({ $any: { isAuthenticated: true, isAnonymous: true } }).field({ type: ButtonBlock, nullable: true, - override: { - from: 'api-journeys' - }, args: { id: t.arg({ type: 'ID', required: true }), input: t.arg({ type: ButtonBlockUpdateInput, required: true }), diff --git a/apis/api-journeys-modern/src/schema/block/card/cardBlockCreate.mutation.ts b/apis/api-journeys-modern/src/schema/block/card/cardBlockCreate.mutation.ts index 3850fa776d7..abda9103d95 100644 --- a/apis/api-journeys-modern/src/schema/block/card/cardBlockCreate.mutation.ts +++ b/apis/api-journeys-modern/src/schema/block/card/cardBlockCreate.mutation.ts @@ -17,12 +17,12 @@ builder.mutationField('cardBlockCreate', (t) => t.withAuth({ $any: { isAuthenticated: true, isAnonymous: true } }).field({ type: CardBlock, nullable: false, - override: { - from: 'api-journeys' - }, args: { input: t.arg({ type: CardBlockCreateInput, required: true }) }, + override: { + from: 'api-journeys' + }, resolve: async (_parent, args, context) => { const { input: initialInput } = args const input = { ...initialInput } diff --git a/apis/api-journeys-modern/src/schema/journeyProfile/journeyProfileUpdate.mutation.ts b/apis/api-journeys-modern/src/schema/journeyProfile/journeyProfileUpdate.mutation.ts index 241cd35f306..dad78e04770 100644 --- a/apis/api-journeys-modern/src/schema/journeyProfile/journeyProfileUpdate.mutation.ts +++ b/apis/api-journeys-modern/src/schema/journeyProfile/journeyProfileUpdate.mutation.ts @@ -10,9 +10,6 @@ builder.mutationField('journeyProfileUpdate', (t) => .withAuth({ $any: { isAuthenticated: true, isAnonymous: true } }) .prismaField({ type: JourneyProfileRef, - override: { - from: 'api-journeys' - }, nullable: false, args: { input: t.arg({ type: JourneyProfileUpdateInput, required: true }) diff --git a/apis/api-journeys-modern/src/schema/userRole/getUserRole.query.ts b/apis/api-journeys-modern/src/schema/userRole/getUserRole.query.ts index f15f2614111..64c38b9b9a5 100644 --- a/apis/api-journeys-modern/src/schema/userRole/getUserRole.query.ts +++ b/apis/api-journeys-modern/src/schema/userRole/getUserRole.query.ts @@ -27,9 +27,6 @@ builder.queryField('getUserRole', (t) => .prismaField({ type: UserRoleRef, nullable: true, - override: { - from: 'api-journeys' - }, resolve: async (query, _parent, _args, context) => { return await getUserRoleByUserId(context.user.id) } diff --git a/apis/api-journeys/schema.graphql b/apis/api-journeys/schema.graphql index 7c8da798e3c..a613616170d 100644 --- a/apis/api-journeys/schema.graphql +++ b/apis/api-journeys/schema.graphql @@ -234,7 +234,6 @@ extend type Query { hosts(teamId: ID!): [Host!]! integrations(teamId: ID!): [Integration!]! adminJourneysReport(reportType: JourneysReportType!): PowerBiEmbed - adminJourney(id: ID!, idType: IdType): Journey! journeys(where: JourneysFilter, options: JourneysQueryOptions): [Journey!]! journey(id: ID!, idType: IdType, options: JourneysQueryOptions): Journey! journeyCollection(id: ID!): JourneyCollection! @@ -339,15 +338,6 @@ type Mutation { """blockRestore is used for redo/undo""" blockRestore(id: ID!): [Block!]! - cardBlockCreate(input: CardBlockCreateInput!): CardBlock! - cardBlockUpdate( - id: ID! - input: CardBlockUpdateInput! - - """drop this parameter after merging teams""" - journeyId: ID - ): CardBlock! - iconBlockCreate(input: IconBlockCreateInput!): IconBlock! iconBlockUpdate( id: ID! input: IconBlockUpdateInput! @@ -609,29 +599,6 @@ type CardBlock implements Block themeName: ThemeName @shareable } -input CardBlockCreateInput { - id: ID - journeyId: ID! - parentBlockId: ID! - eventLabel: BlockEventLabel - backgroundColor: String - backdropBlur: Int - fullscreen: Boolean - themeMode: ThemeMode - themeName: ThemeName -} - -input CardBlockUpdateInput { - parentBlockId: ID - eventLabel: BlockEventLabel - coverBlockId: ID - backgroundColor: String - backdropBlur: Int - fullscreen: Boolean - themeMode: ThemeMode - themeName: ThemeName -} - enum GridDirection { columnReverse column @@ -739,18 +706,6 @@ type IconBlock implements Block size: IconSize @shareable } -input IconBlockCreateInput { - """ - ID should be unique Response UUID (Provided for optimistic mutation result matching) - """ - id: ID - parentBlockId: ID! - journeyId: ID! - name: IconName - color: IconColor - size: IconSize -} - input IconBlockUpdateInput { name: IconName color: IconColor @@ -1277,6 +1232,9 @@ type VideoBlock implements Block subtitleLanguage: Language @shareable showGeneratedSubtitles: Boolean @shareable customizable: Boolean @shareable + + """Publisher notes for template adapters (e.g. trailer, intro).""" + notes: String } """ diff --git a/apis/api-journeys/src/__generated__/graphql.ts b/apis/api-journeys/src/__generated__/graphql.ts index e0385f5df7f..ac3a34b5095 100644 --- a/apis/api-journeys/src/__generated__/graphql.ts +++ b/apis/api-journeys/src/__generated__/graphql.ts @@ -88,6 +88,7 @@ export type BibleBook = { order: Scalars['Int']['output']; osisId: Scalars['String']['output']; paratextAbbreviation: Scalars['String']['output']; + updatedAt: Scalars['DateTime']['output']; }; @@ -103,6 +104,10 @@ export type BibleBookName = { value: Scalars['String']['output']; }; +export type BibleBooksFilter = { + updatedAt?: InputMaybe; +}; + export type BibleCitation = { __typename?: 'BibleCitation'; bibleBook: BibleBook; @@ -569,6 +574,10 @@ export type ContinentName = { value: Scalars['String']['output']; }; +export type CountriesFilter = { + updatedAt?: InputMaybe; +}; + export type Country = { __typename?: 'Country'; continent: Continent; @@ -583,6 +592,7 @@ export type Country = { longitude?: Maybe; name: Array; population?: Maybe; + updatedAt: Scalars['DateTime']['output']; }; @@ -678,6 +688,11 @@ export type CustomDomainVerificationResponse = { message: Scalars['String']['output']; }; +export type DateTimeFilter = { + gte?: InputMaybe; + lte?: InputMaybe; +}; + export enum DefaultPlatform { Android = 'android', Ios = 'ios', @@ -1603,9 +1618,14 @@ export type Keyword = { __typename?: 'Keyword'; id: Scalars['ID']['output']; language: Language; + updatedAt: Scalars['DateTime']['output']; value: Scalars['String']['output']; }; +export type KeywordsFilter = { + updatedAt?: InputMaybe; +}; + export type LabeledVideoCounts = { __typename?: 'LabeledVideoCounts'; featureFilmCount: Scalars['Int']['output']; @@ -1623,6 +1643,7 @@ export type Language = { labeledVideoCounts: LabeledVideoCounts; name: Array; slug?: Maybe; + updatedAt: Scalars['DateTime']['output']; }; @@ -1657,6 +1678,7 @@ export type LanguagesFilter = { bcp47?: InputMaybe>; ids?: InputMaybe>; iso3?: InputMaybe>; + updatedAt?: InputMaybe; }; export type LinkAction = Action & { @@ -3881,6 +3903,11 @@ export type QueryArclightApiKeyByKeyArgs = { }; +export type QueryBibleBooksArgs = { + where?: InputMaybe; +}; + + export type QueryBibleCitationArgs = { id: Scalars['ID']['input']; }; @@ -3914,6 +3941,7 @@ export type QueryCheckVideoVariantsInAlgoliaArgs = { export type QueryCountriesArgs = { ids?: InputMaybe>; term?: InputMaybe; + where?: InputMaybe; }; @@ -4088,6 +4116,11 @@ export type QueryJourneysPlausibleStatsTimeseriesArgs = { }; +export type QueryKeywordsArgs = { + where?: InputMaybe; +}; + + export type QueryLanguageArgs = { id: Scalars['ID']['input']; idType?: InputMaybe; @@ -5292,6 +5325,7 @@ export type Video = { studyQuestions: Array; subtitles: Array; title: Array; + updatedAt: Scalars['DateTime']['output']; /** @deprecated Use variants instead */ variant?: Maybe; variantLanguages: Array; @@ -5626,6 +5660,7 @@ export type VideoEdition = { __typename?: 'VideoEdition'; id: Scalars['ID']['output']; name?: Maybe; + updatedAt: Scalars['DateTime']['output']; videoSubtitles: Array; videoVariants: Array; }; @@ -6010,6 +6045,7 @@ export type VideoVariant = { slug: Scalars['String']['output']; subtitle: Array; subtitleCount: Scalars['Int']['output']; + updatedAt: Scalars['DateTime']['output']; /** version control for master video file */ version: Scalars['Int']['output']; video?: Maybe