alepha 0.13.1 → 0.13.2

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 (296) hide show
  1. package/README.md +1 -1
  2. package/dist/api-files/index.d.ts +28 -91
  3. package/dist/api-files/index.js +10 -755
  4. package/dist/api-files/index.js.map +1 -1
  5. package/dist/api-jobs/index.d.ts +46 -46
  6. package/dist/api-jobs/index.js +13 -13
  7. package/dist/api-jobs/index.js.map +1 -1
  8. package/dist/api-notifications/index.d.ts +129 -146
  9. package/dist/api-notifications/index.js +17 -39
  10. package/dist/api-notifications/index.js.map +1 -1
  11. package/dist/api-parameters/index.d.ts +21 -22
  12. package/dist/api-parameters/index.js +22 -22
  13. package/dist/api-parameters/index.js.map +1 -1
  14. package/dist/api-users/index.d.ts +223 -2000
  15. package/dist/api-users/index.js +914 -4787
  16. package/dist/api-users/index.js.map +1 -1
  17. package/dist/api-verifications/index.d.ts +96 -96
  18. package/dist/batch/index.d.ts +13 -13
  19. package/dist/batch/index.js +8 -8
  20. package/dist/batch/index.js.map +1 -1
  21. package/dist/bucket/index.d.ts +14 -14
  22. package/dist/bucket/index.js +12 -12
  23. package/dist/bucket/index.js.map +1 -1
  24. package/dist/cache/index.d.ts +11 -11
  25. package/dist/cache/index.js +9 -9
  26. package/dist/cache/index.js.map +1 -1
  27. package/dist/cli/index.d.ts +28 -26
  28. package/dist/cli/index.js +50 -13
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/command/index.d.ts +19 -19
  31. package/dist/command/index.js +25 -25
  32. package/dist/command/index.js.map +1 -1
  33. package/dist/core/index.browser.js +218 -218
  34. package/dist/core/index.browser.js.map +1 -1
  35. package/dist/core/index.d.ts +232 -232
  36. package/dist/core/index.js +218 -218
  37. package/dist/core/index.js.map +1 -1
  38. package/dist/core/index.native.js +2113 -0
  39. package/dist/core/index.native.js.map +1 -0
  40. package/dist/datetime/index.d.ts +9 -9
  41. package/dist/datetime/index.js +7 -7
  42. package/dist/datetime/index.js.map +1 -1
  43. package/dist/email/index.d.ts +16 -16
  44. package/dist/email/index.js +9 -9
  45. package/dist/email/index.js.map +1 -1
  46. package/dist/file/index.js +1 -1
  47. package/dist/file/index.js.map +1 -1
  48. package/dist/lock/index.d.ts +9 -9
  49. package/dist/lock/index.js +8 -8
  50. package/dist/lock/index.js.map +1 -1
  51. package/dist/lock-redis/index.js +3 -66
  52. package/dist/lock-redis/index.js.map +1 -1
  53. package/dist/logger/index.d.ts +5 -5
  54. package/dist/logger/index.js +8 -8
  55. package/dist/logger/index.js.map +1 -1
  56. package/dist/orm/index.browser.js +114 -114
  57. package/dist/orm/index.browser.js.map +1 -1
  58. package/dist/orm/index.d.ts +218 -218
  59. package/dist/orm/index.js +46 -46
  60. package/dist/orm/index.js.map +1 -1
  61. package/dist/queue/index.d.ts +29 -29
  62. package/dist/queue/index.js +20 -20
  63. package/dist/queue/index.js.map +1 -1
  64. package/dist/queue-redis/index.d.ts +2 -2
  65. package/dist/redis/index.d.ts +10 -10
  66. package/dist/retry/index.d.ts +19 -19
  67. package/dist/retry/index.js +7 -7
  68. package/dist/retry/index.js.map +1 -1
  69. package/dist/scheduler/index.d.ts +16 -16
  70. package/dist/scheduler/index.js +9 -9
  71. package/dist/scheduler/index.js.map +1 -1
  72. package/dist/security/index.d.ts +80 -80
  73. package/dist/security/index.js +32 -32
  74. package/dist/security/index.js.map +1 -1
  75. package/dist/server/index.browser.js +1 -1
  76. package/dist/server/index.browser.js.map +1 -1
  77. package/dist/server/index.d.ts +101 -101
  78. package/dist/server/index.js +16 -16
  79. package/dist/server/index.js.map +1 -1
  80. package/dist/server-auth/index.browser.js +4 -982
  81. package/dist/server-auth/index.browser.js.map +1 -1
  82. package/dist/server-auth/index.d.ts +204 -785
  83. package/dist/server-auth/index.js +47 -1239
  84. package/dist/server-auth/index.js.map +1 -1
  85. package/dist/server-cache/index.d.ts +10 -10
  86. package/dist/server-cache/index.js +2 -2
  87. package/dist/server-cache/index.js.map +1 -1
  88. package/dist/server-compress/index.d.ts +4 -4
  89. package/dist/server-compress/index.js +1 -1
  90. package/dist/server-compress/index.js.map +1 -1
  91. package/dist/server-cookies/index.browser.js +8 -8
  92. package/dist/server-cookies/index.browser.js.map +1 -1
  93. package/dist/server-cookies/index.d.ts +17 -17
  94. package/dist/server-cookies/index.js +10 -10
  95. package/dist/server-cookies/index.js.map +1 -1
  96. package/dist/server-cors/index.d.ts +17 -17
  97. package/dist/server-cors/index.js +9 -9
  98. package/dist/server-cors/index.js.map +1 -1
  99. package/dist/server-health/index.d.ts +19 -19
  100. package/dist/server-helmet/index.d.ts +1 -1
  101. package/dist/server-links/index.browser.js +12 -12
  102. package/dist/server-links/index.browser.js.map +1 -1
  103. package/dist/server-links/index.d.ts +59 -251
  104. package/dist/server-links/index.js +23 -502
  105. package/dist/server-links/index.js.map +1 -1
  106. package/dist/server-metrics/index.d.ts +4 -4
  107. package/dist/server-multipart/index.d.ts +2 -2
  108. package/dist/server-proxy/index.d.ts +12 -12
  109. package/dist/server-proxy/index.js +10 -10
  110. package/dist/server-proxy/index.js.map +1 -1
  111. package/dist/server-rate-limit/index.d.ts +22 -22
  112. package/dist/server-rate-limit/index.js +12 -12
  113. package/dist/server-rate-limit/index.js.map +1 -1
  114. package/dist/server-security/index.d.ts +22 -22
  115. package/dist/server-security/index.js +15 -15
  116. package/dist/server-security/index.js.map +1 -1
  117. package/dist/server-static/index.d.ts +14 -14
  118. package/dist/server-static/index.js +8 -8
  119. package/dist/server-static/index.js.map +1 -1
  120. package/dist/server-swagger/index.d.ts +25 -184
  121. package/dist/server-swagger/index.js +21 -724
  122. package/dist/server-swagger/index.js.map +1 -1
  123. package/dist/sms/index.d.ts +14 -14
  124. package/dist/sms/index.js +9 -9
  125. package/dist/sms/index.js.map +1 -1
  126. package/dist/thread/index.d.ts +11 -11
  127. package/dist/thread/index.js +17 -17
  128. package/dist/thread/index.js.map +1 -1
  129. package/dist/topic/index.d.ts +26 -26
  130. package/dist/topic/index.js +16 -16
  131. package/dist/topic/index.js.map +1 -1
  132. package/dist/topic-redis/index.d.ts +1 -1
  133. package/dist/vite/index.d.ts +3 -3
  134. package/dist/vite/index.js +8 -8
  135. package/dist/vite/index.js.map +1 -1
  136. package/dist/websocket/index.browser.js +11 -11
  137. package/dist/websocket/index.browser.js.map +1 -1
  138. package/dist/websocket/index.d.ts +58 -58
  139. package/dist/websocket/index.js +13 -13
  140. package/dist/websocket/index.js.map +1 -1
  141. package/package.json +113 -52
  142. package/src/api-files/services/FileService.ts +5 -7
  143. package/src/api-jobs/index.ts +1 -1
  144. package/src/api-jobs/{descriptors → primitives}/$job.ts +8 -8
  145. package/src/api-jobs/providers/JobProvider.ts +9 -9
  146. package/src/api-jobs/services/JobService.ts +5 -5
  147. package/src/api-notifications/index.ts +5 -15
  148. package/src/api-notifications/{descriptors → primitives}/$notification.ts +10 -10
  149. package/src/api-notifications/services/NotificationSenderService.ts +3 -3
  150. package/src/api-parameters/index.ts +1 -1
  151. package/src/api-parameters/{descriptors → primitives}/$config.ts +7 -12
  152. package/src/api-users/index.ts +1 -1
  153. package/src/api-users/{descriptors → primitives}/$userRealm.ts +8 -8
  154. package/src/api-users/providers/UserRealmProvider.ts +1 -1
  155. package/src/batch/index.ts +3 -3
  156. package/src/batch/{descriptors → primitives}/$batch.ts +13 -16
  157. package/src/bucket/index.ts +8 -8
  158. package/src/bucket/{descriptors → primitives}/$bucket.ts +8 -8
  159. package/src/bucket/providers/LocalFileStorageProvider.ts +3 -3
  160. package/src/cache/index.ts +4 -4
  161. package/src/cache/{descriptors → primitives}/$cache.ts +15 -15
  162. package/src/cli/apps/AlephaPackageBuilderCli.ts +24 -2
  163. package/src/cli/commands/DrizzleCommands.ts +6 -6
  164. package/src/cli/commands/VerifyCommands.ts +1 -1
  165. package/src/cli/commands/ViteCommands.ts +6 -1
  166. package/src/cli/services/ProjectUtils.ts +34 -3
  167. package/src/command/index.ts +5 -5
  168. package/src/command/{descriptors → primitives}/$command.ts +9 -12
  169. package/src/command/providers/CliProvider.ts +10 -10
  170. package/src/core/Alepha.ts +30 -33
  171. package/src/core/constants/KIND.ts +1 -1
  172. package/src/core/constants/OPTIONS.ts +1 -1
  173. package/src/core/helpers/{descriptor.ts → primitive.ts} +18 -18
  174. package/src/core/helpers/ref.ts +1 -1
  175. package/src/core/index.shared.ts +8 -8
  176. package/src/core/{descriptors → primitives}/$context.ts +5 -5
  177. package/src/core/{descriptors → primitives}/$hook.ts +4 -4
  178. package/src/core/{descriptors → primitives}/$inject.ts +2 -2
  179. package/src/core/{descriptors → primitives}/$module.ts +9 -9
  180. package/src/core/{descriptors → primitives}/$use.ts +2 -2
  181. package/src/core/providers/CodecManager.ts +1 -1
  182. package/src/core/providers/JsonSchemaCodec.ts +1 -1
  183. package/src/core/providers/StateManager.ts +2 -2
  184. package/src/datetime/index.ts +3 -3
  185. package/src/datetime/{descriptors → primitives}/$interval.ts +6 -6
  186. package/src/email/index.ts +4 -4
  187. package/src/email/{descriptors → primitives}/$email.ts +8 -8
  188. package/src/file/index.ts +1 -1
  189. package/src/lock/index.ts +3 -3
  190. package/src/lock/{descriptors → primitives}/$lock.ts +10 -10
  191. package/src/logger/index.ts +8 -8
  192. package/src/logger/{descriptors → primitives}/$logger.ts +2 -2
  193. package/src/logger/services/Logger.ts +1 -1
  194. package/src/orm/constants/PG_SYMBOLS.ts +2 -2
  195. package/src/orm/index.browser.ts +2 -2
  196. package/src/orm/index.ts +8 -8
  197. package/src/orm/{descriptors → primitives}/$entity.ts +11 -11
  198. package/src/orm/{descriptors → primitives}/$repository.ts +2 -2
  199. package/src/orm/{descriptors → primitives}/$sequence.ts +8 -8
  200. package/src/orm/{descriptors → primitives}/$transaction.ts +4 -4
  201. package/src/orm/providers/PostgresTypeProvider.ts +3 -3
  202. package/src/orm/providers/RepositoryProvider.ts +4 -4
  203. package/src/orm/providers/drivers/DatabaseProvider.ts +7 -7
  204. package/src/orm/services/ModelBuilder.ts +9 -9
  205. package/src/orm/services/PgRelationManager.ts +2 -2
  206. package/src/orm/services/PostgresModelBuilder.ts +5 -5
  207. package/src/orm/services/Repository.ts +7 -7
  208. package/src/orm/services/SqliteModelBuilder.ts +5 -5
  209. package/src/queue/index.ts +7 -7
  210. package/src/queue/{descriptors → primitives}/$consumer.ts +15 -15
  211. package/src/queue/{descriptors → primitives}/$queue.ts +12 -12
  212. package/src/queue/providers/WorkerProvider.ts +7 -7
  213. package/src/retry/index.ts +3 -3
  214. package/src/retry/{descriptors → primitives}/$retry.ts +14 -14
  215. package/src/scheduler/index.ts +3 -3
  216. package/src/scheduler/{descriptors → primitives}/$scheduler.ts +9 -9
  217. package/src/scheduler/providers/CronProvider.ts +1 -1
  218. package/src/security/index.ts +9 -9
  219. package/src/security/{descriptors → primitives}/$permission.ts +7 -7
  220. package/src/security/{descriptors → primitives}/$realm.ts +6 -12
  221. package/src/security/{descriptors → primitives}/$role.ts +12 -12
  222. package/src/security/{descriptors → primitives}/$serviceAccount.ts +8 -8
  223. package/src/server/index.browser.ts +1 -1
  224. package/src/server/index.ts +14 -14
  225. package/src/server/{descriptors → primitives}/$action.ts +13 -13
  226. package/src/server/{descriptors → primitives}/$route.ts +9 -9
  227. package/src/server/providers/NodeHttpServerProvider.ts +1 -1
  228. package/src/server/services/HttpClient.ts +1 -1
  229. package/src/server-auth/index.browser.ts +1 -1
  230. package/src/server-auth/index.ts +6 -6
  231. package/src/server-auth/{descriptors → primitives}/$auth.ts +10 -10
  232. package/src/server-auth/{descriptors → primitives}/$authCredentials.ts +4 -4
  233. package/src/server-auth/{descriptors → primitives}/$authGithub.ts +4 -4
  234. package/src/server-auth/{descriptors → primitives}/$authGoogle.ts +4 -4
  235. package/src/server-auth/providers/ServerAuthProvider.ts +4 -4
  236. package/src/server-cache/providers/ServerCacheProvider.ts +7 -7
  237. package/src/server-compress/providers/ServerCompressProvider.ts +3 -3
  238. package/src/server-cookies/index.browser.ts +2 -2
  239. package/src/server-cookies/index.ts +5 -5
  240. package/src/server-cookies/{descriptors → primitives}/$cookie.browser.ts +12 -12
  241. package/src/server-cookies/{descriptors → primitives}/$cookie.ts +13 -13
  242. package/src/server-cookies/providers/ServerCookiesProvider.ts +4 -4
  243. package/src/server-cookies/services/CookieParser.ts +1 -1
  244. package/src/server-cors/index.ts +3 -3
  245. package/src/server-cors/{descriptors → primitives}/$cors.ts +11 -13
  246. package/src/server-cors/providers/ServerCorsProvider.ts +5 -5
  247. package/src/server-links/index.browser.ts +5 -5
  248. package/src/server-links/index.ts +9 -9
  249. package/src/server-links/{descriptors → primitives}/$remote.ts +11 -11
  250. package/src/server-links/providers/LinkProvider.ts +7 -7
  251. package/src/server-links/providers/{RemoteDescriptorProvider.ts → RemotePrimitiveProvider.ts} +6 -6
  252. package/src/server-links/providers/ServerLinksProvider.ts +3 -3
  253. package/src/server-proxy/index.ts +3 -3
  254. package/src/server-proxy/{descriptors → primitives}/$proxy.ts +8 -8
  255. package/src/server-proxy/providers/ServerProxyProvider.ts +4 -4
  256. package/src/server-rate-limit/index.ts +6 -6
  257. package/src/server-rate-limit/{descriptors → primitives}/$rateLimit.ts +13 -13
  258. package/src/server-rate-limit/providers/ServerRateLimitProvider.ts +5 -5
  259. package/src/server-security/index.ts +3 -3
  260. package/src/server-security/{descriptors → primitives}/$basicAuth.ts +13 -13
  261. package/src/server-security/providers/ServerBasicAuthProvider.ts +5 -5
  262. package/src/server-security/providers/ServerSecurityProvider.ts +4 -4
  263. package/src/server-static/index.ts +3 -3
  264. package/src/server-static/{descriptors → primitives}/$serve.ts +8 -10
  265. package/src/server-static/providers/ServerStaticProvider.ts +6 -6
  266. package/src/server-swagger/index.ts +5 -5
  267. package/src/server-swagger/{descriptors → primitives}/$swagger.ts +9 -9
  268. package/src/server-swagger/providers/ServerSwaggerProvider.ts +11 -10
  269. package/src/sms/index.ts +4 -4
  270. package/src/sms/{descriptors → primitives}/$sms.ts +8 -8
  271. package/src/thread/index.ts +3 -3
  272. package/src/thread/{descriptors → primitives}/$thread.ts +13 -13
  273. package/src/thread/providers/ThreadProvider.ts +7 -9
  274. package/src/topic/index.ts +5 -5
  275. package/src/topic/{descriptors → primitives}/$subscriber.ts +14 -14
  276. package/src/topic/{descriptors → primitives}/$topic.ts +10 -10
  277. package/src/topic/providers/TopicProvider.ts +4 -4
  278. package/src/vite/tasks/copyAssets.ts +1 -1
  279. package/src/vite/tasks/generateSitemap.ts +3 -3
  280. package/src/vite/tasks/prerenderPages.ts +2 -2
  281. package/src/vite/tasks/runAlepha.ts +2 -2
  282. package/src/websocket/index.browser.ts +3 -3
  283. package/src/websocket/index.shared.ts +2 -2
  284. package/src/websocket/index.ts +4 -4
  285. package/src/websocket/interfaces/WebSocketInterfaces.ts +3 -3
  286. package/src/websocket/{descriptors → primitives}/$channel.ts +10 -10
  287. package/src/websocket/{descriptors → primitives}/$websocket.ts +8 -8
  288. package/src/websocket/providers/NodeWebSocketServerProvider.ts +7 -7
  289. package/src/websocket/providers/WebSocketServerProvider.ts +3 -3
  290. package/src/websocket/services/WebSocketClient.ts +5 -5
  291. package/src/api-notifications/providers/MemorySmsProvider.ts +0 -20
  292. package/src/api-notifications/providers/SmsProvider.ts +0 -8
  293. /package/src/core/{descriptors → primitives}/$atom.ts +0 -0
  294. /package/src/core/{descriptors → primitives}/$env.ts +0 -0
  295. /package/src/server-auth/{descriptors → primitives}/$authApple.ts +0 -0
  296. /package/src/server-links/{descriptors → primitives}/$client.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as alepha1 from "alepha";
