Browse Source

Clean up request API

dev
David Ludwig 4 years ago
parent
commit
568bb0ae59
2 changed files with 24 additions and 12 deletions
  1. +1
    -2
      api/request/package.json
  2. +23
    -10
      api/request/src/schema.ts

+ 1
- 2
api/request/package.json View File

@ -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"
}
}

+ 23
- 10
api/request/src/schema.ts View File

@ -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<T> extends IApiResponse {
data: T
}
/**
* A generic data response conatining paginated results
*/
export type IPaginatedResponse<T> = 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<T> {
page: number,
results: T[]
totalPages: number,
totalResults: number
}

Loading…
Cancel
Save