@tmdb-graphql-api/resolvers 0.1.2-unstable.1 → 0.1.2-unstable.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/production.analysis.txt +364 -364
- package/dist/types/cjs/helpers/buildArgsResolver.d.cts +1 -1
- package/dist/types/cjs/helpers/buildArgsResolver.d.cts.map +1 -1
- package/dist/types/cjs/helpers/buildNoObjArgsResolver.d.cts.map +1 -1
- package/dist/types/cjs/helpers/buildObjArgsResolver.d.cts.map +1 -1
- package/dist/types/cjs/helpers/buildObjResolver.d.cts.map +1 -1
- package/dist/types/cjs/queries/configuration.d.cts.map +1 -1
- package/dist/types/cjs/queries/movieAlternativeTitles.d.cts.map +1 -1
- package/dist/types/cjs/queries/movieReviews.d.cts.map +1 -1
- package/dist/types/cjs/types.d.cts +6 -5
- package/dist/types/cjs/types.d.cts.map +1 -1
- package/dist/types/esm/helpers/buildArgsResolver.d.ts +1 -1
- package/dist/types/esm/helpers/buildArgsResolver.d.ts.map +1 -1
- package/dist/types/esm/helpers/buildNoObjArgsResolver.d.ts.map +1 -1
- package/dist/types/esm/helpers/buildObjArgsResolver.d.ts.map +1 -1
- package/dist/types/esm/helpers/buildObjResolver.d.ts.map +1 -1
- package/dist/types/esm/queries/configuration.d.ts.map +1 -1
- package/dist/types/esm/queries/movieAlternativeTitles.d.ts.map +1 -1
- package/dist/types/esm/queries/movieReviews.d.ts.map +1 -1
- package/dist/types/esm/types.d.ts +6 -5
- package/dist/types/esm/types.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/helpers/buildArgsResolver.ts +17 -14
- package/src/helpers/buildNoObjArgsResolver.ts +10 -8
- package/src/helpers/buildObjArgsResolver.ts +11 -9
- package/src/helpers/buildObjResolver.ts +12 -9
- package/src/queries/certifications.test.ts +4 -1
- package/src/queries/certifications.ts +2 -2
- package/src/queries/collection.test.ts +4 -1
- package/src/queries/collection.ts +2 -2
- package/src/queries/collectionImages.test.ts +4 -1
- package/src/queries/collectionImages.ts +2 -2
- package/src/queries/collectionTranslations.test.ts +4 -1
- package/src/queries/collectionTranslations.ts +2 -2
- package/src/queries/company.test.ts +4 -1
- package/src/queries/company.ts +2 -2
- package/src/queries/companyAlternativeNames.test.ts +4 -1
- package/src/queries/companyAlternativeNames.ts +2 -2
- package/src/queries/companyLogos.test.ts +4 -1
- package/src/queries/companyLogos.ts +2 -2
- package/src/queries/configuration.test.ts +4 -1
- package/src/queries/configuration.ts +2 -6
- package/src/queries/configurationCountries.test.ts +4 -1
- package/src/queries/configurationCountries.ts +2 -2
- package/src/queries/configurationJobs.test.ts +4 -1
- package/src/queries/configurationJobs.ts +2 -2
- package/src/queries/configurationLanguages.test.ts +4 -1
- package/src/queries/configurationLanguages.ts +2 -2
- package/src/queries/configurationPrimaryTranslations.test.ts +4 -1
- package/src/queries/configurationPrimaryTranslations.ts +2 -2
- package/src/queries/configurationTimezones.test.ts +4 -1
- package/src/queries/configurationTimezones.ts +2 -2
- package/src/queries/credit.test.ts +4 -1
- package/src/queries/credit.ts +2 -2
- package/src/queries/discoverMovies.test.ts +9 -3
- package/src/queries/discoverMovies.ts +2 -2
- package/src/queries/discoverTv.test.ts +9 -3
- package/src/queries/discoverTv.ts +2 -2
- package/src/queries/episode.test.ts +4 -1
- package/src/queries/episode.ts +2 -2
- package/src/queries/episodeCredits.test.ts +4 -1
- package/src/queries/episodeCredits.ts +2 -2
- package/src/queries/episodeExternalIds.test.ts +4 -1
- package/src/queries/episodeExternalIds.ts +2 -2
- package/src/queries/episodeStills.test.ts +4 -1
- package/src/queries/episodeStills.ts +2 -2
- package/src/queries/episodeTranslations.test.ts +4 -1
- package/src/queries/episodeTranslations.ts +2 -2
- package/src/queries/episodeVideos.test.ts +4 -1
- package/src/queries/episodeVideos.ts +2 -2
- package/src/queries/find.test.ts +4 -1
- package/src/queries/find.ts +2 -2
- package/src/queries/genres.test.ts +4 -1
- package/src/queries/genres.ts +2 -2
- package/src/queries/keyword.test.ts +4 -1
- package/src/queries/keyword.ts +2 -2
- package/src/queries/movie.test.ts +4 -1
- package/src/queries/movie.ts +2 -2
- package/src/queries/movieAlternativeTitles.test.ts +4 -1
- package/src/queries/movieAlternativeTitles.ts +3 -2
- package/src/queries/movieCredits.test.ts +4 -1
- package/src/queries/movieCredits.ts +2 -2
- package/src/queries/movieExternalIds.test.ts +4 -1
- package/src/queries/movieExternalIds.ts +2 -2
- package/src/queries/movieImages.test.ts +4 -1
- package/src/queries/movieImages.ts +2 -2
- package/src/queries/movieKeywords.test.ts +4 -1
- package/src/queries/movieKeywords.ts +2 -2
- package/src/queries/movieRecommendations.test.ts +5 -2
- package/src/queries/movieRecommendations.ts +2 -2
- package/src/queries/movieReleaseDates.test.ts +4 -1
- package/src/queries/movieReleaseDates.ts +2 -2
- package/src/queries/movieReviews.test.ts +9 -4
- package/src/queries/movieReviews.ts +3 -2
- package/src/queries/movieSimilarMovies.test.ts +5 -2
- package/src/queries/movieSimilarMovies.ts +2 -2
- package/src/queries/movieTranslations.test.ts +4 -1
- package/src/queries/movieTranslations.ts +2 -2
- package/src/queries/movieVideos.test.ts +4 -1
- package/src/queries/movieVideos.ts +2 -2
- package/src/queries/movieWatchProviders.test.ts +4 -1
- package/src/queries/movieWatchProviders.ts +2 -2
- package/src/queries/network.test.ts +4 -1
- package/src/queries/network.ts +2 -2
- package/src/queries/networkAlternativeNames.test.ts +4 -1
- package/src/queries/networkAlternativeNames.ts +2 -2
- package/src/queries/networkLogos.test.ts +4 -1
- package/src/queries/networkLogos.ts +2 -2
- package/src/queries/person.test.ts +4 -1
- package/src/queries/person.ts +2 -2
- package/src/queries/personCombinedCredits.test.ts +4 -1
- package/src/queries/personCombinedCredits.ts +2 -2
- package/src/queries/personExternalIds.test.ts +4 -1
- package/src/queries/personExternalIds.ts +2 -2
- package/src/queries/personMovieCredits.test.ts +4 -1
- package/src/queries/personMovieCredits.ts +2 -2
- package/src/queries/personProfiles.test.ts +4 -1
- package/src/queries/personProfiles.ts +2 -2
- package/src/queries/personTranslations.test.ts +4 -1
- package/src/queries/personTranslations.ts +2 -2
- package/src/queries/personTvCredits.test.ts +4 -1
- package/src/queries/personTvCredits.ts +2 -2
- package/src/queries/rated.test.ts +7 -4
- package/src/queries/rated.ts +3 -3
- package/src/queries/review.test.ts +4 -1
- package/src/queries/review.ts +2 -2
- package/src/queries/search.test.ts +5 -2
- package/src/queries/search.ts +2 -2
- package/src/queries/season.test.ts +4 -1
- package/src/queries/season.ts +2 -2
- package/src/queries/seasonCredits.test.ts +4 -1
- package/src/queries/seasonCredits.ts +2 -2
- package/src/queries/seasonExternalIds.test.ts +4 -1
- package/src/queries/seasonExternalIds.ts +2 -2
- package/src/queries/seasonPosters.test.ts +4 -1
- package/src/queries/seasonPosters.ts +2 -2
- package/src/queries/seasonTranslations.test.ts +4 -1
- package/src/queries/seasonTranslations.ts +2 -2
- package/src/queries/seasonVideos.test.ts +4 -1
- package/src/queries/seasonVideos.ts +2 -2
- package/src/queries/trending.test.ts +5 -2
- package/src/queries/trending.ts +2 -2
- package/src/queries/tv.test.ts +4 -1
- package/src/queries/tv.ts +2 -2
- package/src/queries/tvAlternativeTitles.test.ts +4 -1
- package/src/queries/tvAlternativeTitles.ts +2 -2
- package/src/queries/tvContentRatings.test.ts +4 -1
- package/src/queries/tvContentRatings.ts +2 -2
- package/src/queries/tvCredits.test.ts +4 -1
- package/src/queries/tvCredits.ts +2 -2
- package/src/queries/tvEpisodeGroups.test.ts +4 -1
- package/src/queries/tvEpisodeGroups.ts +2 -2
- package/src/queries/tvExternalIds.test.ts +4 -1
- package/src/queries/tvExternalIds.ts +2 -2
- package/src/queries/tvImages.test.ts +4 -1
- package/src/queries/tvImages.ts +2 -2
- package/src/queries/tvKeywords.test.ts +4 -1
- package/src/queries/tvKeywords.ts +2 -2
- package/src/queries/tvRecommendations.test.ts +5 -2
- package/src/queries/tvRecommendations.ts +2 -2
- package/src/queries/tvReviews.test.ts +5 -2
- package/src/queries/tvReviews.ts +2 -2
- package/src/queries/tvSimilarTvShows.test.ts +5 -2
- package/src/queries/tvSimilarTvShows.ts +2 -2
- package/src/queries/tvTranslations.test.ts +4 -1
- package/src/queries/tvTranslations.ts +2 -2
- package/src/queries/tvVideos.test.ts +4 -1
- package/src/queries/tvVideos.ts +2 -2
- package/src/queries/tvWatchProviders.test.ts +4 -1
- package/src/queries/tvWatchProviders.ts +2 -2
- package/src/types.ts +4 -5
package/src/queries/credit.ts
CHANGED
|
@@ -5,13 +5,13 @@ import { type RawCredit } from '../types.ts';
|
|
|
5
5
|
|
|
6
6
|
export const resolveCredit = buildArgsResolver<QueryCreditArgs, RawCredit>(CREDIT, async (args, ctx) => {
|
|
7
7
|
const { id } = args;
|
|
8
|
-
const {
|
|
8
|
+
const { data: ctxData, restClient } = ctx;
|
|
9
9
|
|
|
10
10
|
const { data, errors, headers } = await restClient.credit<RawCredit>(
|
|
11
11
|
{
|
|
12
12
|
pathTemplateData: { id },
|
|
13
13
|
},
|
|
14
|
-
|
|
14
|
+
ctxData
|
|
15
15
|
);
|
|
16
16
|
|
|
17
17
|
return {
|
|
@@ -50,12 +50,15 @@ describe('createMakeCursors', () => {
|
|
|
50
50
|
|
|
51
51
|
describe('createResourceResolver', () => {
|
|
52
52
|
const context = {
|
|
53
|
+
data: {
|
|
54
|
+
requestID: 'mockRequestID',
|
|
55
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
56
|
+
},
|
|
53
57
|
logger: createMockLogger(jest.fn),
|
|
54
58
|
restClient: {
|
|
55
59
|
discover: jest.fn().mockReturnValue({}),
|
|
56
60
|
},
|
|
57
61
|
setCacheMetadata: jest.fn(),
|
|
58
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
59
62
|
} as unknown as Context;
|
|
60
63
|
|
|
61
64
|
const info = {} as GraphQLResolveInfo;
|
|
@@ -76,17 +79,20 @@ describe('createResourceResolver', () => {
|
|
|
76
79
|
sort_by: 'popularity.desc',
|
|
77
80
|
},
|
|
78
81
|
},
|
|
79
|
-
{ requestID:
|
|
82
|
+
{ requestID: 'mockRequestID', tmdbGuestSessionId: 'mockTmdbGuestSessionId' }
|
|
80
83
|
);
|
|
81
84
|
});
|
|
82
85
|
});
|
|
83
86
|
|
|
84
87
|
describe('resolveDiscoverMovies', () => {
|
|
85
88
|
const context = {
|
|
89
|
+
data: {
|
|
90
|
+
requestID: 'mockRequestID',
|
|
91
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
92
|
+
},
|
|
86
93
|
logger: createMockLogger(jest.fn),
|
|
87
94
|
restClient: createRestClient(),
|
|
88
95
|
setCacheMetadata: jest.fn(),
|
|
89
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
90
96
|
} as unknown as Context;
|
|
91
97
|
|
|
92
98
|
const info = {} as GraphQLResolveInfo;
|
|
@@ -31,14 +31,14 @@ export const createResourceResolver: CreateResourceResolver<
|
|
|
31
31
|
Context,
|
|
32
32
|
RawDiscoverMovies
|
|
33
33
|
> =
|
|
34
|
-
(_obj, args, {
|
|
34
|
+
(_obj, args, { data: ctxData, restClient }) =>
|
|
35
35
|
async ({ page }) =>
|
|
36
36
|
restClient.discover<RawDiscoverMovies>(
|
|
37
37
|
{
|
|
38
38
|
pathTemplateData: { type: MOVIE },
|
|
39
39
|
queryParams: { ...formatQueryParams(args), page },
|
|
40
40
|
},
|
|
41
|
-
|
|
41
|
+
ctxData
|
|
42
42
|
);
|
|
43
43
|
|
|
44
44
|
export const cursorCache = new Core({
|
|
@@ -48,12 +48,15 @@ describe('createMakeCursors', () => {
|
|
|
48
48
|
|
|
49
49
|
describe('createResourceResolver', () => {
|
|
50
50
|
const context = {
|
|
51
|
+
data: {
|
|
52
|
+
requestID: 'mockRequestID',
|
|
53
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
54
|
+
},
|
|
51
55
|
logger: createMockLogger(jest.fn),
|
|
52
56
|
restClient: {
|
|
53
57
|
discover: jest.fn().mockReturnValue({}),
|
|
54
58
|
},
|
|
55
59
|
setCacheMetadata: jest.fn(),
|
|
56
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
57
60
|
} as unknown as Context;
|
|
58
61
|
|
|
59
62
|
const info = {} as GraphQLResolveInfo;
|
|
@@ -75,17 +78,20 @@ describe('createResourceResolver', () => {
|
|
|
75
78
|
with_original_language: 'en',
|
|
76
79
|
},
|
|
77
80
|
},
|
|
78
|
-
{ requestID:
|
|
81
|
+
{ requestID: 'mockRequestID', tmdbGuestSessionId: 'mockTmdbGuestSessionId' }
|
|
79
82
|
);
|
|
80
83
|
});
|
|
81
84
|
});
|
|
82
85
|
|
|
83
86
|
describe('resolveDiscoverTv', () => {
|
|
84
87
|
const context = {
|
|
88
|
+
data: {
|
|
89
|
+
requestID: 'mockRequestID',
|
|
90
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
91
|
+
},
|
|
85
92
|
logger: createMockLogger(jest.fn),
|
|
86
93
|
restClient: createRestClient(),
|
|
87
94
|
setCacheMetadata: jest.fn(),
|
|
88
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
89
95
|
} as unknown as Context;
|
|
90
96
|
|
|
91
97
|
const info = {} as GraphQLResolveInfo;
|
|
@@ -26,14 +26,14 @@ export const createMakeCursors = (_obj: undefined, args: QueryDiscoverTvArgs) =>
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export const createResourceResolver: CreateResourceResolver<undefined, QueryDiscoverTvArgs, Context, RawDiscoverTv> =
|
|
29
|
-
(_obj, args, {
|
|
29
|
+
(_obj, args, { data: ctxData, restClient }) =>
|
|
30
30
|
async ({ page }) =>
|
|
31
31
|
restClient.discover<RawDiscoverTv>(
|
|
32
32
|
{
|
|
33
33
|
pathTemplateData: { type: TV },
|
|
34
34
|
queryParams: { ...formatQueryParams(args), page },
|
|
35
35
|
},
|
|
36
|
-
|
|
36
|
+
ctxData
|
|
37
37
|
);
|
|
38
38
|
|
|
39
39
|
export const cursorCache = new Core({
|
|
@@ -22,10 +22,13 @@ describe('resolveEpisode >', () => {
|
|
|
22
22
|
const id = 1399;
|
|
23
23
|
|
|
24
24
|
const context = {
|
|
25
|
+
data: {
|
|
26
|
+
requestID: 'mockRequestID',
|
|
27
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
28
|
+
},
|
|
25
29
|
logger: createMockLogger(jest.fn),
|
|
26
30
|
restClient: createRestClient(),
|
|
27
31
|
setCacheMetadata: jest.fn(),
|
|
28
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
29
32
|
} as unknown as Context;
|
|
30
33
|
|
|
31
34
|
beforeEach(() => {
|
package/src/queries/episode.ts
CHANGED
|
@@ -23,7 +23,7 @@ export const resolveEpisode = buildObjArgsResolver<
|
|
|
23
23
|
| (EnrichedRawEpisodeWithAppendToResponse & { __headers?: Headers })
|
|
24
24
|
| EnrichedRawEpisodeWithAppendToResponse[keyof EnrichedRawEpisodeWithAppendToResponse]
|
|
25
25
|
>(EPISODE, async (obj, args, ctx, info) => {
|
|
26
|
-
const {
|
|
26
|
+
const { data: ctxData, fragmentDefinitions, restClient } = ctx;
|
|
27
27
|
const { fieldName, fieldNodes } = info;
|
|
28
28
|
const typedFieldName = snakeCase(fieldName) as keyof RawEpisode;
|
|
29
29
|
const { episodeNumber, id, seasonNumber } = getTvIdSeasonAndEpisode(obj, args);
|
|
@@ -51,7 +51,7 @@ export const resolveEpisode = buildObjArgsResolver<
|
|
|
51
51
|
}
|
|
52
52
|
: {}),
|
|
53
53
|
},
|
|
54
|
-
|
|
54
|
+
ctxData
|
|
55
55
|
);
|
|
56
56
|
|
|
57
57
|
const episodeData = {
|
|
@@ -21,10 +21,13 @@ describe('resolveEpisodeCredits >', () => {
|
|
|
21
21
|
const episodeNumber = 1;
|
|
22
22
|
|
|
23
23
|
const context = {
|
|
24
|
+
data: {
|
|
25
|
+
requestID: 'mockRequestID',
|
|
26
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
27
|
+
},
|
|
24
28
|
logger: createMockLogger(jest.fn),
|
|
25
29
|
restClient: createRestClient(),
|
|
26
30
|
setCacheMetadata: jest.fn(),
|
|
27
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
28
31
|
} as unknown as Context;
|
|
29
32
|
|
|
30
33
|
beforeEach(() => {
|
|
@@ -15,7 +15,7 @@ export const resolveEpisodeCredits = buildObjResolver<
|
|
|
15
15
|
EnrichedRawEpisode | (EnrichedRawEpisodeWithAppendToResponse & { __headers?: Headers }),
|
|
16
16
|
RawEpisodeCredits['cast'] | RawEpisodeCredits['crew'] | RawEpisodeCredits['guest_stars']
|
|
17
17
|
>(EPISODE, async (obj, ctx, info) => {
|
|
18
|
-
const {
|
|
18
|
+
const { data: ctxData, restClient } = ctx;
|
|
19
19
|
const { fieldName } = info;
|
|
20
20
|
const typedFieldName = snakeCase(fieldName) as 'cast' | 'crew' | 'guest_stars';
|
|
21
21
|
|
|
@@ -36,7 +36,7 @@ export const resolveEpisodeCredits = buildObjResolver<
|
|
|
36
36
|
type: CREDITS,
|
|
37
37
|
},
|
|
38
38
|
},
|
|
39
|
-
|
|
39
|
+
ctxData
|
|
40
40
|
);
|
|
41
41
|
|
|
42
42
|
return {
|
|
@@ -22,10 +22,13 @@ describe('resolveEpisodeExternalIds >', () => {
|
|
|
22
22
|
const episodeNumber = 1;
|
|
23
23
|
|
|
24
24
|
const context = {
|
|
25
|
+
data: {
|
|
26
|
+
requestID: 'mockRequestID',
|
|
27
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
28
|
+
},
|
|
25
29
|
logger: createMockLogger(jest.fn),
|
|
26
30
|
restClient: createRestClient(),
|
|
27
31
|
setCacheMetadata: jest.fn(),
|
|
28
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
29
32
|
} as unknown as Context;
|
|
30
33
|
|
|
31
34
|
const info = { fieldName: EXTERNAL_IDS } as GraphQLResolveInfo;
|
|
@@ -17,7 +17,7 @@ export const resolveEpisodeExternalIds = buildObjResolver<
|
|
|
17
17
|
EnrichedRawEpisode | (EnrichedRawEpisodeWithAppendToResponse & { __headers?: Headers }),
|
|
18
18
|
Except<RawEpisodeExternalIds, 'id'>
|
|
19
19
|
>(EPISODE, async (obj, ctx, info) => {
|
|
20
|
-
const {
|
|
20
|
+
const { data: ctxData, restClient } = ctx;
|
|
21
21
|
const { fieldName } = info;
|
|
22
22
|
const typedFieldName = snakeCase(fieldName) as 'external_ids';
|
|
23
23
|
|
|
@@ -38,7 +38,7 @@ export const resolveEpisodeExternalIds = buildObjResolver<
|
|
|
38
38
|
type: typedFieldName,
|
|
39
39
|
},
|
|
40
40
|
},
|
|
41
|
-
|
|
41
|
+
ctxData
|
|
42
42
|
);
|
|
43
43
|
|
|
44
44
|
const { id: movieId, ...rest } = data ?? {};
|
|
@@ -21,10 +21,13 @@ describe('resolveEpisodeStills >', () => {
|
|
|
21
21
|
const episodeNumber = 1;
|
|
22
22
|
|
|
23
23
|
const context = {
|
|
24
|
+
data: {
|
|
25
|
+
requestID: 'mockRequestID',
|
|
26
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
27
|
+
},
|
|
24
28
|
logger: createMockLogger(jest.fn),
|
|
25
29
|
restClient: createRestClient(),
|
|
26
30
|
setCacheMetadata: jest.fn(),
|
|
27
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
28
31
|
} as unknown as Context;
|
|
29
32
|
|
|
30
33
|
const info = { fieldName: STILLS } as GraphQLResolveInfo;
|
|
@@ -15,7 +15,7 @@ export const resolveEpisodeStills = buildObjResolver<
|
|
|
15
15
|
EnrichedRawEpisode | (EnrichedRawEpisodeWithAppendToResponse & { __headers?: Headers }),
|
|
16
16
|
RawEpisodeImages['stills']
|
|
17
17
|
>(EPISODE, async (obj, ctx, info) => {
|
|
18
|
-
const {
|
|
18
|
+
const { data: ctxData, restClient } = ctx;
|
|
19
19
|
const { fieldName } = info;
|
|
20
20
|
const typedFieldName = snakeCase(fieldName) as 'stills';
|
|
21
21
|
|
|
@@ -36,7 +36,7 @@ export const resolveEpisodeStills = buildObjResolver<
|
|
|
36
36
|
type: IMAGES,
|
|
37
37
|
},
|
|
38
38
|
},
|
|
39
|
-
|
|
39
|
+
ctxData
|
|
40
40
|
);
|
|
41
41
|
|
|
42
42
|
return {
|
|
@@ -21,10 +21,13 @@ describe('resolveEpisodeTranslations >', () => {
|
|
|
21
21
|
const episodeNumber = 1;
|
|
22
22
|
|
|
23
23
|
const context = {
|
|
24
|
+
data: {
|
|
25
|
+
requestID: 'mockRequestID',
|
|
26
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
27
|
+
},
|
|
24
28
|
logger: createMockLogger(jest.fn),
|
|
25
29
|
restClient: createRestClient(),
|
|
26
30
|
setCacheMetadata: jest.fn(),
|
|
27
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
28
31
|
} as unknown as Context;
|
|
29
32
|
|
|
30
33
|
const info = { fieldName: TRANSLATIONS } as GraphQLResolveInfo;
|
|
@@ -14,7 +14,7 @@ export const resolveEpisodeTranslations = buildObjResolver<
|
|
|
14
14
|
EnrichedRawEpisode | (EnrichedRawEpisodeWithAppendToResponse & { __headers?: Headers }),
|
|
15
15
|
RawEpisodeTranslations['translations']
|
|
16
16
|
>(EPISODE, async (obj, ctx) => {
|
|
17
|
-
const {
|
|
17
|
+
const { data: ctxData, restClient } = ctx;
|
|
18
18
|
|
|
19
19
|
if (isEnrichedRawEpisodeWithTranslations(obj)) {
|
|
20
20
|
return {
|
|
@@ -33,7 +33,7 @@ export const resolveEpisodeTranslations = buildObjResolver<
|
|
|
33
33
|
type: TRANSLATIONS,
|
|
34
34
|
},
|
|
35
35
|
},
|
|
36
|
-
|
|
36
|
+
ctxData
|
|
37
37
|
);
|
|
38
38
|
|
|
39
39
|
return {
|
|
@@ -21,10 +21,13 @@ describe('resolveEpisodeVideos >', () => {
|
|
|
21
21
|
const episodeNumber = 1;
|
|
22
22
|
|
|
23
23
|
const context = {
|
|
24
|
+
data: {
|
|
25
|
+
requestID: 'mockRequestID',
|
|
26
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
27
|
+
},
|
|
24
28
|
logger: createMockLogger(jest.fn),
|
|
25
29
|
restClient: createRestClient(),
|
|
26
30
|
setCacheMetadata: jest.fn(),
|
|
27
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
28
31
|
} as unknown as Context;
|
|
29
32
|
|
|
30
33
|
const info = { fieldName: TRANSLATIONS } as GraphQLResolveInfo;
|
|
@@ -14,7 +14,7 @@ export const resolveEpisodeVideos = buildObjResolver<
|
|
|
14
14
|
EnrichedRawEpisode | (EnrichedRawEpisodeWithAppendToResponse & { __headers?: Headers }),
|
|
15
15
|
RawEpisodeVideos['results']
|
|
16
16
|
>(EPISODE, async (obj, ctx) => {
|
|
17
|
-
const {
|
|
17
|
+
const { data: ctxData, restClient } = ctx;
|
|
18
18
|
|
|
19
19
|
if (isEnrichedRawEpisodeWithVideos(obj)) {
|
|
20
20
|
return {
|
|
@@ -33,7 +33,7 @@ export const resolveEpisodeVideos = buildObjResolver<
|
|
|
33
33
|
type: VIDEOS,
|
|
34
34
|
},
|
|
35
35
|
},
|
|
36
|
-
|
|
36
|
+
ctxData
|
|
37
37
|
);
|
|
38
38
|
|
|
39
39
|
return {
|
package/src/queries/find.test.ts
CHANGED
|
@@ -18,10 +18,13 @@ describe('resolveFind >', () => {
|
|
|
18
18
|
const source = 'imdb_id' as ExternalSource;
|
|
19
19
|
|
|
20
20
|
const context = {
|
|
21
|
+
data: {
|
|
22
|
+
requestID: 'mockRequestID',
|
|
23
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
24
|
+
},
|
|
21
25
|
logger: createMockLogger(jest.fn),
|
|
22
26
|
restClient: createRestClient(),
|
|
23
27
|
setCacheMetadata: jest.fn(),
|
|
24
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
25
28
|
} as unknown as Context;
|
|
26
29
|
|
|
27
30
|
const info = {} as GraphQLResolveInfo;
|
package/src/queries/find.ts
CHANGED
|
@@ -13,14 +13,14 @@ type Data = {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
export const resolveFind = buildArgsResolver<QueryFindArgs, Data>(FIND, async (args, ctx) => {
|
|
16
|
-
const {
|
|
16
|
+
const { data: ctxData, restClient } = ctx;
|
|
17
17
|
|
|
18
18
|
const { data, errors, headers } = await restClient.find<RawFind>(
|
|
19
19
|
{
|
|
20
20
|
pathTemplateData: { id: args.id },
|
|
21
21
|
queryParams: { ...snakeCasePropNames({ externalSource: args.source }) },
|
|
22
22
|
},
|
|
23
|
-
|
|
23
|
+
ctxData
|
|
24
24
|
);
|
|
25
25
|
|
|
26
26
|
return {
|
|
@@ -15,10 +15,13 @@ const mockedFetch = mockFetch(jest.fn);
|
|
|
15
15
|
|
|
16
16
|
describe('resolveGenres >', () => {
|
|
17
17
|
const context = {
|
|
18
|
+
data: {
|
|
19
|
+
requestID: 'mockRequestID',
|
|
20
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
21
|
+
},
|
|
18
22
|
logger: createMockLogger(jest.fn),
|
|
19
23
|
restClient: createRestClient(),
|
|
20
24
|
setCacheMetadata: jest.fn(),
|
|
21
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
22
25
|
} as unknown as Context;
|
|
23
26
|
|
|
24
27
|
const info = {} as GraphQLResolveInfo;
|
package/src/queries/genres.ts
CHANGED
|
@@ -5,13 +5,13 @@ import { type RawGenres } from '../types.ts';
|
|
|
5
5
|
|
|
6
6
|
export const resolveGenres = buildArgsResolver<QueryGenresArgs, RawGenres['genres']>(GENRES, async (args, ctx) => {
|
|
7
7
|
const { screenType } = args;
|
|
8
|
-
const {
|
|
8
|
+
const { data: ctxData, restClient } = ctx;
|
|
9
9
|
|
|
10
10
|
const { data, errors, headers } = await restClient.genres<RawGenres>(
|
|
11
11
|
{
|
|
12
12
|
pathTemplateData: { type: screenType.toLowerCase() },
|
|
13
13
|
},
|
|
14
|
-
|
|
14
|
+
ctxData
|
|
15
15
|
);
|
|
16
16
|
|
|
17
17
|
return {
|
|
@@ -15,10 +15,13 @@ describe('resolveKeyword >', () => {
|
|
|
15
15
|
const id = 2;
|
|
16
16
|
|
|
17
17
|
const context = {
|
|
18
|
+
data: {
|
|
19
|
+
requestID: 'mockRequestID',
|
|
20
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
21
|
+
},
|
|
18
22
|
logger: createMockLogger(jest.fn),
|
|
19
23
|
restClient: createRestClient(),
|
|
20
24
|
setCacheMetadata: jest.fn(),
|
|
21
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
22
25
|
} as unknown as Context;
|
|
23
26
|
|
|
24
27
|
const info = {} as GraphQLResolveInfo;
|
package/src/queries/keyword.ts
CHANGED
|
@@ -6,14 +6,14 @@ import { type RawKeyword } from '../types.ts';
|
|
|
6
6
|
|
|
7
7
|
export const resolveKeyword = buildArgsResolver<QueryKeywordArgs, RawKeyword>(KEYWORD, async (args, ctx) => {
|
|
8
8
|
const { id, includeAdult } = args;
|
|
9
|
-
const {
|
|
9
|
+
const { data: ctxData, restClient } = ctx;
|
|
10
10
|
|
|
11
11
|
const { data, errors, headers } = await restClient.keyword<RawKeyword>(
|
|
12
12
|
{
|
|
13
13
|
pathTemplateData: { id },
|
|
14
14
|
queryParams: { ...snakeCasePropNames({ includeAdult }) },
|
|
15
15
|
},
|
|
16
|
-
|
|
16
|
+
ctxData
|
|
17
17
|
);
|
|
18
18
|
|
|
19
19
|
return {
|
|
@@ -21,10 +21,13 @@ describe('resolveMovie >', () => {
|
|
|
21
21
|
const id = 1891;
|
|
22
22
|
|
|
23
23
|
const context = {
|
|
24
|
+
data: {
|
|
25
|
+
requestID: 'mockRequestID',
|
|
26
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
27
|
+
},
|
|
24
28
|
logger: createMockLogger(jest.fn),
|
|
25
29
|
restClient: createRestClient(),
|
|
26
30
|
setCacheMetadata: jest.fn(),
|
|
27
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
28
31
|
} as unknown as Context;
|
|
29
32
|
|
|
30
33
|
beforeEach(() => {
|
package/src/queries/movie.ts
CHANGED
|
@@ -49,7 +49,7 @@ export const resolveMovie = buildObjArgsResolver<
|
|
|
49
49
|
| (RawMovieWithAppendToResponse & { __headers?: Headers })
|
|
50
50
|
| RawMovieWithAppendToResponse[keyof RawMovieWithAppendToResponse]
|
|
51
51
|
>(MOVIE, async (obj, args, ctx, info) => {
|
|
52
|
-
const {
|
|
52
|
+
const { data: ctxData, fragmentDefinitions, restClient } = ctx;
|
|
53
53
|
const { fieldName, fieldNodes } = info;
|
|
54
54
|
const typedFieldName = snakeCase(fieldName) as keyof RawMovie;
|
|
55
55
|
|
|
@@ -74,7 +74,7 @@ export const resolveMovie = buildObjArgsResolver<
|
|
|
74
74
|
}
|
|
75
75
|
: {}),
|
|
76
76
|
},
|
|
77
|
-
|
|
77
|
+
ctxData
|
|
78
78
|
);
|
|
79
79
|
|
|
80
80
|
return {
|
|
@@ -20,10 +20,13 @@ describe('resolveMovieAlternativeTitles >', () => {
|
|
|
20
20
|
const movieId = 1891;
|
|
21
21
|
|
|
22
22
|
const context = {
|
|
23
|
+
data: {
|
|
24
|
+
requestID: 'mockRequestID',
|
|
25
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
26
|
+
},
|
|
23
27
|
logger: createMockLogger(jest.fn),
|
|
24
28
|
restClient: createRestClient(),
|
|
25
29
|
setCacheMetadata: jest.fn(),
|
|
26
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
27
30
|
} as unknown as Context;
|
|
28
31
|
|
|
29
32
|
const info = { fieldName: ALTERNATIVE_TITLES } as GraphQLResolveInfo;
|
|
@@ -16,7 +16,7 @@ export const resolveMovieAlternativeTitles = buildObjArgsResolver<
|
|
|
16
16
|
RawMovieAlternativeTitles['titles']
|
|
17
17
|
>(MOVIE, async (obj, args, ctx, info) => {
|
|
18
18
|
const { country } = args;
|
|
19
|
-
const {
|
|
19
|
+
const { data: ctxData, logger, restClient } = ctx;
|
|
20
20
|
const { fieldNodes } = info;
|
|
21
21
|
|
|
22
22
|
if (!obj) {
|
|
@@ -28,6 +28,7 @@ export const resolveMovieAlternativeTitles = buildObjArgsResolver<
|
|
|
28
28
|
if (isRawMovieWithAlternativeTitles(obj)) {
|
|
29
29
|
return {
|
|
30
30
|
data: obj.alternative_titles?.titles,
|
|
31
|
+
headers: obj.__headers,
|
|
31
32
|
source: 'parentNode',
|
|
32
33
|
};
|
|
33
34
|
}
|
|
@@ -37,7 +38,7 @@ export const resolveMovieAlternativeTitles = buildObjArgsResolver<
|
|
|
37
38
|
pathTemplateData: { id: obj.id, type: snakeCase(ALTERNATIVE_TITLES) },
|
|
38
39
|
queryParams: { country },
|
|
39
40
|
},
|
|
40
|
-
|
|
41
|
+
ctxData
|
|
41
42
|
);
|
|
42
43
|
|
|
43
44
|
return {
|
|
@@ -19,10 +19,13 @@ describe('resolveMovieCredits >', () => {
|
|
|
19
19
|
const movieId = 1891;
|
|
20
20
|
|
|
21
21
|
const context = {
|
|
22
|
+
data: {
|
|
23
|
+
requestID: 'mockRequestID',
|
|
24
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
25
|
+
},
|
|
22
26
|
logger: createMockLogger(jest.fn),
|
|
23
27
|
restClient: createRestClient(),
|
|
24
28
|
setCacheMetadata: jest.fn(),
|
|
25
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
26
29
|
} as unknown as Context;
|
|
27
30
|
|
|
28
31
|
beforeEach(() => {
|
|
@@ -10,7 +10,7 @@ export const resolveMovieCredits = buildObjResolver<
|
|
|
10
10
|
RawMovie | (RawMovieWithAppendToResponse & { __headers?: Headers }),
|
|
11
11
|
RawMovieCredits['cast'] | RawMovieCredits['crew']
|
|
12
12
|
>(MOVIE, async (obj, ctx, info) => {
|
|
13
|
-
const {
|
|
13
|
+
const { data: ctxData, restClient } = ctx;
|
|
14
14
|
const { fieldName } = info;
|
|
15
15
|
const typedFieldName = fieldName as 'cast' | 'crew';
|
|
16
16
|
|
|
@@ -26,7 +26,7 @@ export const resolveMovieCredits = buildObjResolver<
|
|
|
26
26
|
{
|
|
27
27
|
pathTemplateData: { id: obj.id, type: CREDITS },
|
|
28
28
|
},
|
|
29
|
-
|
|
29
|
+
ctxData
|
|
30
30
|
);
|
|
31
31
|
|
|
32
32
|
return {
|
|
@@ -19,10 +19,13 @@ describe('resolveMovieExternalIds >', () => {
|
|
|
19
19
|
const movieId = 1891;
|
|
20
20
|
|
|
21
21
|
const context = {
|
|
22
|
+
data: {
|
|
23
|
+
requestID: 'mockRequestID',
|
|
24
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
25
|
+
},
|
|
22
26
|
logger: createMockLogger(jest.fn),
|
|
23
27
|
restClient: createRestClient(),
|
|
24
28
|
setCacheMetadata: jest.fn(),
|
|
25
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
26
29
|
} as unknown as Context;
|
|
27
30
|
|
|
28
31
|
const info = { fieldName: EXTERNAL_IDS } as GraphQLResolveInfo;
|
|
@@ -12,7 +12,7 @@ export const resolveMovieExternalIds = buildObjResolver<
|
|
|
12
12
|
RawMovie | (RawMovieWithAppendToResponse & { __headers?: Headers }),
|
|
13
13
|
Except<RawMovieExternalIds, 'id'>
|
|
14
14
|
>(MOVIE, async (obj, ctx) => {
|
|
15
|
-
const {
|
|
15
|
+
const { data: ctxData, restClient } = ctx;
|
|
16
16
|
|
|
17
17
|
if (isRawMovieWithExternalIds(obj)) {
|
|
18
18
|
return {
|
|
@@ -26,7 +26,7 @@ export const resolveMovieExternalIds = buildObjResolver<
|
|
|
26
26
|
{
|
|
27
27
|
pathTemplateData: { id: obj.id, type: snakeCase(EXTERNAL_IDS) },
|
|
28
28
|
},
|
|
29
|
-
|
|
29
|
+
ctxData
|
|
30
30
|
);
|
|
31
31
|
|
|
32
32
|
const { id: movieId, ...rest } = data!;
|
|
@@ -19,10 +19,13 @@ describe('resolveMovieImages >', () => {
|
|
|
19
19
|
const movieId = 1891;
|
|
20
20
|
|
|
21
21
|
const context = {
|
|
22
|
+
data: {
|
|
23
|
+
requestID: 'mockRequestID',
|
|
24
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
25
|
+
},
|
|
22
26
|
logger: createMockLogger(jest.fn),
|
|
23
27
|
restClient: createRestClient(),
|
|
24
28
|
setCacheMetadata: jest.fn(),
|
|
25
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
26
29
|
} as unknown as Context;
|
|
27
30
|
|
|
28
31
|
beforeEach(() => {
|
|
@@ -10,7 +10,7 @@ export const resolveMovieImages = buildObjResolver<
|
|
|
10
10
|
RawMovie | (RawMovieWithAppendToResponse & { __headers?: Headers }),
|
|
11
11
|
RawMovieImages['backdrops'] | RawMovieImages['logos'] | RawMovieImages['posters']
|
|
12
12
|
>(MOVIE, async (obj, ctx, info) => {
|
|
13
|
-
const {
|
|
13
|
+
const { data: ctxData, restClient } = ctx;
|
|
14
14
|
const { fieldName } = info;
|
|
15
15
|
const typedFieldName = fieldName as 'backdrops' | 'logos' | 'posters';
|
|
16
16
|
|
|
@@ -26,7 +26,7 @@ export const resolveMovieImages = buildObjResolver<
|
|
|
26
26
|
{
|
|
27
27
|
pathTemplateData: { id: obj.id, type: IMAGES },
|
|
28
28
|
},
|
|
29
|
-
|
|
29
|
+
ctxData
|
|
30
30
|
);
|
|
31
31
|
|
|
32
32
|
return {
|
|
@@ -19,10 +19,13 @@ describe('resolveMovieKeywords >', () => {
|
|
|
19
19
|
const movieId = 1891;
|
|
20
20
|
|
|
21
21
|
const context = {
|
|
22
|
+
data: {
|
|
23
|
+
requestID: 'mockRequestID',
|
|
24
|
+
tmdbGuestSessionId: 'mockTmdbGuestSessionId',
|
|
25
|
+
},
|
|
22
26
|
logger: createMockLogger(jest.fn),
|
|
23
27
|
restClient: createRestClient(),
|
|
24
28
|
setCacheMetadata: jest.fn(),
|
|
25
|
-
tmdbGuestSessionId: 'mock-tmdbGuestSessionId',
|
|
26
29
|
} as unknown as Context;
|
|
27
30
|
|
|
28
31
|
const info = { fieldName: KEYWORDS } as GraphQLResolveInfo;
|
|
@@ -10,7 +10,7 @@ export const resolveMovieKeywords = buildObjResolver<
|
|
|
10
10
|
RawMovie | (RawMovieWithAppendToResponse & { __headers?: Headers }),
|
|
11
11
|
RawMovieKeywords['keywords']
|
|
12
12
|
>(MOVIE, async (obj, ctx) => {
|
|
13
|
-
const {
|
|
13
|
+
const { data: ctxData, restClient } = ctx;
|
|
14
14
|
|
|
15
15
|
if (isRawMovieWithKeywords(obj)) {
|
|
16
16
|
return {
|
|
@@ -24,7 +24,7 @@ export const resolveMovieKeywords = buildObjResolver<
|
|
|
24
24
|
{
|
|
25
25
|
pathTemplateData: { id: obj.id, type: KEYWORDS },
|
|
26
26
|
},
|
|
27
|
-
|
|
27
|
+
ctxData
|
|
28
28
|
);
|
|
29
29
|
|
|
30
30
|
return {
|