diff --git a/api/request/package.json b/api/request/package.json index a2a9604..694e254 100644 --- a/api/request/package.json +++ b/api/request/package.json @@ -9,13 +9,12 @@ "clean": "rimraf ./dist" }, "devDependencies": { + "@autoplex-api/search": "^0.0.0", "@types/node": "^15.0.1", "rimraf": "^3.0.2", "typescript": "^4.2.4" }, "dependencies": { - "@autoplex-api/search": "^0.0.0", - "@autoplex/ipc": "^0.0.0", "@autoplex/microservice": "^0.0.0" } } diff --git a/api/request/src/schema.ts b/api/request/src/schema.ts index 93447ee..e0f187c 100644 --- a/api/request/src/schema.ts +++ b/api/request/src/schema.ts @@ -1,4 +1,4 @@ -import { +import type { IMovie as IMovieBase, IMovieDetails as IMovieDetailsBase } from "@autoplex-api/search"; @@ -16,14 +16,15 @@ export interface IUser { * The JWT auth token structure */ export interface ITokenSchema extends IUser { - iat : number, - exp : number + iat: number, + exp: number } /** * The general API response structure */ export interface IApiResponse { + errors?: any[] status: string } @@ -34,13 +35,32 @@ export interface IApiDataResponse extends IApiResponse { data: T } +/** + * A generic data response conatining paginated results + */ +export type IPaginatedResponse = IApiDataResponse<{ + page: number, + results: T[] + totalPages: number, + totalResults: number +}>; + +/** + * Movie request information schema + */ interface IMovieRequestInfo { plexLink: string | null, ticketId: number | null } +/** + * General movie information schema + */ export interface IMovie extends IMovieBase, IMovieRequestInfo {} +/** + * Detailed movie information schema + */ export interface IMovieDetails extends IMovieDetailsBase, IMovieRequestInfo { requestedBy: null | { id : number, @@ -48,10 +68,3 @@ export interface IMovieDetails extends IMovieDetailsBase, IMovieRequestInfo { name : string } } - -export interface IPaginatedResponse { - page: number, - results: T[] - totalPages: number, - totalResults: number -}