mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 10:31:15 +00:00
refactor(core): Mark all backend Enterprise Edition files and dirs (#12350)
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
import { VariableListRequestDto } from '@n8n/api-types';
|
||||
|
||||
import { Delete, Get, GlobalScope, Licensed, Patch, Post, RestController } from '@/decorators';
|
||||
import { Query } from '@/decorators/args';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
import { NotFoundError } from '@/errors/response-errors/not-found.error';
|
||||
import { VariableCountLimitReachedError } from '@/errors/variable-count-limit-reached.error';
|
||||
import { VariableValidationError } from '@/errors/variable-validation.error';
|
||||
import { VariablesRequest } from '@/requests';
|
||||
|
||||
import { VariablesService } from './variables.service.ee';
|
||||
|
||||
@RestController('/variables')
|
||||
export class VariablesController {
|
||||
constructor(private readonly variablesService: VariablesService) {}
|
||||
|
||||
@Get('/')
|
||||
@GlobalScope('variable:list')
|
||||
async getVariables(_req: unknown, _res: unknown, @Query query: VariableListRequestDto) {
|
||||
return await this.variablesService.getAllCached(query.state);
|
||||
}
|
||||
|
||||
@Post('/')
|
||||
@Licensed('feat:variables')
|
||||
@GlobalScope('variable:create')
|
||||
async createVariable(req: VariablesRequest.Create) {
|
||||
const variable = req.body;
|
||||
delete variable.id;
|
||||
try {
|
||||
return await this.variablesService.create(variable);
|
||||
} catch (error) {
|
||||
if (error instanceof VariableCountLimitReachedError) {
|
||||
throw new BadRequestError(error.message);
|
||||
} else if (error instanceof VariableValidationError) {
|
||||
throw new BadRequestError(error.message);
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
@Get('/:id')
|
||||
@GlobalScope('variable:read')
|
||||
async getVariable(req: VariablesRequest.Get) {
|
||||
const id = req.params.id;
|
||||
const variable = await this.variablesService.getCached(id);
|
||||
if (variable === null) {
|
||||
throw new NotFoundError(`Variable with id ${req.params.id} not found`);
|
||||
}
|
||||
return variable;
|
||||
}
|
||||
|
||||
@Patch('/:id')
|
||||
@Licensed('feat:variables')
|
||||
@GlobalScope('variable:update')
|
||||
async updateVariable(req: VariablesRequest.Update) {
|
||||
const id = req.params.id;
|
||||
const variable = req.body;
|
||||
delete variable.id;
|
||||
try {
|
||||
return await this.variablesService.update(id, variable);
|
||||
} catch (error) {
|
||||
if (error instanceof VariableCountLimitReachedError) {
|
||||
throw new BadRequestError(error.message);
|
||||
} else if (error instanceof VariableValidationError) {
|
||||
throw new BadRequestError(error.message);
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
@Delete('/:id(\\w+)')
|
||||
@GlobalScope('variable:delete')
|
||||
async deleteVariable(req: VariablesRequest.Delete) {
|
||||
const id = req.params.id;
|
||||
await this.variablesService.delete(id);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user