crud static method
Standard ERP REST endpoints for a CRUD entity.
Implementation
static NiceApiContract crud(String module, String entity, String baseUrl) {
return NiceApiContract(
module: module,
version: '1.0.0',
baseUrl: baseUrl,
endpoints: [
NiceApiEndpoint(
method: 'GET',
path: '/api/$entity',
description: 'List $entity with pagination, filtering, sorting',
responseType: 'ErpResponse<List<$entity>>',
requiredPermissions: ['$entity.read'],
),
NiceApiEndpoint(
method: 'GET',
path: '/api/$entity/{id}',
description: 'Get single $entity by ID',
responseType: 'ErpResponse<$entity>',
requiredPermissions: ['$entity.read'],
),
NiceApiEndpoint(
method: 'POST',
path: '/api/$entity',
description: 'Create new $entity',
requestType: entity,
responseType: 'ErpResponse<$entity>',
requiredPermissions: ['$entity.create'],
),
NiceApiEndpoint(
method: 'PUT',
path: '/api/$entity/{id}',
description: 'Update $entity',
requestType: entity,
responseType: 'ErpResponse<$entity>',
requiredPermissions: ['$entity.update'],
),
NiceApiEndpoint(
method: 'DELETE',
path: '/api/$entity/{id}',
description: 'Delete $entity',
responseType: 'ErpResponse<void>',
requiredPermissions: ['$entity.delete'],
),
NiceApiEndpoint(
method: 'POST',
path: '/api/$entity/batch-delete',
description: 'Batch delete $entity',
requestType: 'List<String>',
responseType: 'ErpResponse<void>',
requiredPermissions: ['$entity.delete'],
),
],
);
}