json-api-nestjs
Version:
JsonApi Plugin for NestJs
23 lines (22 loc) • 1.59 kB
TypeScript
import { EntityRelation, ResourceObject, ResourceObjectRelationships } from '../../../utils/nestjs-shared';
import { ORM_SERVICE_PROPS } from '../../../constants';
import { MethodName } from '../types';
import { ObjectLiteral } from '../../../types';
import { PatchData, PatchRelationshipData, PostData, PostRelationshipData, Query, QueryOne } from '../zod';
import { OrmService } from '../types';
type RequestMethodeObject<E extends ObjectLiteral> = {
[K in MethodName]: OrmService<E>[K];
};
export declare class JsonBaseController<E extends ObjectLiteral> implements RequestMethodeObject<E> {
private [ORM_SERVICE_PROPS];
getOne(id: string | number, query: QueryOne<E>): Promise<ResourceObject<E>>;
getAll(query: Query<E>): Promise<ResourceObject<E, 'array'>>;
deleteOne(id: string | number): Promise<void>;
patchOne(id: string | number, inputData: PatchData<E>): Promise<ResourceObject<E>>;
postOne(inputData: PostData<E>): Promise<ResourceObject<E>>;
getRelationship<Rel extends EntityRelation<E>>(id: string | number, relName: Rel): Promise<ResourceObjectRelationships<E, Rel>>;
postRelationship<Rel extends EntityRelation<E>>(id: string | number, relName: Rel, input: PostRelationshipData): Promise<ResourceObjectRelationships<E, Rel>>;
deleteRelationship<Rel extends EntityRelation<E>>(id: string | number, relName: Rel, input: PostRelationshipData): Promise<void>;
patchRelationship<Rel extends EntityRelation<E>>(id: string | number, relName: Rel, input: PatchRelationshipData): Promise<ResourceObjectRelationships<E, Rel>>;
}
export {};