@venizia/ignis-docs 0.2.0 → 0.2.1-1

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 (174) hide show
  1. package/README.md +14 -14
  2. package/content/best-practices/api-usage-examples.md +39 -19
  3. package/content/best-practices/architectural-patterns.md +24 -13
  4. package/content/best-practices/architecture-decisions.md +29 -16
  5. package/content/best-practices/code-style-standards/advanced-patterns.md +43 -31
  6. package/content/best-practices/code-style-standards/constants-configuration.md +19 -4
  7. package/content/best-practices/code-style-standards/control-flow.md +33 -1
  8. package/content/best-practices/code-style-standards/documentation.md +28 -8
  9. package/content/best-practices/code-style-standards/function-patterns.md +15 -4
  10. package/content/best-practices/code-style-standards/index.md +7 -2
  11. package/content/best-practices/code-style-standards/naming-conventions.md +27 -3
  12. package/content/best-practices/code-style-standards/route-definitions.md +9 -5
  13. package/content/best-practices/code-style-standards/tooling.md +14 -1
  14. package/content/best-practices/code-style-standards/type-safety.md +39 -6
  15. package/content/best-practices/common-pitfalls.md +59 -35
  16. package/content/best-practices/contribution-workflow.md +8 -4
  17. package/content/best-practices/data-modeling.md +78 -62
  18. package/content/best-practices/deployment-strategies.md +56 -19
  19. package/content/best-practices/error-handling.md +247 -153
  20. package/content/best-practices/index.md +6 -0
  21. package/content/best-practices/performance-optimization.md +26 -13
  22. package/content/best-practices/security-guidelines.md +35 -9
  23. package/content/best-practices/testing-strategies.md +7 -2
  24. package/content/best-practices/troubleshooting-tips.md +27 -17
  25. package/content/extensions/components/api-reference.md +109 -323
  26. package/content/extensions/components/authentication/api.md +489 -602
  27. package/content/extensions/components/authentication/errors.md +135 -498
  28. package/content/extensions/components/authentication/index.md +89 -801
  29. package/content/extensions/components/authentication/usage.md +231 -955
  30. package/content/extensions/components/authorization/api.md +991 -644
  31. package/content/extensions/components/authorization/errors.md +204 -208
  32. package/content/extensions/components/authorization/getting-started.md +227 -0
  33. package/content/extensions/components/authorization/index.md +88 -795
  34. package/content/extensions/components/authorization/usage.md +219 -528
  35. package/content/extensions/components/health-check.md +77 -243
  36. package/content/extensions/components/index.md +24 -90
  37. package/content/extensions/components/mail/api.md +553 -285
  38. package/content/extensions/components/mail/errors.md +76 -62
  39. package/content/extensions/components/mail/index.md +111 -463
  40. package/content/extensions/components/mail/usage.md +139 -173
  41. package/content/extensions/components/request-tracker.md +70 -173
  42. package/content/extensions/components/socket-io/api.md +462 -785
  43. package/content/extensions/components/socket-io/errors.md +49 -51
  44. package/content/extensions/components/socket-io/index.md +69 -372
  45. package/content/extensions/components/socket-io/usage.md +212 -105
  46. package/content/extensions/components/static-asset/api.md +461 -141
  47. package/content/extensions/components/static-asset/errors.md +121 -53
  48. package/content/extensions/components/static-asset/index.md +84 -606
  49. package/content/extensions/components/static-asset/usage.md +184 -299
  50. package/content/extensions/components/template/index.md +3 -3
  51. package/content/extensions/components/websocket/api.md +311 -404
  52. package/content/extensions/components/websocket/errors.md +47 -56
  53. package/content/extensions/components/websocket/index.md +75 -407
  54. package/content/extensions/components/websocket/usage.md +120 -338
  55. package/content/extensions/helpers/cron/index.md +52 -160
  56. package/content/extensions/helpers/crypto/index.md +67 -480
  57. package/content/extensions/helpers/crypto/reference.md +528 -0
  58. package/content/extensions/helpers/env/index.md +64 -178
  59. package/content/extensions/helpers/error/index.md +286 -196
  60. package/content/extensions/helpers/index.md +61 -47
  61. package/content/extensions/helpers/inversion/index.md +76 -550
  62. package/content/extensions/helpers/inversion/reference.md +530 -0
  63. package/content/extensions/helpers/kafka/admin.md +23 -3
  64. package/content/extensions/helpers/kafka/compile-binary.md +83 -52
  65. package/content/extensions/helpers/kafka/consumer.md +65 -28
  66. package/content/extensions/helpers/kafka/examples.md +46 -253
  67. package/content/extensions/helpers/kafka/index.md +55 -617
  68. package/content/extensions/helpers/kafka/producer.md +156 -22
  69. package/content/extensions/helpers/kafka/schema-registry.md +59 -79
  70. package/content/extensions/helpers/logger/hf-logger.md +220 -0
  71. package/content/extensions/helpers/logger/index.md +78 -552
  72. package/content/extensions/helpers/logger/pino.md +105 -0
  73. package/content/extensions/helpers/logger/reference.md +937 -0
  74. package/content/extensions/helpers/network/api.md +276 -195
  75. package/content/extensions/helpers/network/index.md +87 -524
  76. package/content/extensions/helpers/queue/index.md +80 -897
  77. package/content/extensions/helpers/queue/reference.md +494 -0
  78. package/content/extensions/helpers/redis/index.md +86 -640
  79. package/content/extensions/helpers/redis/reference.md +784 -0
  80. package/content/extensions/helpers/secrets/index.md +136 -0
  81. package/content/extensions/helpers/socket-io/api.md +325 -204
  82. package/content/extensions/helpers/socket-io/index.md +79 -429
  83. package/content/extensions/helpers/storage/api.md +584 -464
  84. package/content/extensions/helpers/storage/index.md +80 -573
  85. package/content/extensions/helpers/types/index.md +75 -495
  86. package/content/extensions/helpers/types/reference.md +689 -0
  87. package/content/extensions/helpers/uid/index.md +176 -189
  88. package/content/extensions/helpers/websocket/api.md +366 -214
  89. package/content/extensions/helpers/websocket/index.md +68 -503
  90. package/content/extensions/helpers/worker-thread/index.md +62 -396
  91. package/content/extensions/helpers/worker-thread/reference.md +428 -0
  92. package/content/extensions/index.md +38 -39
  93. package/content/extensions/src-details/mcp-server.md +96 -548
  94. package/content/guides/core-concepts/persistent/datasources.md +2 -2
  95. package/content/guides/core-concepts/persistent/index.md +5 -1
  96. package/content/guides/core-concepts/persistent/models.md +1 -1
  97. package/content/guides/core-concepts/persistent/pglite.md +218 -0
  98. package/content/guides/core-concepts/persistent/postgres-drivers.md +21 -15
  99. package/content/guides/core-concepts/persistent/search-meilisearch.md +22 -12
  100. package/content/guides/core-concepts/persistent/search-typesense.md +28 -16
  101. package/content/guides/core-concepts/persistent/sqlite.md +296 -0
  102. package/content/guides/core-concepts/persistent/transactions.md +12 -11
  103. package/content/guides/core-concepts/secrets-vault.md +177 -0
  104. package/content/guides/core-concepts/services.md +1 -1
  105. package/content/guides/get-started/5-minute-quickstart.md +59 -206
  106. package/content/guides/get-started/philosophy.md +135 -670
  107. package/content/guides/get-started/setup.md +53 -74
  108. package/content/guides/migrations/redis-helpers-migration.md +5 -4
  109. package/content/guides/migrations/scoped-rbac-migration.md +5 -5
  110. package/content/guides/migrations/unified-connectors-migration.md +8 -7
  111. package/content/guides/tutorials/ecommerce-api.md +3 -8
  112. package/content/guides/tutorials/realtime-chat.md +1 -1
  113. package/content/references/base/application.md +64 -22
  114. package/content/references/base/components.md +3 -3
  115. package/content/references/base/connectors.md +79 -136
  116. package/content/references/base/controllers.md +12 -12
  117. package/content/references/base/datasources-reference.md +600 -0
  118. package/content/references/base/datasources.md +84 -444
  119. package/content/references/base/dependency-injection.md +25 -46
  120. package/content/references/base/filter-system/application-usage.md +95 -123
  121. package/content/references/base/filter-system/array-operators.md +33 -43
  122. package/content/references/base/filter-system/comparison-operators.md +55 -63
  123. package/content/references/base/filter-system/default-filter.md +144 -350
  124. package/content/references/base/filter-system/fields-order-pagination.md +116 -148
  125. package/content/references/base/filter-system/index.md +114 -253
  126. package/content/references/base/filter-system/json-filtering.md +52 -181
  127. package/content/references/base/filter-system/list-operators.md +28 -44
  128. package/content/references/base/filter-system/logical-operators.md +69 -114
  129. package/content/references/base/filter-system/null-operators.md +41 -98
  130. package/content/references/base/filter-system/pattern-matching.md +48 -51
  131. package/content/references/base/filter-system/quick-reference.md +93 -196
  132. package/content/references/base/filter-system/range-operators.md +22 -38
  133. package/content/references/base/filter-system/tips.md +70 -133
  134. package/content/references/base/filter-system/use-cases.md +173 -232
  135. package/content/references/base/grpc-controllers.md +53 -17
  136. package/content/references/base/index.md +5 -3
  137. package/content/references/base/middlewares.md +43 -28
  138. package/content/references/base/models-reference.md +886 -0
  139. package/content/references/base/models.md +81 -1452
  140. package/content/references/base/providers.md +8 -8
  141. package/content/references/base/repositories/advanced.md +281 -419
  142. package/content/references/base/repositories/index.md +84 -644
  143. package/content/references/base/repositories/mixins.md +25 -21
  144. package/content/references/base/repositories/relations.md +194 -375
  145. package/content/references/base/repositories/soft-deletable.md +67 -55
  146. package/content/references/base/secrets.md +267 -0
  147. package/content/references/base/services.md +8 -6
  148. package/content/references/configuration/environment-variables.md +73 -21
  149. package/content/references/configuration/index.md +51 -31
  150. package/content/references/index.md +1 -1
  151. package/content/references/quick-reference.md +3 -16
  152. package/content/references/utilities/crypto.md +35 -76
  153. package/content/references/utilities/date.md +33 -73
  154. package/content/references/utilities/duration.md +85 -0
  155. package/content/references/utilities/index.md +6 -2
  156. package/content/references/utilities/jsx-reference.md +298 -0
  157. package/content/references/utilities/jsx.md +82 -525
  158. package/content/references/utilities/module.md +81 -61
  159. package/content/references/utilities/parse.md +34 -64
  160. package/content/references/utilities/performance.md +33 -58
  161. package/content/references/utilities/promise.md +28 -62
  162. package/content/references/utilities/request.md +58 -218
  163. package/content/references/utilities/retry.md +139 -0
  164. package/content/references/utilities/schema.md +43 -137
  165. package/content/references/utilities/statuses-reference.md +361 -0
  166. package/content/references/utilities/statuses.md +63 -667
  167. package/dist/mcp-server/index.js +0 -0
  168. package/dist/mcp-server/tools/github/list-project-files.tool.d.ts +1 -1
  169. package/dist/mcp-server/tools/github/list-project-files.tool.d.ts.map +1 -1
  170. package/dist/mcp-server/tools/github/list-project-files.tool.js +3 -3
  171. package/dist/mcp-server/tools/github/search-code.tool.js +1 -1
  172. package/dist/mcp-server/tools/github/verify-dependencies.tool.js +1 -1
  173. package/dist/mcp-server/tools/github/view-source-file.tool.js +1 -1
  174. package/package.json +24 -23
