Skip to content

Commit 91a6725

Browse files
committed
feat(calendar): add hot premieres/finales/new endpoint contracts
Adds `/calendars/releases/hot/{premieres,finales,new}/:start_date/:days` - curated global (hot) feeds per episode status. Shows-only responses (`calendarShowResponseSchema`); no `target`, `type` or `group` (episode statuses are single-type and one-per-show-per-day). Bumps the package to 0.4.26.
1 parent 49896e7 commit 91a6725

2 files changed

Lines changed: 37 additions & 1 deletion

File tree

projects/api/deno.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@trakt/api",
33
"exports": "./src/index.ts",
4-
"version": "0.4.25",
4+
"version": "0.4.26",
55
"imports": {
66
"@anatine/zod-openapi": "npm:@anatine/zod-openapi@^2.2.6",
77
"@std/testing": "jsr:@std/testing@^1.0.5",

projects/api/src/contracts/calendars/index.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,42 @@ Returns the merged feed of upcoming movies and episodes during the requested UTC
155155
200: hotReleaseResponseSchema.array(),
156156
},
157157
},
158+
releasesHotPremieres: {
159+
summary: 'Get hot premieres',
160+
description: `#### ✨ Extended Info 🎚 Filters
161+
Returns upcoming show premieres during the requested UTC date range that are trending or highly anticipated. Curated global feed - daily-cadence formats (soap, talk, news, game shows) and specials are excluded.`,
162+
method: 'GET',
163+
path: '/releases/hot/premieres/:start_date/:days',
164+
query: extendedMediaQuerySchema.merge(mediaFilterParamsSchema),
165+
pathParams: calendarRequestParamsSchema.omit({ target: true }),
166+
responses: {
167+
200: calendarShowResponseSchema.array(),
168+
},
169+
},
170+
releasesHotFinales: {
171+
summary: 'Get hot finales',
172+
description: `#### ✨ Extended Info 🎚 Filters
173+
Returns upcoming show finales during the requested UTC date range that are trending or highly anticipated. Curated global feed - daily-cadence formats (soap, talk, news, game shows) and specials are excluded.`,
174+
method: 'GET',
175+
path: '/releases/hot/finales/:start_date/:days',
176+
query: extendedMediaQuerySchema.merge(mediaFilterParamsSchema),
177+
pathParams: calendarRequestParamsSchema.omit({ target: true }),
178+
responses: {
179+
200: calendarShowResponseSchema.array(),
180+
},
181+
},
182+
releasesHotNew: {
183+
summary: 'Get hot new shows',
184+
description: `#### ✨ Extended Info 🎚 Filters
185+
Returns upcoming series premieres during the requested UTC date range that are trending or highly anticipated. Curated global feed - daily-cadence formats (soap, talk, news, game shows) and specials are excluded.`,
186+
method: 'GET',
187+
path: '/releases/hot/new/:start_date/:days',
188+
query: extendedMediaQuerySchema.merge(mediaFilterParamsSchema),
189+
pathParams: calendarRequestParamsSchema.omit({ target: true }),
190+
responses: {
191+
200: calendarShowResponseSchema.array(),
192+
},
193+
},
158194
}, { pathPrefix: '/calendars' });
159195

160196
export { calendarRequestParamsSchema };

0 commit comments

Comments
 (0)