feat: solicitudes de compra como documento de marketing (solicitante, válido hasta, fecha necesaria, proveedor y fecha por línea) y API de usuarios con campos limitados

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-19 14:53:59 -05:00
1 parent a3bd976bbd
commit c1f2cea1e1
19 files changed
+342 -62

No files matched your search

+11
View File
@@ -15,6 +15,11 @@ export interface SlResource {
write: RequiredPath | null;
/** Colecciones permitidas en `$expand` (por defecto ninguna). */
expand?: string[];
/**
* Solo estos campos se pueden pedir (`$select` obligatorio y dentro de la lista): para recursos cuya entidad trae
* más de lo que debe salir (los usuarios de SAP traen contraseña, permisos y actividad).
*/
selectOnly?: readonly string[];
/** Acciones sobre un registro (`POST Entidad(clave)/Accion`) que se pueden invocar, p. ej. `Cancel`. Requieren el permiso de escritura. */
actions?: readonly string[];
}
@@ -83,6 +88,12 @@ export const SL_RESOURCES: readonly SlResource[] = [
// Finanzas: los asientos manuales se crean y se cancelan (`Cancel` genera el asiento de reverso), no se modifican.
{ ...document('JournalEntries', '/finanzas/asientos'), methods: ['GET', 'POST'], actions: ['Cancel'] },
// Solicitante de una solicitud de compra: usuarios, departamentos y sucursales de SAP. Los usuarios solo entregan
// código, nombre, correo, departamento y sucursal (la entidad trae también contraseña y permisos).
{ ...catalog('Users', 'string'), selectOnly: ['UserCode', 'UserName', 'eMail', 'Department', 'Branch'] },
catalog('Departments', 'number'),
catalog('Branches', 'number'),
// Maestros (consulta para cualquier sesión; escritura según el módulo)
catalog('BusinessPartners', 'string', ['/socios/clientes', '/socios/proveedores']),
catalog('Items', 'string', '/inventario/articulos'),