@@ -6,113 +6,105 @@ difficulty: intermediate
6
6
 
7
7
  # Comparison Operators
8
8
 
9
- Equality and comparison operators for filtering records.
9
+ Compares a field against a value: equality, inequality, and ordering.
10
10
 
11
+ | Operator | SQL | Meaning |
12
+ |----------|-----|---------|
13
+ | `eq` | `=` / `IS NULL` | Equal to |
14
+ | `ne` | `!=` / `IS NOT NULL` | Not equal to |
15
+ | `neq` | `!=` / `IS NOT NULL` | Alias for `ne` |
16
+ | `gt` | `>` | Greater than |
17
+ | `gte` | `>=` | Greater than or equal |
18
+ | `lt` | `<` | Less than |
19
+ | `lte` | `<=` | Less than or equal |
11
20
 
12
- ## eq - Equal To
13
-
14
- Matches records where field equals the value.
21
+ ## eq
15
22
 
16
23
  ```typescript
17
- // Implicit equality
18
- { where: { status: 'active' } }
19
-
20
- // Explicit form
21
24
  { where: { status: { eq: 'active' } } }
22
-
23
25
  // SQL: WHERE "status" = 'active'
24
26
  ```
25
27
 
26
- **Special Cases:**
27
- ```typescript
28
- // Null equality
29
- { where: { deletedAt: null } }
30
- { where: { deletedAt: { eq: null } } }
31
- // SQL: WHERE "deleted_at" IS NULL
32
-
33
- // Array shorthand (becomes IN)
34
- { where: { id: [1, 2, 3] } }
35
- // SQL: WHERE "id" IN (1, 2, 3)
36
-
37
- // Empty array shorthand
38
- { where: { id: [] } }
39
- // SQL: WHERE false (no results)
40
- ```
41
-
28
+ **Notice:** the bare shorthand `{ status: 'active' }` (no operator key) means the same thing.
42
29
 
