import "reflect-metadata"; import { BaseApiRoute, QContext, ApiMethod, Context, CBody, Query } from "../base"; import * as t from "./types-clients"; export class Clients extends BaseApiRoute { @ApiMethod() getClients(query: t.GetClientsQuery, @Context() ctx: QContext = {}) { ctx.query = query; return this.queryRunner<{}, t.ClientListItem[]>(ctx); } @ApiMethod() getClient(query: t.GetClientQuery, @Context() ctx: QContext = {}) { ctx.query = query; return this.queryRunner<{}, t.Client[]>(ctx); } @ApiMethod() createClient(@CBody() body: t.CreateClientBody, @Context() ctx: QContext = {}) { return this.queryRunner(ctx); } @ApiMethod() createClients(@CBody() body: t.CreateClientBody[], @Context() ctx: QContext = {}) { return this.queryRunner(ctx); } @ApiMethod() updateClient(@CBody() body: t.UpdateClientBody, @Context() ctx: QContext = {}) { return this.queryRunner(ctx); } @ApiMethod() removeClient(@CBody() body: t.RemoveClientBody, @Context() ctx: QContext = {}) { return this.queryRunner(ctx); } @ApiMethod() removeClients(@CBody() body: t.RemoveClientsBody, @Context() ctx: QContext = {}) { return this.queryRunner(ctx); } }