@venizia/ignis-docs 0.0.6-3 → 0.0.7-0
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.
- package/README.md +125 -388
- package/dist/mcp-server/common/config.d.ts +0 -21
- package/dist/mcp-server/common/config.d.ts.map +1 -1
- package/dist/mcp-server/common/config.js +1 -36
- package/dist/mcp-server/common/config.js.map +1 -1
- package/dist/mcp-server/helpers/docs.helper.d.ts +0 -24
- package/dist/mcp-server/helpers/docs.helper.d.ts.map +1 -1
- package/dist/mcp-server/helpers/docs.helper.js +0 -25
- package/dist/mcp-server/helpers/docs.helper.js.map +1 -1
- package/dist/mcp-server/helpers/github.helper.d.ts +0 -13
- package/dist/mcp-server/helpers/github.helper.d.ts.map +1 -1
- package/dist/mcp-server/helpers/github.helper.js +3 -20
- package/dist/mcp-server/helpers/github.helper.js.map +1 -1
- package/dist/mcp-server/index.js +0 -20
- package/dist/mcp-server/index.js.map +1 -1
- package/dist/mcp-server/tools/base.tool.d.ts +2 -79
- package/dist/mcp-server/tools/base.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/base.tool.js +1 -38
- package/dist/mcp-server/tools/base.tool.js.map +1 -1
- package/dist/mcp-server/tools/docs/get-document-content.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/docs/get-document-content.tool.js +0 -9
- package/dist/mcp-server/tools/docs/get-document-content.tool.js.map +1 -1
- package/dist/mcp-server/tools/docs/get-document-metadata.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/docs/get-document-metadata.tool.js +0 -9
- package/dist/mcp-server/tools/docs/get-document-metadata.tool.js.map +1 -1
- package/dist/mcp-server/tools/docs/get-package-overview.tool.d.ts +0 -6
- package/dist/mcp-server/tools/docs/get-package-overview.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/docs/get-package-overview.tool.js +1 -24
- package/dist/mcp-server/tools/docs/get-package-overview.tool.js.map +1 -1
- package/dist/mcp-server/tools/docs/list-categories.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/docs/list-categories.tool.js +0 -9
- package/dist/mcp-server/tools/docs/list-categories.tool.js.map +1 -1
- package/dist/mcp-server/tools/docs/list-documents.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/docs/list-documents.tool.js +0 -9
- package/dist/mcp-server/tools/docs/list-documents.tool.js.map +1 -1
- package/dist/mcp-server/tools/docs/search-documents.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/docs/search-documents.tool.js +0 -9
- package/dist/mcp-server/tools/docs/search-documents.tool.js.map +1 -1
- package/dist/mcp-server/tools/github/list-project-files.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/github/list-project-files.tool.js +0 -9
- package/dist/mcp-server/tools/github/list-project-files.tool.js.map +1 -1
- package/dist/mcp-server/tools/github/search-code.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/github/search-code.tool.js +1 -13
- package/dist/mcp-server/tools/github/search-code.tool.js.map +1 -1
- package/dist/mcp-server/tools/github/verify-dependencies.tool.d.ts +0 -4
- package/dist/mcp-server/tools/github/verify-dependencies.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/github/verify-dependencies.tool.js +1 -18
- package/dist/mcp-server/tools/github/verify-dependencies.tool.js.map +1 -1
- package/dist/mcp-server/tools/github/view-source-file.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/github/view-source-file.tool.js +0 -9
- package/dist/mcp-server/tools/github/view-source-file.tool.js.map +1 -1
- package/dist/mcp-server/tools/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/index.js +0 -2
- package/dist/mcp-server/tools/index.js.map +1 -1
- package/package.json +1 -1
- package/wiki/best-practices/api-usage-examples.md +7 -5
- package/wiki/best-practices/code-style-standards/advanced-patterns.md +1 -1
- package/wiki/best-practices/code-style-standards/constants-configuration.md +1 -1
- package/wiki/best-practices/code-style-standards/control-flow.md +1 -1
- package/wiki/best-practices/code-style-standards/function-patterns.md +1 -1
- package/wiki/best-practices/common-pitfalls.md +1 -1
- package/wiki/best-practices/data-modeling.md +33 -1
- package/wiki/best-practices/error-handling.md +7 -4
- package/wiki/best-practices/performance-optimization.md +1 -1
- package/wiki/best-practices/security-guidelines.md +5 -4
- package/wiki/guides/core-concepts/components-guide.md +1 -1
- package/wiki/guides/core-concepts/controllers.md +14 -8
- package/wiki/guides/core-concepts/persistent/models.md +32 -0
- package/wiki/guides/core-concepts/services.md +2 -1
- package/wiki/guides/get-started/5-minute-quickstart.md +1 -1
- package/wiki/guides/tutorials/building-a-crud-api.md +2 -1
- package/wiki/guides/tutorials/complete-installation.md +2 -2
- package/wiki/guides/tutorials/ecommerce-api.md +3 -3
- package/wiki/guides/tutorials/realtime-chat.md +7 -6
- package/wiki/index.md +2 -1
- package/wiki/references/base/components.md +2 -1
- package/wiki/references/base/controllers.md +8 -4
- package/wiki/references/base/middlewares.md +2 -1
- package/wiki/references/base/models.md +11 -2
- package/wiki/references/base/services.md +2 -1
- package/wiki/references/components/authentication/api.md +525 -205
- package/wiki/references/components/authentication/errors.md +502 -105
- package/wiki/references/components/authentication/index.md +388 -75
- package/wiki/references/components/authentication/usage.md +426 -264
- package/wiki/references/components/authorization/usage.md +62 -0
- package/wiki/references/components/health-check.md +2 -1
- package/wiki/references/components/socket-io/index.md +9 -4
- package/wiki/references/components/socket-io/usage.md +1 -1
- package/wiki/references/components/static-asset/index.md +3 -5
- package/wiki/references/components/swagger.md +2 -1
- package/wiki/references/configuration/environment-variables.md +2 -1
- package/wiki/references/configuration/index.md +2 -1
- package/wiki/references/helpers/error/index.md +1 -1
- package/wiki/references/helpers/inversion/index.md +1 -1
- package/wiki/references/helpers/redis/index.md +2 -9
- package/wiki/references/quick-reference.md +3 -5
- package/wiki/references/utilities/crypto.md +2 -2
- package/wiki/references/utilities/date.md +5 -5
- package/wiki/references/utilities/index.md +3 -11
- package/wiki/references/utilities/jsx.md +4 -2
- package/wiki/references/utilities/module.md +1 -1
- package/wiki/references/utilities/parse.md +4 -4
- package/wiki/references/utilities/performance.md +2 -2
- package/wiki/references/utilities/promise.md +4 -4
- package/wiki/references/utilities/request.md +2 -2
|
@@ -32,7 +32,7 @@ Fundamental building block wrapping a Drizzle ORM schema.
|
|
|
32
32
|
| **Schema Encapsulation** | Holds Drizzle `pgTable` schema for consistent repository access |
|
|
33
33
|
| **Metadata** | Works with `@model` decorator to mark database entities |
|
|
34
34
|
| **Schema Generation** | Uses `drizzle-zod` to generate Zod schemas (`SELECT`, `CREATE`, `UPDATE`) |
|
|
35
|
-
| **Static Properties** | Supports static `schema`, `relations`, and `
|
|
35
|
+
| **Static Properties** | Supports static `schema`, `relations`, `TABLE_NAME`, and `AUTHORIZATION_SUBJECT` |
|
|
36
36
|
| **Convenience** | Includes `toObject()` and `toJSON()` methods |
|
|
37
37
|
|
|
38
38
|
### The `@model` Decorator
|
|
@@ -49,6 +49,10 @@ The `@model` decorator marks a class as a database entity and configures its beh
|
|
|
49
49
|
settings?: {
|
|
50
50
|
hiddenProperties?: string[], // Properties to exclude from query results
|
|
51
51
|
defaultFilter?: TFilter, // Filter applied to all repository queries
|
|
52
|
+
authorize?: { // Authorization settings
|
|
53
|
+
principal: string, // Authorization subject name
|
|
54
|
+
[extra: string | symbol]: any, // Extensible metadata
|
|
55
|
+
},
|
|
52
56
|
}
|
|
53
57
|
})
|
|
54
58
|
```
|
|
@@ -60,6 +64,8 @@ The `@model` decorator marks a class as a database entity and configures its beh
|
|
|
60
64
|
| `skipMigrate` | `boolean` | Skip this model during schema migrations |
|
|
61
65
|
| `settings.hiddenProperties` | `string[]` | Array of property names to exclude from all repository query results |
|
|
62
66
|
| `settings.defaultFilter` | `TFilter` | Filter automatically applied to all repository queries (see [Default Filter](/references/base/filter-system/default-filter)) |
|
|
67
|
+
| `settings.authorize` | `IModelAuthorizeSettings` | Authorization settings — declares the model's authorization principal (see [Authorization](/references/components/authorization/usage#model-based-resource-references)) |
|
|
68
|
+
| `settings.authorize.principal` | `string` | The authorization subject name for this model. Auto-populates `AUTHORIZATION_SUBJECT` static property |
|
|
63
69
|
|
|
64
70
|
### Hidden Properties
|
|
65
71
|
|
|
@@ -233,6 +239,7 @@ export class User extends BaseEntity<typeof userTable> {
|
|
|
233
239
|
| `schema` | `TTableSchemaWithId` | Drizzle table schema defined with `pgTable()` |
|
|
234
240
|
| `relations` | `TValueOrResolver<Array<TRelationConfig>>` | Relation definitions (can be a function for lazy loading) |
|
|
235
241
|
| `TABLE_NAME` | `string \| undefined` | Optional table name (defaults to class name if not set) |
|
|
242
|
+
| `AUTHORIZATION_SUBJECT` | `string \| undefined` | Authorization principal name. Auto-populated from `@model` settings `authorize.principal` |
|
|
236
243
|
|
|
237
244
|
### IEntity Interface
|
|
238
245
|
|
|
@@ -269,6 +276,7 @@ export class BaseEntity<Schema extends TTableSchemaWithId = TTableSchemaWithId>
|
|
|
269
276
|
static schema: TTableSchemaWithId;
|
|
270
277
|
static relations?: TValueOrResolver<Array<TRelationConfig>>;
|
|
271
278
|
static TABLE_NAME?: string; // Optional, defaults to class name
|
|
279
|
+
static AUTHORIZATION_SUBJECT?: string; // Auto-set by @model decorator from authorize.principal
|
|
272
280
|
|
|
273
281
|
// Static singleton for schemaFactory - shared across all instances
|
|
274
282
|
// Performance optimization: avoids creating new factory per entity
|
|
@@ -902,7 +910,8 @@ console.log(result);
|
|
|
902
910
|
**Use case:** API endpoint that accepts snake_case but works with camelCase internally
|
|
903
911
|
|
|
904
912
|
```typescript
|
|
905
|
-
import { BaseController, controller, snakeToCamel
|
|
913
|
+
import { BaseController, controller, snakeToCamel } from '@venizia/ignis';
|
|
914
|
+
import { HTTP } from '@venizia/ignis-helpers';
|
|
906
915
|
import { z } from '@hono/zod-openapi';
|
|
907
916
|
|
|
908
917
|
const createUserSchema = snakeToCamel({
|
|
@@ -64,7 +64,8 @@ Services are the core of your application's logic. They act as a bridge between
|
|
|
64
64
|
### Example
|
|
65
65
|
|
|
66
66
|
```typescript
|
|
67
|
-
import { BaseService, inject
|
|
67
|
+
import { BaseService, inject } from '@venizia/ignis';
|
|
68
|
+
import { getError } from '@venizia/ignis-helpers';
|
|
68
69
|
import { UserRepository } from '../repositories/user.repository';
|
|
69
70
|
import { TUser } from '../models/entities';
|
|
70
71
|
|