43
- ## ne / neq - Not Equal To
30
+ **Edge cases:**
31
+ - `{ eq: null }` compiles to `IS NULL`, never `= NULL`.
32
+ - Bare array `{ field: [1, 2, 3] }` (no operator key) compiles to `IN (1, 2, 3)`.
33
+ - An explicit `{ eq: [1, 2, 3] }` does not become `IN` - it compares the column to an array value.
34
+ - Bare empty array `{ field: [] }` matches no rows (`WHERE false`).
44
35
 
45
- Matches records where field does NOT equal the value. Both `ne` and `neq` are aliases and behave identically.
36
+ ## ne / neq
46
37
 
47
38
  ```typescript
48
39
  { where: { status: { ne: 'deleted' } } }
49
- { where: { status: { neq: 'deleted' } } } // Alias
50
-
51
40
  // SQL: WHERE "status" != 'deleted'
52
-
53
- // Null handling
54
- { where: { deletedAt: { ne: null } } }
55
- { where: { deletedAt: { neq: null } } }
56
- // SQL: WHERE "deleted_at" IS NOT NULL
57
41
  ```
58
42
 
59
- > [!NOTE]
60
- > When compared against a **real value** (not `null`), `ne`/`neq` follow SQL three-valued logic: a row whose field is `NULL` never matches `{ field: { neq: value } }`, because `NULL <> value` evaluates to UNKNOWN rather than TRUE. To include NULL rows, add an explicit branch: `{ or: [{ field: { neq: value } }, { field: null }] }`.
43
+ **Notice:** `ne` and `neq` are the same operator under two names.
61
44
 
