feat: add number library routing and cdr location support
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import { Body, Controller, Get, Inject, Post, Query } 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 { NumberLibraryService } from './number-library.service.js';
|
||||
|
||||
@ApiTags('number-library')
|
||||
@Controller('number-library')
|
||||
export class NumberLibraryController {
|
||||
constructor(@Inject(NumberLibraryService) private readonly numberLibraryService: NumberLibraryService) {}
|
||||
|
||||
@Get('cities')
|
||||
@RequirePermissions('number_library.view')
|
||||
listCities(@Query() query: unknown) {
|
||||
return this.numberLibraryService.listCities(query as never);
|
||||
}
|
||||
|
||||
@Post('cities/import')
|
||||
@RequirePermissions('number_library.manage')
|
||||
@AuditAction({ module: 'number_library', action: 'import_cities', objectType: 'geo_city' })
|
||||
importCities(@Body() body: unknown, @CurrentUserParam() currentUser?: CurrentUser) {
|
||||
return this.numberLibraryService.importCities(body as never, currentUser?.id);
|
||||
}
|
||||
|
||||
@Get('phone-segments')
|
||||
@RequirePermissions('number_library.view')
|
||||
listPhoneSegments(@Query() query: unknown) {
|
||||
return this.numberLibraryService.listPhoneSegments(query as never);
|
||||
}
|
||||
|
||||
@Post('phone-segments/import')
|
||||
@RequirePermissions('number_library.manage')
|
||||
@AuditAction({ module: 'number_library', action: 'import_phone_segments', objectType: 'phone_number_segment' })
|
||||
importPhoneSegments(@Body() body: unknown, @CurrentUserParam() currentUser?: CurrentUser) {
|
||||
return this.numberLibraryService.importPhoneSegments(body as never, currentUser?.id);
|
||||
}
|
||||
|
||||
@Get('area-codes')
|
||||
@RequirePermissions('number_library.view')
|
||||
listAreaCodes(@Query() query: unknown) {
|
||||
return this.numberLibraryService.listAreaCodes(query as never);
|
||||
}
|
||||
|
||||
@Post('area-codes/import')
|
||||
@RequirePermissions('number_library.manage')
|
||||
@AuditAction({ module: 'number_library', action: 'import_area_codes', objectType: 'phone_area_code' })
|
||||
importAreaCodes(@Body() body: unknown, @CurrentUserParam() currentUser?: CurrentUser) {
|
||||
return this.numberLibraryService.importAreaCodes(body as never, currentUser?.id);
|
||||
}
|
||||
|
||||
@Get('carrier-prefix-rules')
|
||||
@RequirePermissions('number_library.view')
|
||||
listCarrierPrefixRules(@Query() query: unknown) {
|
||||
return this.numberLibraryService.listCarrierPrefixRules(query as never);
|
||||
}
|
||||
|
||||
@Post('carrier-prefix-rules/import')
|
||||
@RequirePermissions('number_library.manage')
|
||||
@AuditAction({ module: 'number_library', action: 'import_carrier_prefix_rules', objectType: 'carrier_prefix_rule' })
|
||||
importCarrierPrefixRules(@Body() body: unknown, @CurrentUserParam() currentUser?: CurrentUser) {
|
||||
return this.numberLibraryService.importCarrierPrefixRules(body as never, currentUser?.id);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user