foalts2-cli
Version:
CLI tool for FoalTS
133 lines (109 loc) • 5.44 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 { getRepository } from 'typeorm';
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 getRepository(/* 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 getRepository(/* upperFirstCamelName */).findOne(ctx.request.params./* camelName */Id);
if (!/* camelName */) {
return new HttpResponseNotFound();
}
return new HttpResponseOK(/* camelName */);
}
async create/* upperFirstCamelName */(ctx: Context) {
const /* camelName */ = await getRepository(/* upperFirstCamelName */).save(ctx.request.body);
return new HttpResponseCreated(/* camelName */);
}
async modify/* upperFirstCamelName */(ctx: Context) {
const /* camelName */ = await getRepository(/* upperFirstCamelName */).findOne(ctx.request.params./* camelName */Id);
if (!/* camelName */) {
return new HttpResponseNotFound();
}
Object.assign(/* camelName */, ctx.request.body);
await getRepository(/* upperFirstCamelName */).save(/* camelName */);
return new HttpResponseOK(/* camelName */);
}
async replace/* upperFirstCamelName */(ctx: Context) {
const /* camelName */ = await getRepository(/* upperFirstCamelName */).findOne(ctx.request.params./* camelName */Id);
if (!/* camelName */) {
return new HttpResponseNotFound();
}
Object.assign(/* camelName */, ctx.request.body);
await getRepository(/* upperFirstCamelName */).save(/* camelName */);
return new HttpResponseOK(/* camelName */);
}
async delete/* upperFirstCamelName */(ctx: Context) {
const /* camelName */ = await getRepository(/* upperFirstCamelName */).findOne(ctx.request.params./* camelName */Id);
if (!/* camelName */) {
return new HttpResponseNotFound();
}
await getRepository(/* upperFirstCamelName */).delete(ctx.request.params./* camelName */Id);
return new HttpResponseNoContent();
}
}