45
+ **Edge cases:**
46
+ - `{ ne: null }` compiles to `IS NOT NULL`.
47
+ - SQL three-valued logic applies: a `NULL` field never matches `{ ne: value }`, because `NULL <> value` is UNKNOWN.
48
+ - Add an `or` branch to include NULL rows: `{ or: [{ field: { ne: value } }, { field: null }] }`.
62
49
 
63
- ## gt - Greater Than
50
+ ## gt
64
51
 
65
52
  ```typescript
66
- // Numbers
67
53
  { where: { price: { gt: 100 } } }
68
54
  // SQL: WHERE "price" > 100
69
-
70
- // Dates
71
- { where: { createdAt: { gt: new Date('2024-01-01') } } }
72
- // SQL: WHERE "created_at" > '2024-01-01'
73
-
74
- // Strings (lexicographic)
75
- { where: { name: { gt: 'M' } } }
76
- // SQL: WHERE "name" > 'M'
77
55
  ```
78
56
 
57
+ **Notice:** works on numbers, dates, and strings (lexicographic comparison).
58
+
59
+ **Edge cases:**
60
+ - `{ gt: null }` compiles to `"price" > NULL`, which is never true - no rows match.
61
+ - Use `is`/`exists` instead to check for null.
62
+ - Combine with other operators in the same object: `{ gte: 18, lt: 65 }`.
79
63
 