2
- import { Alepha, AlephaError, Descriptor, KIND, Page, Page as Page$1, PageQuery, PageQuery as PageQuery$1, Service, Static, StaticEncode, TBigInt, TInteger, TNull, TNumber, TNumberOptions, TObject, TObjectOptions, TOptional, TPage, TSchema, TString, TStringOptions, TUnion, TUnsafe, pageQuerySchema, pageSchema } from "alepha";
2
+ import { Alepha, AlephaError, KIND, Page, Page as Page$1, PageQuery, PageQuery as PageQuery$1, Primitive, Service, Static, StaticEncode, TBigInt, TInteger, TNull, TNumber, TNumberOptions, TObject, TObjectOptions, TOptional, TPage, TSchema, TString, TStringOptions, TUnion, TUnsafe, pageQuerySchema, pageSchema } from "alepha";
3
3
  import { DateTime, DateTimeProvider } from "alepha/datetime";
4
4
  import * as drizzle_orm0 from "drizzle-orm";
5
5
  import { BuildColumns, BuildExtraConfigColumns, SQL, SQLWrapper, sql } from "drizzle-orm";
@@ -48,9 +48,9 @@ declare const insertSchema: <T extends TObject>(obj: T) => TObjectInsert<T>;
48
48
  type TObjectUpdate<T extends TObject> = TObject<{ [K in keyof T["properties"]]: T["properties"][K] extends TOptional<infer U> ? TOptional<TUnion<[U, TNull]>> : T["properties"][K] }>;
