Initial LisgloSIPS V2 implementation

This commit is contained in:
hectorzhao
2026-06-22 10:56:38 +08:00
commit 5fa1bd35e9
303 changed files with 35644 additions and 0 deletions
@@ -0,0 +1,45 @@
import { Body, Controller, Delete, Get, Inject, Param, Patch, Post } from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import { AuditAction } from '../audit/audit.metadata.js';
import { CurrentUserParam, RequirePermissions, type CurrentUser } from '../security/security.metadata.js';
import { CustomerGatewayPoliciesService } from './customer-gateway-policies.service.js';
@ApiTags('customer-gateway-policies')
@Controller()
export class CustomerGatewayPoliciesController {
constructor(@Inject(CustomerGatewayPoliciesService) private readonly policiesService: CustomerGatewayPoliciesService) {}
@Get('customer-gateways/:id/policies')
@RequirePermissions('customer_gateways.view')
list(@Param('id') gatewayId: string) {
return this.policiesService.list(gatewayId);
}
@Post('customer-gateways/:id/policies')
@RequirePermissions('customer_gateways.manage')
@AuditAction({ module: 'customer_gateways', action: 'policy_create', objectType: 'customer_gateway', objectIdParam: 'id' })
create(@Param('id') gatewayId: string, @Body() body: unknown, @CurrentUserParam() currentUser?: CurrentUser) {
return this.policiesService.create(gatewayId, body as never, currentUser?.id);
}
@Patch('customer-gateway-policies/:id')
@RequirePermissions('customer_gateways.manage')
@AuditAction({ module: 'customer_gateways', action: 'policy_update', objectType: 'customer_gateway_policy', objectIdParam: 'id' })
update(@Param('id') policyId: string, @Body() body: unknown, @CurrentUserParam() currentUser?: CurrentUser) {
return this.policiesService.update(policyId, body as never, currentUser?.id);
}
@Delete('customer-gateway-policies/:id')
@RequirePermissions('customer_gateways.manage')
@AuditAction({ module: 'customer_gateways', action: 'policy_delete', objectType: 'customer_gateway_policy', objectIdParam: 'id' })
remove(@Param('id') policyId: string, @CurrentUserParam() currentUser?: CurrentUser) {
return this.policiesService.remove(policyId, currentUser?.id);
}
@Post('customer-gateways/:id/policies/reorder')
@RequirePermissions('customer_gateways.manage')
@AuditAction({ module: 'customer_gateways', action: 'policy_reorder', objectType: 'customer_gateway', objectIdParam: 'id' })
reorder(@Param('id') gatewayId: string, @Body() body: unknown, @CurrentUserParam() currentUser?: CurrentUser) {
return this.policiesService.reorder(gatewayId, body as never, currentUser?.id);
}
}