80
- ## gte - Greater Than or Equal
64
+ ## gte
81
65
 
82
66
  ```typescript
83
67
  { where: { quantity: { gte: 10 } } }
84
68
  // SQL: WHERE "quantity" >= 10
85
-
86
- // Combined with other operators
87
- { where: { age: { gte: 18, lt: 65 } } }
88
- // SQL: WHERE "age" >= 18 AND "age" < 65
89
69
  ```
90
70
 
71
+ **Notice:** inclusive of the boundary value.
72
+
73
+ **Edge cases:**
74
+ - Same null behavior as `gt`: `{ gte: null }` matches no rows.
91
75
 
92
- ## lt - Less Than
76
+ ## lt
93
77
 
94
78
  ```typescript
95
79
  { where: { stock: { lt: 5 } } }
96
80
  // SQL: WHERE "stock" < 5
97
81
  ```
98
82
 
83
+ **Notice:** exclusive of the boundary value.
99
84
 
100
- ## lte - Less Than or Equal
85
+ **Edge cases:**
86
+ - Same null behavior as `gt`: `{ lt: null }` matches no rows.
87
+
88
+ ## lte
101
89
 
102
90
  ```typescript
103
91
  { where: { rating: { lte: 3 } } }
104
92
  // SQL: WHERE "rating" <= 3
105
93
  ```
106
94
 
95
+ **Notice:** inclusive of the boundary value.
107
96
 
108
- ## Summary
97
+ **Edge cases:**
98
+ - Same null behavior as `gt`: `{ lte: null }` matches no rows.
109
99
 
110
- | Operator | SQL | Description |
111
- |----------|-----|-------------|
112
- | `eq` | `=` / `IS NULL` | Equal to (handles null) |
113
- | `ne` | `!=` / `IS NOT NULL` | Not equal to (handles null) |
114
- | `neq` | `!=` / `IS NOT NULL` | Alias for `ne` |
115
- | `gt` | `>` | Greater than |
116
- | `gte` | `>=` | Greater than or equal |
117
- | `lt` | `<` | Less than |
118
- | `lte` | `<=` | Less than or equal |
100
+ ## See also
101
+
102
+ - [Filter System Overview](./) - the `filter` shape and the full `where` operator table
103
+ - [Range Operators](./range-operators) - `between`/`notBetween`, and the `gte`/`lte` equivalent shown above
104
+ - [Quick Reference](./quick-reference) - every operator, one line each
105
+
106
+ **Files:**
107
+
108
+ - [`packages/core-server/src/connectors/postgres/repositories/dialect/query.ts`](https://github.com/VENIZIA-AI/ignis/blob/main/packages/core-server/src/connectors/postgres/repositories/dialect/query.ts) - `PostgresQueryOperators.FNS`, per-operator SQL builders
109
+ - [`packages/core-server/src/connectors/relational/repositories/dialect/filter.ts`](https://github.com/VENIZIA-AI/ignis/blob/main/packages/core-server/src/connectors/relational/repositories/dialect/filter.ts) - `FilterBuilder`, translates `TFilter` to Drizzle/SQL
110
+ - [`packages/filter/src/common/operators.ts`](https://github.com/VENIZIA-AI/ignis/blob/main/packages/filter/src/common/operators.ts) - `QueryOperators` constants