import { AxiosInstance } from 'axios'; import { BaseRequestModel } from './models'; import { PersonWithRelations } from './person'; import { UserWithRelations } from './user'; import { BaseRequestModelInterface } from './interfaces'; import { belongsTo } from './decorators'; import { CreditData, UserData, PersonData } from '../types'; @belongsTo({ urlPath: 'person', classProp: 'person' }) @belongsTo({ urlPath: 'user', classProp: 'user' }) export class Credit extends BaseRequestModel implements BaseRequestModelInterface { constructor(api: AxiosInstance) { super(api, '/credits'); } } export interface CreditRelations { person?: PersonWithRelations; user?: UserWithRelations; } export type CreditWithRelations = Credit & CreditRelations;