import { BaseModel } from './base'; import { RequestApi } from '../requests'; import { Store } from './store'; import { ApiKeys, CreditData, PersonData, UserData } from '../types'; import { Keys } from './entities'; import { belongsTo, BelongsTo } from './belongs-to'; @belongsTo({ relationKey: 'person', foreignKey: 'personId', storeKey: Keys.persons, }) @belongsTo({ relationKey: 'user', foreignKey: 'userId', storeKey: Keys.users, }) export class CreditModel extends BaseModel { constructor(requestApi: RequestApi, store: Store) { super(requestApi[ApiKeys.CREDITS], Keys.credits, store); } } type CreditRelations = { person: BelongsTo; user: BelongsTo; }; export type CreditType = CreditModel & CreditRelations;