mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-12-20 04:12:23 -06:00
feat(template): add edit/delete endpoints, DTOs and validation"
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
import { RouterBroker } from '@api/abstract/abstract.router';
|
||||
import { InstanceDto } from '@api/dto/instance.dto';
|
||||
import { TemplateDto } from '@api/dto/template.dto';
|
||||
import { TemplateDeleteDto, TemplateDto, TemplateEditDto } from '@api/dto/template.dto';
|
||||
import { templateController } from '@api/server.module';
|
||||
import { ConfigService } from '@config/env.config';
|
||||
import { createMetaErrorResponse } from '@utils/errorResponse';
|
||||
import { templateDeleteSchema } from '@validate/templateDelete.schema';
|
||||
import { templateEditSchema } from '@validate/templateEdit.schema';
|
||||
import { instanceSchema, templateSchema } from '@validate/validate.schema';
|
||||
import { RequestHandler, Router } from 'express';
|
||||
|
||||
@@ -35,6 +37,38 @@ export class TemplateRouter extends RouterBroker {
|
||||
res.status(errorResponse.status).json(errorResponse);
|
||||
}
|
||||
})
|
||||
.post(this.routerPath('edit'), ...guards, async (req, res) => {
|
||||
try {
|
||||
const response = await this.dataValidate<TemplateEditDto>({
|
||||
request: req,
|
||||
schema: templateEditSchema,
|
||||
ClassRef: TemplateEditDto,
|
||||
execute: (instance, data) => templateController.editTemplate(instance, data),
|
||||
});
|
||||
|
||||
res.status(HttpStatus.OK).json(response);
|
||||
} catch (error) {
|
||||
console.error('Template edit error:', error);
|
||||
const errorResponse = createMetaErrorResponse(error, 'template_edit');
|
||||
res.status(errorResponse.status).json(errorResponse);
|
||||
}
|
||||
})
|
||||
.delete(this.routerPath('delete'), ...guards, async (req, res) => {
|
||||
try {
|
||||
const response = await this.dataValidate<TemplateDeleteDto>({
|
||||
request: req,
|
||||
schema: templateDeleteSchema,
|
||||
ClassRef: TemplateDeleteDto,
|
||||
execute: (instance, data) => templateController.deleteTemplate(instance, data),
|
||||
});
|
||||
|
||||
res.status(HttpStatus.OK).json(response);
|
||||
} catch (error) {
|
||||
console.error('Template delete error:', error);
|
||||
const errorResponse = createMetaErrorResponse(error, 'template_delete');
|
||||
res.status(errorResponse.status).json(errorResponse);
|
||||
}
|
||||
})
|
||||
.get(this.routerPath('find'), ...guards, async (req, res) => {
|
||||
try {
|
||||
const response = await this.dataValidate<InstanceDto>({
|
||||
|
||||
Reference in New Issue
Block a user