@foal/cli
Version:
CLI tool for FoalTS
149 lines (125 loc) • 5.63 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 */, User } 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<User>) {
const /* camelName */s = await /* upperFirstCamelName */.find({
skip: ctx.request.query.skip,
take: ctx.request.query.take,
where: {
owner: { id: ctx.user.id }
}
});
return new HttpResponseOK(/* camelName */s);
}
async find/* upperFirstCamelName */ById(ctx: Context<User>) {
const /* camelName */ = await /* upperFirstCamelName */.findOneBy({
id: ctx.request.params./* camelName */Id,
owner: { id: ctx.user.id }
});
if (!/* camelName */) {
return new HttpResponseNotFound();
}
return new HttpResponseOK(/* camelName */);
}
async create/* upperFirstCamelName */(ctx: Context<User>) {
const /* camelName */ = await /* upperFirstCamelName */.save({
...ctx.request.body,
owner: { id: ctx.user.id }
});
return new HttpResponseCreated(/* camelName */);
}
async modify/* upperFirstCamelName */(ctx: Context<User>) {
const /* camelName */ = await /* upperFirstCamelName */.findOneBy({
id: ctx.request.params./* camelName */Id,
owner: { id: ctx.user.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<User>) {
const /* camelName */ = await /* upperFirstCamelName */.findOneBy({
id: ctx.request.params./* camelName */Id,
owner: { id: ctx.user.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<User>) {
const /* camelName */ = await /* upperFirstCamelName */.findOneBy({
id: ctx.request.params./* camelName */Id,
owner: { id: ctx.user.id }
});
if (!/* camelName */) {
return new HttpResponseNotFound();
}
await /* upperFirstCamelName */.delete({ id: ctx.request.params./* camelName */Id });
return new HttpResponseNoContent();
}
}