49
49
  declare const updateSchema: <T extends TObject>(schema: T) => TObjectUpdate<T>;
50
50
  //#endregion
51
- //#region src/orm/descriptors/$entity.d.ts
51
+ //#region src/orm/primitives/$entity.d.ts
52
52
  /**
53
- * Creates a database entity descriptor that defines table structure using TypeBox schemas.
53
+ * Creates a database entity primitive that defines table structure using TypeBox schemas.
54
54
  *
55
55
  * @example
56
56
  * ```ts
@@ -68,10 +68,10 @@ declare const updateSchema: <T extends TObject>(schema: T) => TObjectUpdate<T>;
68
68
  * ```
69
69
  */
70
70
  declare const $entity: {
71
- <TSchema$1 extends TObject>(options: EntityDescriptorOptions<TSchema$1>): EntityDescriptor<TSchema$1>;
72
- [KIND]: typeof EntityDescriptor;
71
+ <TSchema$1 extends TObject>(options: EntityPrimitiveOptions<TSchema$1>): EntityPrimitive<TSchema$1>;
72
+ [KIND]: typeof EntityPrimitive;
73
73
  };
74
- interface EntityDescriptorOptions<T extends TObject, Keys = keyof Static<T>> {
74
+ interface EntityPrimitiveOptions<T extends TObject, Keys = keyof Static<T>> {
75
75
  /**
76
76
  * The database table name that will be created for this entity.
77
77
  * If not provided, name will be inferred from the $repository variable name.
@@ -183,9 +183,9 @@ interface EntityDescriptorOptions<T extends TObject, Keys = keyof Static<T>> {
183
183
  */
184
184
  config?: (self: BuildExtraConfigColumns<string, FromSchema<T>, "pg">) => PgTableExtraConfigValue[];
185
185
  }
186
- declare class EntityDescriptor<T extends TObject = TObject> {
187
- readonly options: EntityDescriptorOptions<T>;
188
- constructor(options: EntityDescriptorOptions<T>);
186
+ declare class EntityPrimitive<T extends TObject = TObject> {
187
+ readonly options: EntityPrimitiveOptions<T>;
188
+ constructor(options: EntityPrimitiveOptions<T>);
189
189
  alias(alias: string): this;
190
190
  get cols(): EntityColumns<T>;
191
191
  get name(): string;
@@ -205,7 +205,7 @@ type SchemaToTableConfig<T extends TObject> = {
205
205
  };
206
206
  type EntityColumn<T extends TObject> = {
207
207
  name: string;
208
- entity: EntityDescriptor<T>;
208
+ entity: EntityPrimitive<T>;
209
209
  };
210
210
  type EntityColumns<T extends TObject> = { [key in keyof T["properties"]]: EntityColumn<T> };
211
211
  //#endregion
@@ -254,7 +254,7 @@ interface PgEnumOptions {
254
254
  interface PgRefOptions {
255
255
  ref: () => {
256
256
  name: string;
257
- entity: EntityDescriptor;
257
+ entity: EntityPrimitive;
258
258
  };
259
259
  actions?: {
260
260
  onUpdate?: UpdateDeleteAction;
@@ -268,37 +268,34 @@ declare class DbError extends AlephaError {
268
268
  constructor(message: string, cause?: unknown);
269
269
  }
270
270
  //#endregion
271
- //#region src/orm/helpers/pgAttr.d.ts
272
- /**
273
- * Decorates a typebox schema with a Postgres attribute.
274
- *
275
- * > It's just a fancy way to add Symbols to a field.
276
- *
277
- * @example
278
- * ```ts
279
- * import { t } from "alepha";
280
- * import { PG_UPDATED_AT } from "../constants/PG_SYMBOLS";
281
- *
282
- * export const updatedAtSchema = pgAttr(
283
- * t.datetime(), PG_UPDATED_AT,
284
- * );
285
- * ```
286
- */
287
- declare const pgAttr: <T extends TSchema, Attr extends PgSymbolKeys>(type: T, attr: Attr, value?: PgSymbols[Attr]) => PgAttr<T, Attr>;
288
- /**
289
- * Retrieves the fields of a schema that have a specific attribute.
290
- */
291
- declare const getAttrFields: (schema: TObject, name: PgSymbolKeys) => PgAttrField[];
271
+ //#region src/orm/errors/DbConflictError.d.ts
272
+ declare class DbConflictError extends DbError {
273
+ readonly name = "DbConflictError";
274
+ readonly status = 409;
275
+ }
276
+ //#endregion
277
+ //#region src/orm/errors/DbEntityNotFoundError.d.ts
278
+ declare class DbEntityNotFoundError extends DbError {
279
+ readonly name = "DbEntityNotFoundError";
280
+ readonly status = 404;
281
+ constructor(entityName: string);
282
+ }
283
+ //#endregion
284
+ //#region src/orm/errors/DbMigrationError.d.ts
285
+ declare class DbMigrationError extends DbError {
286
+ readonly name = "DbMigrationError";
287
+ constructor(cause?: unknown);
288
+ }
289
+ //#endregion
290
+ //#region src/orm/errors/DbVersionMismatchError.d.ts
292
291
  /**
293
- * Type representation.
292
+ * Error thrown when there is a version mismatch.
293
+ * It's thrown by {@link Repository#save} when the updated entity version does not match the one in the database.
294
+ * This is used for optimistic concurrency control.
294
295
  */
295
- type PgAttr<T extends TSchema, TAttr extends PgSymbolKeys> = T & { [K in TAttr]: PgSymbols[K] };
296
- interface PgAttrField {
297
- key: string;
298
- type: TSchema;
299
- data: any;
300
- nested?: any[];
301
- one?: boolean;
296
+ declare class DbVersionMismatchError extends DbError {
297
+ readonly name = "DbVersionMismatchError";
298
+ constructor(table: string, id: any);
302
299
  }
303
300
  //#endregion
304
301
  //#region src/orm/interfaces/FilterOperators.d.ts
@@ -717,6 +714,55 @@ interface FilterOperators<TValue> {
717
714
  arrayOverlaps?: TValue;
718
715
  }
719
716
  //#endregion
717
+ //#region src/orm/interfaces/PgQuery.d.ts
718
+ /**
719
+ * Order direction for sorting
720
+ */
721
+ type OrderDirection = "asc" | "desc";
722
+ /**
723
+ * Single order by clause with column and direction
724
+ */
725
+ interface OrderByClause<T> {
726
+ column: keyof T;
727
+ direction?: OrderDirection;
728
+ }
729
+ /**
730
+ * Order by parameter - supports 3 modes:
731
+ * 1. String: orderBy: "name" (defaults to ASC)
732
+ * 2. Single object: orderBy: { column: "name", direction: "desc" }
733
+ * 3. Array: orderBy: [{ column: "name", direction: "asc" }, { column: "age", direction: "desc" }]
734
+ */
735
+ type OrderBy<T> = keyof T | OrderByClause<T> | Array<OrderByClause<T>>;
736
+ /**
737
+ * Generic query interface for PostgreSQL entities
738
+ */
739
+ interface PgQuery<T extends TObject = TObject> {
740
+ distinct?: (keyof Static<T>)[];
741
+ columns?: (keyof Static<T>)[];
742
+ where?: PgQueryWhereOrSQL<T>;
743
+ limit?: number;
744
+ offset?: number;
745
+ orderBy?: OrderBy<Static<T>>;
746
+ groupBy?: (keyof Static<T>)[];
747
+ }
748
+ type PgStatic<T extends TObject, Relations extends PgRelationMap<T>> = Static<T> & { [K in keyof Relations]: Static<Relations[K]["join"]["schema"]> & (Relations[K]["with"] extends PgRelationMap<TObject> ? PgStatic<Relations[K]["join"]["schema"], Relations[K]["with"]> : {}) };
749
+ interface PgQueryRelations<T extends TObject = TObject, Relations extends PgRelationMap<T> | undefined = undefined> extends PgQuery<T> {
750
+ with?: Relations;
751
+ where?: PgQueryWhereOrSQL<T, Relations>;
752
+ }
753
+ type PgRelationMap<Base extends TObject> = Record<string, PgRelation<Base>>;
754
+ type PgRelation<Base extends TObject> = {
755
+ type?: "left" | "inner" | "right";
756
+ join: {
757
+ schema: TObject;
758
+ name: string;
759
+ };
760
+ on: SQLWrapper | [keyof Static<Base>, {
761
+ name: string;
762
+ }];
763
+ with?: PgRelationMap<TObject>;
764
+ };
765
+ //#endregion
720
766
  //#region src/orm/interfaces/PgQueryWhere.d.ts
721
767
  type PgQueryWhere<T extends TObject, Relations extends PgRelationMap<TObject> | undefined = undefined> = (PgQueryWhereOperators<T> & PgQueryWhereConditions<T>) | (PgQueryWhereRelations<Relations> & PgQueryWhereOperators<T> & PgQueryWhereConditions<T, Relations>);
722
768
  type PgQueryWhereOrSQL<T extends TObject, Relations extends PgRelationMap<TObject> | undefined = undefined> = SQLWrapper | PgQueryWhere<T, Relations>;
@@ -796,71 +842,122 @@ type PgQueryWhereRelations<Relations extends PgRelationMap<TObject> | undefined
796
842
  */
797
843
  type NestedJsonbQuery<T> = T extends object ? T extends Array<infer U> ? U extends object ? { [K in keyof U]?: FilterOperators<U[K]> | U[K] } : FilterOperators<U> | U : { [K in keyof T]?: FilterOperators<T[K]> | T[K] | (T[K] extends object ? NestedJsonbQuery<T[K]> : never) } : FilterOperators<T> | T;
798
844
  //#endregion
799
- //#region src/orm/interfaces/PgQuery.d.ts
845
+ //#region src/orm/helpers/parseQueryString.d.ts
800
846
  /**
801
- * Order direction for sorting
847
+ * Parse a string query into a PgQueryWhere object.
848
+ *
849
+ * Supported syntax:
850
+ * - Simple equality: "name=John"
851
+ * - Wildcard patterns: "name=John*" (startsWith), "name=*John" (endsWith), "name=*John*" (contains)
852
+ * - Operators: "age>18", "age>=18", "age<65", "age<=65", "status!=active"
853
+ * - NULL checks: "deletedAt=null", "email!=null"
854
+ * - IN arrays: "status=[pending,active]"
855
+ * - AND conditions: "name=John&age>18"
856
+ * - OR conditions: "name=John|email=john@example.com"
857
+ * - Nested AND/OR: "(name=John|name=Jane)&age>18"
858
+ * - JSONB nested: "profile.city=Paris"
859
+ *
860
+ * @example
861
+ * ```ts
862
+ * // Simple equality
863
+ * parseQueryString("name=John")
864
+ * // => { name: { eq: "John" } }
865
+ *
866
+ * // Wildcard patterns
867
+ * parseQueryString("name=John*") // startsWith
868
+ * // => { name: { startsWith: "John" } }
869
+ * parseQueryString("name=*Smith") // endsWith
870
+ * // => { name: { endsWith: "Smith" } }
871
+ * parseQueryString("name=*oh*") // contains
872
+ * // => { name: { contains: "oh" } }
873
+ *
874
+ * // Multiple conditions
875
+ * parseQueryString("name=John&age>18")
876
+ * // => { and: [{ name: { eq: "John" } }, { age: { gt: 18 } }] }
877
+ *
878
+ * // OR conditions
879
+ * parseQueryString("status=active|status=pending")
880
+ * // => { or: [{ status: { eq: "active" } }, { status: { eq: "pending" } }] }
881
+ *
882
+ * // Complex nested
883
+ * parseQueryString("(name=John|name=Jane)&age>18&status!=archived")
884
+ * // => { and: [
885
+ * // { or: [{ name: { eq: "John" } }, { name: { eq: "Jane" } }] },
886
+ * // { age: { gt: 18 } },
887
+ * // { status: { ne: "archived" } }
888
+ * // ] }
889
+ *
890
+ * // JSONB nested query
891
+ * parseQueryString("profile.city=Paris&profile.age>25")
892
+ * // => { profile: { city: { eq: "Paris" }, age: { gt: 25 } } }
893
+ * ```
802
894
  */
803
- type OrderDirection = "asc" | "desc";
895
+ declare function parseQueryString<T extends TObject>(query: string): PgQueryWhere<T>;
804
896
  /**
805
- * Single order by clause with column and direction
897
+ * Helper function to build query strings programmatically
898
+ *
899
+ * @example
900
+ * ```ts
901
+ * buildQueryString({
902
+ * and: [
903
+ * { name: "eq:John" },
904
+ * { age: "gt:18" }
905
+ * ]
906
+ * })
907
+ * // => "name=John&age>18"
908
+ * ```
806
909
  */
807
- interface OrderByClause<T> {
808
- column: keyof T;
809
- direction?: OrderDirection;
810
- }
910
+ declare function buildQueryString(where: any): string;
911
+ //#endregion
912
+ //#region src/orm/helpers/pgAttr.d.ts
811
913
  /**
812
- * Order by parameter - supports 3 modes:
813
- * 1. String: orderBy: "name" (defaults to ASC)
814
- * 2. Single object: orderBy: { column: "name", direction: "desc" }
815
- * 3. Array: orderBy: [{ column: "name", direction: "asc" }, { column: "age", direction: "desc" }]
914
+ * Decorates a typebox schema with a Postgres attribute.
915
+ *
916
+ * > It's just a fancy way to add Symbols to a field.
917
+ *
918
+ * @example
919
+ * ```ts
920
+ * import { t } from "alepha";
921
+ * import { PG_UPDATED_AT } from "../constants/PG_SYMBOLS";
922
+ *
923
+ * export const updatedAtSchema = pgAttr(
924
+ * t.datetime(), PG_UPDATED_AT,
925
+ * );
926
+ * ```
816
927
  */
817
- type OrderBy<T> = keyof T | OrderByClause<T> | Array<OrderByClause<T>>;
928
+ declare const pgAttr: <T extends TSchema, Attr extends PgSymbolKeys>(type: T, attr: Attr, value?: PgSymbols[Attr]) => PgAttr<T, Attr>;
818
929
  /**
819
- * Generic query interface for PostgreSQL entities
930
+ * Retrieves the fields of a schema that have a specific attribute.
820
931
  */
821
- interface PgQuery<T extends TObject = TObject> {
822
- distinct?: (keyof Static<T>)[];
823
- columns?: (keyof Static<T>)[];
824
- where?: PgQueryWhereOrSQL<T>;
825
- limit?: number;
826
- offset?: number;
827
- orderBy?: OrderBy<Static<T>>;
828
- groupBy?: (keyof Static<T>)[];
829
- }
830
- type PgStatic<T extends TObject, Relations extends PgRelationMap<T>> = Static<T> & { [K in keyof Relations]: Static<Relations[K]["join"]["schema"]> & (Relations[K]["with"] extends PgRelationMap<TObject> ? PgStatic<Relations[K]["join"]["schema"], Relations[K]["with"]> : {}) };
831
- interface PgQueryRelations<T extends TObject = TObject, Relations extends PgRelationMap<T> | undefined = undefined> extends PgQuery<T> {
832
- with?: Relations;
833
- where?: PgQueryWhereOrSQL<T, Relations>;
932
+ declare const getAttrFields: (schema: TObject, name: PgSymbolKeys) => PgAttrField[];
933
+ /**
934
+ * Type representation.
935
+ */
936
+ type PgAttr<T extends TSchema, TAttr extends PgSymbolKeys> = T & { [K in TAttr]: PgSymbols[K] };
937
+ interface PgAttrField {
938
+ key: string;
939
+ type: TSchema;
940
+ data: any;
941
+ nested?: any[];
942
+ one?: boolean;
834
943
  }
835
- type PgRelationMap<Base extends TObject> = Record<string, PgRelation<Base>>;
836
- type PgRelation<Base extends TObject> = {
837
- type?: "left" | "inner" | "right";
838
- join: {
839
- schema: TObject;
840
- name: string;
841
- };
842
- on: SQLWrapper | [keyof Static<Base>, {
843
- name: string;
844
- }];
845
- with?: PgRelationMap<TObject>;
846
- };
847
944
  //#endregion
848
- //#region src/orm/descriptors/$sequence.d.ts
945
+ //#region src/orm/primitives/$sequence.d.ts
849
946
  /**
850
- * Creates a PostgreSQL sequence descriptor for generating unique numeric values.
947
+ * Creates a PostgreSQL sequence primitive for generating unique numeric values.
851
948
  */
852
949
  declare const $sequence: {
853
- (options?: SequenceDescriptorOptions): SequenceDescriptor;
854
- [KIND]: typeof SequenceDescriptor;
950
+ (options?: SequencePrimitiveOptions): SequencePrimitive;
951
+ [KIND]: typeof SequencePrimitive;
855
952
  };
856
- interface SequenceDescriptorOptions extends PgSequenceOptions {
953
+ interface SequencePrimitiveOptions extends PgSequenceOptions {
857
954
  /**
858
955
  * The name of the sequence. If not provided, the property key will be used.
859
956
  */
860
957
  name?: string;
861
958
  provider?: DatabaseProvider;
862
959
  }
863
- declare class SequenceDescriptor extends Descriptor<SequenceDescriptorOptions> {
960
+ declare class SequencePrimitive extends Primitive<SequencePrimitiveOptions> {
864
961
  readonly provider: DatabaseProvider;
865
962
  onInit(): void;
866
963
  get name(): string;
@@ -891,22 +988,22 @@ interface TableConfigBuilders<TConfig> {
891
988
  }) => TConfig;
892
989
  }
893
990
  /**
894
- * Abstract base class for transforming Alepha Descriptors (Entity, Sequence, etc...)
991
+ * Abstract base class for transforming Alepha Primitives (Entity, Sequence, etc...)
895
992
  * into drizzle models (tables, enums, sequences, etc...).
896
993
  */
897
994
  declare abstract class ModelBuilder {
898
995
  /**
899
- * Build a table from an entity descriptor.
996
+ * Build a table from an entity primitive.
900
997
  */
901
- abstract buildTable(entity: EntityDescriptor, options: {
998
+ abstract buildTable(entity: EntityPrimitive, options: {
902
999
  tables: Map<string, unknown>;
903
1000
  enums: Map<string, unknown>;
904
1001
  schema: string;
905
1002
  }): void;
906
1003
  /**
907
- * Build a sequence from a sequence descriptor.
1004
+ * Build a sequence from a sequence primitive.
908
1005
  */
909
- abstract buildSequence(sequence: SequenceDescriptor, options: {
1006
+ abstract buildSequence(sequence: SequencePrimitive, options: {
910
1007
  sequences: Map<string, unknown>;
911
1008
  schema: string;
912
1009
  }): void;
@@ -918,12 +1015,12 @@ declare abstract class ModelBuilder {
918
1015
  * Build the table configuration function for any database.
919
1016
  * This includes indexes, foreign keys, constraints, and custom config.
920
1017
  *
921
- * @param entity - The entity descriptor
1018
+ * @param entity - The entity primitive
922
1019
  * @param builders - Database-specific builder functions
923
1020
  * @param tableResolver - Function to resolve entity references to table columns
924
1021
  * @param customConfigHandler - Optional handler for custom config
925
1022
  */
926
- protected buildTableConfig<TConfig, TSelf>(entity: EntityDescriptor, builders: TableConfigBuilders<TConfig>, tableResolver?: (entityName: string) => any, customConfigHandler?: (config: any, self: TSelf) => TConfig[]): ((self: TSelf) => TConfig[]) | undefined;
1023
+ protected buildTableConfig<TConfig, TSelf>(entity: EntityPrimitive, builders: TableConfigBuilders<TConfig>, tableResolver?: (entityName: string) => any, customConfigHandler?: (config: any, self: TSelf) => TConfig[]): ((self: TSelf) => TConfig[]) | undefined;
927
1024
  }
928
1025
  //#endregion
929
1026
  //#region src/orm/providers/DrizzleKitProvider.d.ts
@@ -987,9 +1084,9 @@ declare abstract class DatabaseProvider {
987
1084
  readonly sequences: Map<string, unknown>;
988
1085
  get name(): string;
989
1086
  get schema(): string;
990
- table<T extends TObject>(entity: EntityDescriptor<T>): PgTableWithColumns<SchemaToTableConfig<T>>;
991
- registerEntity(entity: EntityDescriptor): void;
992
- registerSequence(sequence: SequenceDescriptor): void;
1087
+ table<T extends TObject>(entity: EntityPrimitive<T>): PgTableWithColumns<SchemaToTableConfig<T>>;
1088
+ registerEntity(entity: EntityPrimitive): void;
1089
+ registerSequence(sequence: SequencePrimitive): void;
993
1090
  abstract execute(statement: SQLLike): Promise<Record<string, unknown>[]>;
994
1091
  run<T extends TObject>(statement: SQLLike, schema: T): Promise<Array<Static<T>>>;
995
1092
  /**
@@ -1197,13 +1294,13 @@ declare class PgRelationManager {
1197
1294
  //#endregion
1198
1295
  //#region src/orm/services/Repository.d.ts
1199
1296
  declare abstract class Repository<T extends TObject> {
1200
- readonly entity: EntityDescriptor<T>;
1297
+ readonly entity: EntityPrimitive<T>;
1201
1298
  readonly provider: DatabaseProvider;
1202
1299
  protected readonly relationManager: PgRelationManager;
1203
1300
  protected readonly queryManager: QueryManager;
1204
1301
  protected readonly dateTimeProvider: DateTimeProvider;
1205
1302
  protected readonly alepha: Alepha;
1206
- constructor(entity: EntityDescriptor<T>, provider?: typeof DatabaseProvider);
1303
+ constructor(entity: EntityPrimitive<T>, provider?: typeof DatabaseProvider);
1207
1304
  /**
1208
1305
  * Represents the primary key of the table.
1209
1306
  * - Key is the name of the primary key column.
@@ -1469,17 +1566,17 @@ interface StatementOptions {
1469
1566
  now?: DateTime | string;
1470
1567
  }
1471
1568
  //#endregion
1472
- //#region src/orm/descriptors/$repository.d.ts
1569
+ //#region src/orm/primitives/$repository.d.ts
1473
1570
  /**
1474
1571
  * Get the repository for the given entity.
1475
1572
  */
1476
- declare const $repository: <T extends TObject>(entity: EntityDescriptor<T>) => Repository<T>;
1573
+ declare const $repository: <T extends TObject>(entity: EntityPrimitive<T>) => Repository<T>;
1477
1574
  //#endregion
1478
- //#region src/orm/descriptors/$transaction.d.ts
1575
+ //#region src/orm/primitives/$transaction.d.ts
1479
1576
  /**
1480
- * Creates a transaction descriptor for database operations requiring atomicity and consistency.
1577
+ * Creates a transaction primitive for database operations requiring atomicity and consistency.
1481
1578
  *
1482
- * This descriptor provides a convenient way to wrap database operations in PostgreSQL
1579
+ * This primitive provides a convenient way to wrap database operations in PostgreSQL
1483
1580
  * transactions, ensuring ACID properties and automatic retry logic for version conflicts.
1484
1581
  * It integrates seamlessly with the repository pattern and provides built-in handling
1485
1582
  * for optimistic locking scenarios with automatic retry on version mismatches.
@@ -1491,8 +1588,8 @@ declare const $repository: <T extends TObject>(entity: EntityDescriptor<T>) => R
1491
1588
  * - Transactions are automatically rolled back on any unhandled error
1492
1589
  * - Use appropriate isolation levels based on your consistency requirements
1493
1590
  */
1494
- declare const $transaction: <T extends any[], R>(opts: TransactionDescriptorOptions<T, R>) => alepha_retry0.RetryDescriptorFn<(...args: T) => Promise<R>>;
1495
- interface TransactionDescriptorOptions<T extends any[], R> {
1591
+ declare const $transaction: <T extends any[], R>(opts: TransactionPrimitiveOptions<T, R>) => alepha_retry0.RetryPrimitiveFn<(...args: T) => Promise<R>>;
1592
+ interface TransactionPrimitiveOptions<T extends any[], R> {
1496
1593
  /**
1497
1594
  * Transaction handler function that contains all database operations to be executed atomically.
1498
1595
  *
@@ -1596,120 +1693,23 @@ interface TransactionDescriptorOptions<T extends any[], R> {
1596
1693
  }
1597
1694
  type TransactionContext = PgTransaction<any, any, any>;
1598
1695
  //#endregion
1599
- //#region src/orm/errors/DbConflictError.d.ts
1600
- declare class DbConflictError extends DbError {
1601
- readonly name = "DbConflictError";
1602
- readonly status = 409;
1603
- }
1604
- //#endregion
1605
- //#region src/orm/errors/DbEntityNotFoundError.d.ts
1606
- declare class DbEntityNotFoundError extends DbError {
1607
- readonly name = "DbEntityNotFoundError";
1608
- readonly status = 404;
1609
- constructor(entityName: string);
1610
- }
1611
- //#endregion
1612
- //#region src/orm/errors/DbMigrationError.d.ts
1613
- declare class DbMigrationError extends DbError {
1614
- readonly name = "DbMigrationError";
1615
- constructor(cause?: unknown);
1616
- }
1617
- //#endregion
1618
- //#region src/orm/errors/DbVersionMismatchError.d.ts
1619
- /**
1620
- * Error thrown when there is a version mismatch.
1621
- * It's thrown by {@link Repository#save} when the updated entity version does not match the one in the database.
1622
- * This is used for optimistic concurrency control.
1623
- */
1624
- declare class DbVersionMismatchError extends DbError {
1625
- readonly name = "DbVersionMismatchError";
1626
- constructor(table: string, id: any);
1627
- }
1628
- //#endregion
1629
- //#region src/orm/helpers/parseQueryString.d.ts
1630
- /**
1631
- * Parse a string query into a PgQueryWhere object.
1632
- *
1633
- * Supported syntax:
1634
- * - Simple equality: "name=John"
1635
- * - Wildcard patterns: "name=John*" (startsWith), "name=*John" (endsWith), "name=*John*" (contains)
1636
- * - Operators: "age>18", "age>=18", "age<65", "age<=65", "status!=active"
1637
- * - NULL checks: "deletedAt=null", "email!=null"
1638
- * - IN arrays: "status=[pending,active]"
1639
- * - AND conditions: "name=John&age>18"
1640
- * - OR conditions: "name=John|email=john@example.com"
1641
- * - Nested AND/OR: "(name=John|name=Jane)&age>18"
1642
- * - JSONB nested: "profile.city=Paris"
1643
- *
1644
- * @example
1645
- * ```ts
1646
- * // Simple equality
1647
- * parseQueryString("name=John")
1648
- * // => { name: { eq: "John" } }
1649
- *
1650
- * // Wildcard patterns
1651
- * parseQueryString("name=John*") // startsWith
1652
- * // => { name: { startsWith: "John" } }
1653
- * parseQueryString("name=*Smith") // endsWith
1654
- * // => { name: { endsWith: "Smith" } }
1655
- * parseQueryString("name=*oh*") // contains
1656
- * // => { name: { contains: "oh" } }
1657
- *
1658
- * // Multiple conditions
1659
- * parseQueryString("name=John&age>18")
1660
- * // => { and: [{ name: { eq: "John" } }, { age: { gt: 18 } }] }
1661
- *
1662
- * // OR conditions
1663
- * parseQueryString("status=active|status=pending")
1664
- * // => { or: [{ status: { eq: "active" } }, { status: { eq: "pending" } }] }
1665
- *
1666
- * // Complex nested
1667
- * parseQueryString("(name=John|name=Jane)&age>18&status!=archived")
1668
- * // => { and: [
1669
- * // { or: [{ name: { eq: "John" } }, { name: { eq: "Jane" } }] },
1670
- * // { age: { gt: 18 } },
1671
- * // { status: { ne: "archived" } }
1672
- * // ] }
1673
- *
1674
- * // JSONB nested query
1675
- * parseQueryString("profile.city=Paris&profile.age>25")
1676
- * // => { profile: { city: { eq: "Paris" }, age: { gt: 25 } } }
1677
- * ```
1678
- */
1679
- declare function parseQueryString<T extends TObject>(query: string): PgQueryWhere<T>;
1680
- /**
1681
- * Helper function to build query strings programmatically
1682
- *
1683
- * @example
1684
- * ```ts
1685
- * buildQueryString({
1686
- * and: [
1687
- * { name: "eq:John" },
1688
- * { age: "gt:18" }
1689
- * ]
1690
- * })
1691
- * // => "name=John&age>18"
1692
- * ```
1693
- */
1694
- declare function buildQueryString(where: any): string;
1695
- //#endregion
1696
1696
  //#region src/orm/services/PostgresModelBuilder.d.ts
1697
1697
  declare class PostgresModelBuilder extends ModelBuilder {
1698
1698
  protected schemas: Map<string, drizzle_orm_pg_core0.PgSchema<string>>;
1699
1699
  protected getPgSchema(name: string): any;
1700
- buildTable(entity: EntityDescriptor<any>, options: {
1700
+ buildTable(entity: EntityPrimitive<any>, options: {
1701
1701
  tables: Map<string, unknown>;
1702
1702
  enums: Map<string, unknown>;
1703
1703
  schema: string;
1704
1704
  }): void;
1705
- buildSequence(sequence: SequenceDescriptor, options: {
1705
+ buildSequence(sequence: SequencePrimitive, options: {
1706
1706
  sequences: Map<string, unknown>;
1707
1707
  schema: string;
1708
1708
  }): void;
1709
1709
  /**
1710
1710
  * Get PostgreSQL-specific config builder for the table.
1711
1711
  */
1712
- protected getTableConfig(entity: EntityDescriptor, tables: Map<string, unknown>): ((self: BuildExtraConfigColumns<string, any, "pg">) => PgTableExtraConfigValue[]) | undefined;
1712
+ protected getTableConfig(entity: EntityPrimitive, tables: Map<string, unknown>): ((self: BuildExtraConfigColumns<string, any, "pg">) => PgTableExtraConfigValue[]) | undefined;
1713
1713
  schemaToPgColumns: <T extends TObject>(tableName: string, schema: T, nsp: PgSchema, enums: Map<string, unknown>, tables: Map<string, unknown>) => FromSchema<T>;
1714
1714
  mapFieldToColumn: (tableName: string, fieldName: string, value: TSchema, nsp: PgSchema, enums: Map<string, any>) => any;
1715
1715
  /**
@@ -1779,11 +1779,11 @@ declare class NodePostgresProvider extends DatabaseProvider {
1779
1779
  */
1780
1780
  get db(): PostgresJsDatabase;
1781
1781
  protected executeMigrations(migrationsFolder: string): Promise<void>;
1782
- protected readonly onStart: alepha1.HookDescriptor<"start">;
1783
- protected readonly onStop: alepha1.HookDescriptor<"stop">;
1782
+ protected readonly onStart: alepha1.HookPrimitive<"start">;
1783
+ protected readonly onStop: alepha1.HookPrimitive<"stop">;
1784
1784
  connect(): Promise<void>;
1785
1785
  close(): Promise<void>;
1786
- protected migrate: alepha_lock0.LockDescriptor<() => Promise<void>>;
1786
+ protected migrate: alepha_lock0.LockPrimitive<() => Promise<void>>;
1787
1787
  /**
1788
1788
  * Map the DATABASE_URL to postgres client options.
1789
1789
  */
@@ -1799,19 +1799,19 @@ declare class NodePostgresProvider extends DatabaseProvider {
1799
1799
  //#endregion
1800
1800
  //#region src/orm/services/SqliteModelBuilder.d.ts
1801
1801
  declare class SqliteModelBuilder extends ModelBuilder {
1802
- buildTable(entity: EntityDescriptor<any>, options: {
1802
+ buildTable(entity: EntityPrimitive<any>, options: {
1803
1803
  tables: Map<string, unknown>;
1804
1804
  enums: Map<string, unknown>;
1805
1805
  schema: string;
1806
1806
  }): void;
1807
- buildSequence(sequence: SequenceDescriptor, options: {
1807
+ buildSequence(sequence: SequencePrimitive, options: {
1808
1808
  sequences: Map<string, unknown>;
1809
1809
  schema: string;
1810
1810
  }): void;
1811
1811
  /**
1812
1812
  * Get SQLite-specific config builder for the table.
1813
1813
  */
1814
- protected getTableConfig(entity: EntityDescriptor, tables: Map<string, unknown>): ((self: BuildColumns<string, any, "sqlite">) => any) | undefined;
1814
+ protected getTableConfig(entity: EntityPrimitive, tables: Map<string, unknown>): ((self: BuildColumns<string, any, "sqlite">) => any) | undefined;
1815
1815
  schemaToSqliteColumns: <T extends TObject>(tableName: string, schema: T, enums: Map<string, unknown>, tables: Map<string, unknown>) => SchemaToSqliteBuilder<T>;
1816
1816
  mapFieldToSqliteColumn: (tableName: string, fieldName: string, value: TSchema, enums: Map<string, any>) => pg$1.SQLiteIntegerBuilderInitial<string> | pg$1.SQLiteNumericBuilderInitial<string> | pg$1.SQLiteTextBuilderInitial<string, [string, ...string[]], number | undefined> | drizzle_orm0.$Type<pg$1.SQLiteCustomColumnBuilder<{
1817
1817
  name: string;
@@ -1986,7 +1986,7 @@ declare class NodeSqliteProvider extends DatabaseProvider {
1986
1986
  get url(): string;
1987
1987
  execute(query: SQLLike): Promise<Array<Record<string, unknown>>>;
1988
1988
  readonly db: PgDatabase<any>;
1989
- protected readonly onStart: alepha1.HookDescriptor<"start">;
1989
+ protected readonly onStart: alepha1.HookPrimitive<"start">;
1990
1990
  protected executeMigrations(migrationsFolder: string): Promise<void>;
1991
1991
  }
1992
1992
  //#endregion
@@ -2026,9 +2026,9 @@ declare class PostgresTypeProvider {
2026
2026
  *
2027
2027
  * This is used to track the version of a row in the database.
2028
2028
  *
2029
- * You can use it for optimistic concurrency control (OCC) with {@link RepositoryDescriptor#save}.
2029
+ * You can use it for optimistic concurrency control (OCC) with {@link RepositoryPrimitive#save}.
2030
2030
  *
2031
- * @see {@link RepositoryDescriptor#save}
2031
+ * @see {@link RepositoryPrimitive#save}
2032
2032
  * @see {@link PgVersionMismatchError}
2033
2033
  */
2034
2034
  readonly version: (options?: TNumberOptions) => PgAttr<PgAttr<TInteger, typeof PG_VERSION>, typeof PG_DEFAULT>;
@@ -2067,7 +2067,7 @@ declare class PostgresTypeProvider {
2067
2067
  }) => PgAttr<T, PgRef>;
2068
2068
  /**
2069
2069
  * Creates a page schema for a given object schema.
2070
- * It's used by {@link RepositoryDescriptor#paginate} method.
2070
+ * It's used by {@link RepositoryPrimitive#paginate} method.
2071
2071
  */
2072
2072
  readonly page: <T extends TObject>(resource: T, options?: TObjectOptions) => TPage<T>;
2073
2073
  }
@@ -2076,10 +2076,10 @@ declare const pg: PostgresTypeProvider;
2076
2076
  //#region src/orm/providers/RepositoryProvider.d.ts
2077
2077
  declare class RepositoryProvider {
2078
2078
  protected readonly alepha: Alepha;
2079
- protected readonly registry: Map<EntityDescriptor<any>, Service<Repository<any>>>;
2079
+ protected readonly registry: Map<EntityPrimitive<any>, Service<Repository<any>>>;
2080
2080
  getRepositories(provider?: DatabaseProvider): Repository<TObject<alepha1.TProperties>>[];
2081
- getRepository<T extends TObject>(entity: EntityDescriptor<T>): Repository<T>;
2082
- createClassRepository<T extends TObject>(entity: EntityDescriptor<T>): Service<Repository<T>>;
2081
+ getRepository<T extends TObject>(entity: EntityPrimitive<T>): Repository<T>;
2082
+ createClassRepository<T extends TObject>(entity: EntityPrimitive<T>): Service<Repository<T>>;
2083
2083
  }
2084
2084
  //#endregion
2085
2085
  //#region src/orm/schemas/legacyIdSchema.d.ts
@@ -2209,5 +2209,5 @@ declare module "alepha" {
2209
2209
  */
2210
2210
  declare const AlephaPostgres: alepha1.Service<alepha1.Module>;
2211
2211
  //#endregion
2212
- export { $entity, $repository, $sequence, $transaction, AlephaPostgres, DatabaseProvider, DbConflictError, DbEntityNotFoundError, DbError, DbMigrationError, DbVersionMismatchError, DrizzleKitProvider, EntityColumn, EntityColumns, EntityDescriptor, EntityDescriptorOptions, FilterOperators, FromSchema, NodePostgresProvider, NodeSqliteProvider, NodeSqliteProviderOptions, OrderBy, OrderByClause, OrderDirection, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_IDENTITY, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, type Page, type PageQuery, PgAttr, PgAttrField, PgDefault, PgEnumOptions, PgIdentityOptions, PgPrimaryKey, PgQuery, PgQueryRelations, PgQueryWhere, PgQueryWhereOrSQL, PgRef, PgRefOptions, PgRelation, PgRelationMap, PgStatic, PgSymbolKeys, PgSymbols, PostgresTypeProvider, Repository, RepositoryProvider, SQLLike, SchemaToTableConfig, SequenceDescriptor, SequenceDescriptorOptions, StatementOptions, TObjectInsert, TObjectUpdate, TransactionContext, TransactionDescriptorOptions, buildQueryString, drizzle_orm0 as drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, parseQueryString, pg, pgAttr, schema, sql, updateSchema };
2212
+ export { $entity, $repository, $sequence, $transaction, AlephaPostgres, DatabaseProvider, DbConflictError, DbEntityNotFoundError, DbError, DbMigrationError, DbVersionMismatchError, DrizzleKitProvider, EntityColumn, EntityColumns, EntityPrimitive, EntityPrimitiveOptions, FilterOperators, FromSchema, NodePostgresProvider, NodeSqliteProvider, NodeSqliteProviderOptions, OrderBy, OrderByClause, OrderDirection, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_IDENTITY, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, type Page, type PageQuery, PgAttr, PgAttrField, PgDefault, PgEnumOptions, PgIdentityOptions, PgPrimaryKey, PgQuery, PgQueryRelations, PgQueryWhere, PgQueryWhereOrSQL, PgRef, PgRefOptions, PgRelation, PgRelationMap, PgStatic, PgSymbolKeys, PgSymbols, PostgresTypeProvider, Repository, RepositoryProvider, SQLLike, SchemaToTableConfig, SequencePrimitive, SequencePrimitiveOptions, StatementOptions, TObjectInsert, TObjectUpdate, TransactionContext, TransactionPrimitiveOptions, buildQueryString, drizzle_orm0 as drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, parseQueryString, pg, pgAttr, schema, sql, updateSchema };
2213
2213
  //# sourceMappingURL=index.d.ts.map