@gzl10/nexus-sdk 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.d.ts +13 -5
  2. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Knex } from 'knex';
2
- import { RequestHandler, Router } from 'express';
2
+ import { Request, RequestHandler, Router } from 'express';
3
3
  export { CookieOptions, NextFunction, Request, RequestHandler, Response, Router } from 'express';
4
4
  import { Logger } from 'pino';
5
5
 
@@ -11,6 +11,14 @@ import { Logger } from 'pino';
11
11
  * depending on the full @gzl10/nexus-backend package.
12
12
  */
13
13
 
14
+ /**
15
+ * Request autenticado con usuario y abilities CASL
16
+ * El backend especializa TUser y TAbility con tipos concretos
17
+ */
18
+ interface AuthRequest<TUser = unknown, TAbility = unknown> extends Request {
19
+ user: TUser;
20
+ ability: TAbility;
21
+ }
14
22
  /**
15
23
  * Tipo de campo para formularios dinámicos
16
24
  */
@@ -153,9 +161,9 @@ interface ModuleManifest {
153
161
  routes?: (ctx: ModuleContext) => Router;
154
162
  /** Prefijo de rutas (default: /{name}) */
155
163
  routePrefix?: string;
156
- /** Subjects CASL que expone el módulo */
157
- subjects?: string[];
158
- /** Entidades/tablas del módulo con config CRUD para UI */
164
+ /** Subjects CASL adicionales (sin entity). Los subjects de entities se infieren automáticamente */
165
+ additionalSubjects?: string[];
166
+ /** Entidades/tablas del módulo con config CRUD para UI. Sus `name` se registran como subjects CASL */
159
167
  entities?: ModuleEntity[];
160
168
  }
161
169
  /**
@@ -184,4 +192,4 @@ interface PluginManifest {
184
192
  modules: ModuleManifest[];
185
193
  }
186
194
 
187
- export type { FieldValidation, FormField, FormFieldType, ListType, MigrationHelpers, ModuleContext, ModuleEntity, ModuleManifest, ModuleMiddlewares, ModuleRequirements, PluginCategory, PluginManifest };
195
+ export type { AuthRequest, FieldValidation, FormField, FormFieldType, ListType, MigrationHelpers, ModuleContext, ModuleEntity, ModuleManifest, ModuleMiddlewares, ModuleRequirements, PluginCategory, PluginManifest };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gzl10/nexus-sdk",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "SDK types for creating Nexus plugins and modules",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",