@foal/cli
Version:
CLI tool for FoalTS
132 lines (108 loc) • 5.32 kB
text/typescript
import {
ApiOperationDescription, ApiOperationId, ApiOperationSummary, ApiResponse,
ApiUseTag, Context, Delete, Get, HttpResponseCreated,
HttpResponseNoContent, HttpResponseNotFound, HttpResponseOK, Patch, Post,
Put, ValidateBody, ValidatePathParam, ValidateQueryParam
} from '@foal/core';
import { /* upperFirstCamelName */ } from '/* entitiesPath */';
const /* camelName */Schema = {
additionalProperties: false,
properties: {
text: { type: 'string', maxLength: 255 },
},
required: [ 'text' ],
type: 'object',
};
export class /* upperFirstCamelName */Controller {
async find/* upperFirstCamelName */s(ctx: Context) {
const /* camelName */s = await /* upperFirstCamelName */.find({
skip: ctx.request.query.skip,
take: ctx.request.query.take,
where: {},
});
return new HttpResponseOK(/* camelName */s);
}
async find/* upperFirstCamelName */ById(ctx: Context) {
const /* camelName */ = await /* upperFirstCamelName */.findOneBy({ id: ctx.request.params./* camelName */Id });
if (!/* camelName */) {
return new HttpResponseNotFound();
}
return new HttpResponseOK(/* camelName */);
}
async create/* upperFirstCamelName */(ctx: Context) {
const /* camelName */ = await /* upperFirstCamelName */.save(ctx.request.body);
return new HttpResponseCreated(/* camelName */);
}
async modify/* upperFirstCamelName */(ctx: Context) {
const /* camelName */ = await /* upperFirstCamelName */.findOneBy({ id: ctx.request.params./* camelName */Id });
if (!/* camelName */) {
return new HttpResponseNotFound();
}
Object.assign(/* camelName */, ctx.request.body);
await /* upperFirstCamelName */.save(/* camelName */);
return new HttpResponseOK(/* camelName */);
}
async replace/* upperFirstCamelName */(ctx: Context) {
const /* camelName */ = await /* upperFirstCamelName */.findOneBy({ id: ctx.request.params./* camelName */Id });
if (!/* camelName */) {
return new HttpResponseNotFound();
}
Object.assign(/* camelName */, ctx.request.body);
await /* upperFirstCamelName */.save(/* camelName */);
return new HttpResponseOK(/* camelName */);
}
async delete/* upperFirstCamelName */(ctx: Context) {
const /* camelName */ = await /* upperFirstCamelName */.findOneBy({ id: ctx.request.params./* camelName */Id });
if (!/* camelName */) {
return new HttpResponseNotFound();
}
await /* upperFirstCamelName */.delete({ id: ctx.request.params./* camelName */Id });
return new HttpResponseNoContent();
}
}