alepha 0.20.1 → 0.20.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 (232) hide show
  1. package/dist/api/files/index.js +2 -1
  2. package/dist/api/files/index.js.map +1 -1
  3. package/dist/api/jobs/index.browser.js +64 -148
  4. package/dist/api/jobs/index.browser.js.map +1 -1
  5. package/dist/api/jobs/index.d.ts +371 -573
  6. package/dist/api/jobs/index.d.ts.map +1 -1
  7. package/dist/api/jobs/index.js +605 -1012
  8. package/dist/api/jobs/index.js.map +1 -1
  9. package/dist/api/notifications/index.d.ts +78 -17
  10. package/dist/api/notifications/index.d.ts.map +1 -1
  11. package/dist/api/notifications/index.js +90 -23
  12. package/dist/api/notifications/index.js.map +1 -1
  13. package/dist/api/payments/index.d.ts +2 -1
  14. package/dist/api/payments/index.d.ts.map +1 -1
  15. package/dist/api/payments/index.js +4 -2
  16. package/dist/api/payments/index.js.map +1 -1
  17. package/dist/api/users/index.d.ts +34 -31
  18. package/dist/api/users/index.d.ts.map +1 -1
  19. package/dist/api/users/index.js +13 -7
  20. package/dist/api/users/index.js.map +1 -1
  21. package/dist/api/verifications/index.js +2 -1
  22. package/dist/api/verifications/index.js.map +1 -1
  23. package/dist/cli/core/index.d.ts +8 -34
  24. package/dist/cli/core/index.d.ts.map +1 -1
  25. package/dist/cli/core/index.js +43 -232
  26. package/dist/cli/core/index.js.map +1 -1
  27. package/dist/cli/platform/index.d.ts +36 -11
  28. package/dist/cli/platform/index.d.ts.map +1 -1
  29. package/dist/cli/platform/index.js +93 -27
  30. package/dist/cli/platform/index.js.map +1 -1
  31. package/dist/command/index.d.ts +1 -1
  32. package/dist/core/index.browser.js +6 -0
  33. package/dist/core/index.browser.js.map +1 -1
  34. package/dist/core/index.d.ts +6 -0
  35. package/dist/core/index.d.ts.map +1 -1
  36. package/dist/core/index.js +6 -0
  37. package/dist/core/index.js.map +1 -1
  38. package/dist/core/index.native.js +6 -0
  39. package/dist/core/index.native.js.map +1 -1
  40. package/dist/core/index.workerd.js +6 -0
  41. package/dist/core/index.workerd.js.map +1 -1
  42. package/dist/react/form/index.d.ts +60 -1
  43. package/dist/react/form/index.d.ts.map +1 -1
  44. package/dist/react/form/index.js +86 -1
  45. package/dist/react/form/index.js.map +1 -1
  46. package/dist/react/head/index.browser.js +16 -1
  47. package/dist/react/head/index.browser.js.map +1 -1
  48. package/dist/react/head/index.d.ts +6 -0
  49. package/dist/react/head/index.d.ts.map +1 -1
  50. package/dist/react/head/index.js +16 -1
  51. package/dist/react/head/index.js.map +1 -1
  52. package/dist/react/router/index.browser.js +0 -10
  53. package/dist/react/router/index.browser.js.map +1 -1
  54. package/dist/react/router/index.d.ts +35 -12
  55. package/dist/react/router/index.d.ts.map +1 -1
  56. package/dist/react/router/index.js +0 -10
  57. package/dist/react/router/index.js.map +1 -1
  58. package/dist/react/ui/index.d.ts +124 -0
  59. package/dist/react/ui/index.d.ts.map +1 -0
  60. package/dist/react/ui/index.js +206 -0
  61. package/dist/react/ui/index.js.map +1 -0
  62. package/dist/router/index.d.ts +13 -13
  63. package/dist/router/index.d.ts.map +1 -1
  64. package/dist/router/index.js +45 -32
  65. package/dist/router/index.js.map +1 -1
  66. package/dist/system/index.d.ts.map +1 -1
  67. package/dist/system/index.js +1 -0
  68. package/dist/system/index.js.map +1 -1
  69. package/dist/topic/core/index.js +1 -1
  70. package/dist/topic/core/index.js.map +1 -1
  71. package/package.json +6 -23
  72. package/src/api/files/jobs/FileJobs.ts +2 -1
  73. package/src/api/jobs/__tests__/$job.spec.ts +316 -2867
  74. package/src/api/jobs/controllers/AdminJobController.ts +29 -138
  75. package/src/api/jobs/entities/jobExecutionEntity.ts +27 -19
  76. package/src/api/jobs/index.browser.ts +5 -7
  77. package/src/api/jobs/index.ts +23 -51
  78. package/src/api/jobs/primitives/$job.ts +66 -58
  79. package/src/api/jobs/providers/JobProvider.ts +561 -566
  80. package/src/api/jobs/providers/JobQueueProvider.ts +18 -19
  81. package/src/api/jobs/schemas/jobConfigAtom.ts +20 -23
  82. package/src/api/jobs/schemas/jobExecutionQuerySchema.ts +3 -27
  83. package/src/api/jobs/schemas/jobExecutionResourceSchema.ts +5 -7
  84. package/src/api/jobs/schemas/jobRegistrationSchema.ts +7 -4
  85. package/src/api/jobs/schemas/triggerJobSchema.ts +0 -1
  86. package/src/api/jobs/services/JobService.ts +90 -483
  87. package/src/api/notifications/controllers/AdminNotificationController.ts +19 -12
  88. package/src/api/notifications/index.ts +7 -4
  89. package/src/api/notifications/jobs/NotificationJobs.ts +83 -12
  90. package/src/api/payments/services/PaymentService.ts +4 -2
  91. package/src/api/users/__tests__/UserJobs.spec.ts +10 -49
  92. package/src/api/users/audits/UserAudits.ts +3 -1
  93. package/src/api/users/buckets/UserBuckets.ts +2 -1
  94. package/src/api/users/index.ts +1 -4
  95. package/src/api/users/jobs/UserJobs.ts +5 -4
  96. package/src/api/verifications/jobs/VerificationJobs.ts +2 -1
  97. package/src/cli/core/__tests__/init.spec.ts +1 -1
  98. package/src/cli/core/commands/init.ts +0 -12
  99. package/src/cli/core/services/PackageManagerUtils.ts +2 -9
  100. package/src/cli/core/services/ProjectScaffolder.ts +17 -65
  101. package/src/cli/core/templates/agentMd.ts +2 -8
  102. package/src/cli/core/templates/apiIndexTs.ts +4 -18
  103. package/src/cli/core/templates/mainCss.ts +1 -36
  104. package/src/cli/core/templates/vitestConfigTs.ts +17 -0
  105. package/src/cli/core/templates/webAppRouterTs.ts +2 -85
  106. package/src/cli/platform/__tests__/CloudflareAdapter.spec.ts +22 -71
  107. package/src/cli/platform/adapters/CloudflareAdapter.ts +12 -11
  108. package/src/cli/platform/atoms/platformOptions.ts +9 -0
  109. package/src/cli/platform/schemas/cloudflare.ts +3 -2
  110. package/src/cli/platform/services/CloudflareApi.ts +164 -25
  111. package/src/cli/platform/services/WranglerApi.ts +0 -17
  112. package/src/core/Alepha.ts +9 -0
  113. package/src/react/form/index.ts +2 -0
  114. package/src/react/form/services/parseField.ts +163 -0
  115. package/src/react/form/services/prettyName.ts +19 -0
  116. package/src/react/head/providers/BrowserHeadProvider.ts +31 -10
  117. package/src/react/router/primitives/$page.ts +35 -12
  118. package/src/react/ui/atoms/uiAtom.ts +28 -0
  119. package/src/react/ui/components/ColorScheme.tsx +36 -0
  120. package/src/react/ui/hooks/useColorMode.ts +49 -0
  121. package/src/react/ui/hooks/useSidebarState.ts +26 -0
  122. package/src/react/ui/hooks/useTheme.ts +22 -0
  123. package/src/react/ui/index.ts +35 -0
  124. package/src/react/ui/services/UiPersistence.ts +41 -0
  125. package/src/router/TemplatedPathParser.ts +50 -51
  126. package/src/router/__tests__/RouterProvider.spec.ts +62 -0
  127. package/src/router/__tests__/TemplatedPathParser.spec.ts +18 -0
  128. package/src/router/providers/RouterProvider.ts +10 -5
  129. package/src/system/providers/NodeShellProvider.ts +1 -0
  130. package/src/topic/core/providers/TopicProvider.ts +1 -1
  131. package/dist/api/invitations/index.d.ts +0 -790
  132. package/dist/api/invitations/index.d.ts.map +0 -1
  133. package/dist/api/invitations/index.js +0 -662
  134. package/dist/api/invitations/index.js.map +0 -1
  135. package/dist/api/issues/index.d.ts +0 -810
  136. package/dist/api/issues/index.d.ts.map +0 -1
  137. package/dist/api/issues/index.js +0 -444
  138. package/dist/api/issues/index.js.map +0 -1
  139. package/dist/api/subscriptions/index.d.ts +0 -1692
  140. package/dist/api/subscriptions/index.d.ts.map +0 -1
  141. package/dist/api/subscriptions/index.js +0 -1867
  142. package/dist/api/subscriptions/index.js.map +0 -1
  143. package/dist/api/workflows/index.browser.js +0 -246
  144. package/dist/api/workflows/index.browser.js.map +0 -1
  145. package/dist/api/workflows/index.d.ts +0 -1618
  146. package/dist/api/workflows/index.d.ts.map +0 -1
  147. package/dist/api/workflows/index.js +0 -1495
  148. package/dist/api/workflows/index.js.map +0 -1
  149. package/src/api/invitations/__tests__/InvitationService.spec.ts +0 -439
  150. package/src/api/invitations/controllers/AdminInvitationController.ts +0 -86
  151. package/src/api/invitations/controllers/InvitationController.ts +0 -84
  152. package/src/api/invitations/entities/invitations.ts +0 -33
  153. package/src/api/invitations/index.ts +0 -58
  154. package/src/api/invitations/jobs/InvitationJobs.ts +0 -37
  155. package/src/api/invitations/providers/InvitationProvider.ts +0 -45
  156. package/src/api/invitations/schemas/createInvitationSchema.ts +0 -12
  157. package/src/api/invitations/schemas/invitationConfigAtom.ts +0 -20
  158. package/src/api/invitations/schemas/invitationQuerySchema.ts +0 -15
  159. package/src/api/invitations/schemas/invitationResourceSchema.ts +0 -6
  160. package/src/api/invitations/schemas/invitationWithResourceInfoSchema.ts +0 -22
  161. package/src/api/invitations/schemas/myInvitationsQuerySchema.ts +0 -10
  162. package/src/api/invitations/services/InvitationService.ts +0 -556
  163. package/src/api/issues/__tests__/IssueService.spec.ts +0 -263
  164. package/src/api/issues/controllers/AdminIssueController.ts +0 -149
  165. package/src/api/issues/controllers/IssueController.ts +0 -44
  166. package/src/api/issues/entities/issues.ts +0 -49
  167. package/src/api/issues/index.ts +0 -50
  168. package/src/api/issues/schemas/createIssueSchema.ts +0 -13
  169. package/src/api/issues/schemas/issueConfigAtom.ts +0 -13
  170. package/src/api/issues/schemas/issueQuerySchema.ts +0 -18
  171. package/src/api/issues/schemas/issueResourceSchema.ts +0 -6
  172. package/src/api/issues/schemas/myIssueQuerySchema.ts +0 -10
  173. package/src/api/issues/schemas/updateIssueSchema.ts +0 -13
  174. package/src/api/issues/services/IssueService.ts +0 -264
  175. package/src/api/jobs/__tests__/$job-middleware.spec.ts +0 -126
  176. package/src/api/jobs/__tests__/JobService.spec.ts +0 -31
  177. package/src/api/jobs/entities/jobExecutionLogEntity.ts +0 -13
  178. package/src/api/jobs/schemas/jobActivitySchema.ts +0 -15
  179. package/src/api/jobs/schemas/jobCronInfoSchema.ts +0 -22
  180. package/src/api/jobs/schemas/jobExecutionDetailResourceSchema.ts +0 -20
  181. package/src/api/jobs/schemas/jobFailureSchema.ts +0 -9
  182. package/src/api/jobs/schemas/jobQueueDepthSchema.ts +0 -14
  183. package/src/api/jobs/schemas/jobStatsSchema.ts +0 -14
  184. package/src/api/jobs/services/JobService-tests.ts +0 -157
  185. package/src/api/subscriptions/__tests__/BillingService.spec.ts +0 -218
  186. package/src/api/subscriptions/__tests__/SubscriptionService.spec.ts +0 -278
  187. package/src/api/subscriptions/controllers/AdminSubscriptionController.ts +0 -212
  188. package/src/api/subscriptions/controllers/SubscriptionController.ts +0 -189
  189. package/src/api/subscriptions/entities/subscriptionEvents.ts +0 -54
  190. package/src/api/subscriptions/entities/subscriptions.ts +0 -68
  191. package/src/api/subscriptions/index.ts +0 -133
  192. package/src/api/subscriptions/jobs/SubscriptionJobs.ts +0 -382
  193. package/src/api/subscriptions/middleware/$requireLimit.ts +0 -50
  194. package/src/api/subscriptions/middleware/$requirePlan.ts +0 -49
  195. package/src/api/subscriptions/notifications/SubscriptionNotifications.ts +0 -110
  196. package/src/api/subscriptions/schemas/cancelSubscriptionSchema.ts +0 -8
  197. package/src/api/subscriptions/schemas/changePlanSchema.ts +0 -9
  198. package/src/api/subscriptions/schemas/createSubscriptionSchema.ts +0 -11
  199. package/src/api/subscriptions/schemas/entitlementsSchema.ts +0 -21
  200. package/src/api/subscriptions/schemas/mrrSchema.ts +0 -13
  201. package/src/api/subscriptions/schemas/planDefinitionSchema.ts +0 -71
  202. package/src/api/subscriptions/schemas/planResourceSchema.ts +0 -25
  203. package/src/api/subscriptions/schemas/subscriptionEventResourceSchema.ts +0 -8
  204. package/src/api/subscriptions/schemas/subscriptionQuerySchema.ts +0 -19
  205. package/src/api/subscriptions/schemas/subscriptionResourceSchema.ts +0 -6
  206. package/src/api/subscriptions/schemas/subscriptionSettingsSchema.ts +0 -32
  207. package/src/api/subscriptions/schemas/subscriptionStatsSchema.ts +0 -23
  208. package/src/api/subscriptions/services/BillingService.ts +0 -437
  209. package/src/api/subscriptions/services/SubscriptionConfig.ts +0 -56
  210. package/src/api/subscriptions/services/SubscriptionService.ts +0 -867
  211. package/src/api/subscriptions/services/UsageService.ts +0 -118
  212. package/src/api/workflows/__tests__/$workflow.spec.ts +0 -616
  213. package/src/api/workflows/controllers/AdminWorkflowController.ts +0 -191
  214. package/src/api/workflows/entities/workflowExecutions.ts +0 -74
  215. package/src/api/workflows/entities/workflowStepExecutions.ts +0 -74
  216. package/src/api/workflows/entities/workflowStepLogs.ts +0 -13
  217. package/src/api/workflows/index.browser.ts +0 -22
  218. package/src/api/workflows/index.ts +0 -115
  219. package/src/api/workflows/jobs/WorkflowJobs.ts +0 -77
  220. package/src/api/workflows/primitives/$workflow.ts +0 -202
  221. package/src/api/workflows/providers/WorkflowProvider.ts +0 -1284
  222. package/src/api/workflows/schemas/workflowActivitySchema.ts +0 -15
  223. package/src/api/workflows/schemas/workflowConfigAtom.ts +0 -51
  224. package/src/api/workflows/schemas/workflowExecutionDetailSchema.ts +0 -18
  225. package/src/api/workflows/schemas/workflowExecutionQuerySchema.ts +0 -26
  226. package/src/api/workflows/schemas/workflowExecutionResourceSchema.ts +0 -30
  227. package/src/api/workflows/schemas/workflowRegistrationSchema.ts +0 -26
  228. package/src/api/workflows/schemas/workflowStatsSchema.ts +0 -16
  229. package/src/api/workflows/schemas/workflowStepExecutionResourceSchema.ts +0 -15
  230. package/src/api/workflows/services/WorkflowService.ts +0 -382
  231. package/src/cli/core/templates/apiAppSecurityTs.ts +0 -43
  232. package/src/cli/core/templates/webAdminDashboardTsx.ts +0 -17
@@ -1,810 +0,0 @@
1
- import * as _$alepha from "alepha";
2
- import { Alepha, Static, TNull, TObject, TOptional, TSchema, TUnion } from "alepha";
3
- import * as _$alepha_server0 from "alepha/server";
4
- import * as _$alepha_orm0 from "alepha/orm";
5
- import { Page } from "alepha/orm";
6
- import { DateTimeProvider } from "alepha/datetime";
7
- import * as _$alepha_logger0 from "alepha/logger";
8
- import { BuildExtraConfigColumns, SQL } from "drizzle-orm";
9
- import { PgColumnBuilderBase, PgSequenceOptions, PgTableExtraConfigValue, UpdateDeleteAction } from "drizzle-orm/pg-core";
10
- //#region ../../src/api/issues/entities/issues.d.ts
11
- declare const issueTypeSchema: _$alepha.TUnsafe<"bug" | "feature" | "improvement">;
12
- declare const issuePrioritySchema: _$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">;
13
- declare const issueStatusSchema: _$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">;
14
- declare const issues: _$alepha_orm0.EntityPrimitive<_$alepha.TObject<{
15
- id: _$alepha_orm0.PgAttr<_$alepha_orm0.PgAttr<_$alepha.TString, typeof _$alepha_orm0.PG_PRIMARY_KEY>, typeof _$alepha_orm0.PG_DEFAULT>;
16
- version: _$alepha_orm0.PgAttr<_$alepha_orm0.PgAttr<_$alepha.TInteger, typeof _$alepha_orm0.PG_VERSION>, typeof _$alepha_orm0.PG_DEFAULT>;
17
- createdAt: _$alepha_orm0.PgAttr<_$alepha_orm0.PgAttr<_$alepha.TString, typeof _$alepha_orm0.PG_CREATED_AT>, typeof _$alepha_orm0.PG_DEFAULT>;
18
- updatedAt: _$alepha_orm0.PgAttr<_$alepha_orm0.PgAttr<_$alepha.TString, typeof _$alepha_orm0.PG_UPDATED_AT>, typeof _$alepha_orm0.PG_DEFAULT>;
19
- createdBy: _$alepha_orm0.PgAttr<_$alepha.TString, typeof _$alepha_orm0.PG_REF>;
20
- title: _$alepha.TString;
21
- type: _$alepha_orm0.PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof _$alepha_orm0.PG_DEFAULT>;
22
- priority: _$alepha_orm0.PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof _$alepha_orm0.PG_DEFAULT>;
23
- status: _$alepha_orm0.PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof _$alepha_orm0.PG_DEFAULT>;
24
- description: _$alepha.TOptional<_$alepha.TString>;
25
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
26
- assigneeId: _$alepha.TOptional<_$alepha_orm0.PgAttr<_$alepha.TString, typeof _$alepha_orm0.PG_REF>>;
27
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
28
- resolution: _$alepha.TOptional<_$alepha.TString>;
29
- completedAt: _$alepha.TOptional<_$alepha.TString>;
30
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
31
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
32
- }>>;
33
- type IssueEntity = Static<typeof issues.schema>;
34
- //#endregion
35
- //#region ../../src/orm/core/schemas/insertSchema.d.ts
36
- /**
37
- * Transforms a TObject schema for insert operations.
38
- * All default properties at the root level are made optional.
39
- * Generated columns are excluded entirely.
40
- *
41
- * @example
42
- * Before: { name: string; age: number(default=0); fullName: generated }
43
- * After: { name: string; age?: number; }
44
- */
45
- type TObjectInsert<T extends TObject> = TObject<{ [K in keyof T["properties"] as T["properties"][K] extends {
46
- [PG_GENERATED]: any;
47
- } ? never : K]: T["properties"][K] extends {
48
- [PG_DEFAULT]: any;
49
- } | {
50
- "~optional": true;
51
- } ? TOptional<T["properties"][K]> : T["properties"][K] }>;
52
- //#endregion
53
- //#region ../../src/orm/core/schemas/updateSchema.d.ts
54
- /**
55
- * Transforms a TObject schema for update operations.
56
- * All optional properties at the root level are made nullable (i.e., `T | null`).
57
- * Generated columns are excluded entirely.
58
- *
59
- * @example
60
- * Before: { name?: string; age: number; fullName: generated }
61
- * After: { name?: string | null; age: number; }
62
- */
63
- type TObjectUpdate<T extends TObject> = TObject<{ [K in keyof T["properties"] as T["properties"][K] extends {
64
- [PG_GENERATED]: any;
65
- } ? never : K]: T["properties"][K] extends TOptional<infer U> ? TOptional<TUnion<[U, TNull]>> : T["properties"][K] }>;
66
- //#endregion
67
- //#region ../../src/orm/core/primitives/$entity.d.ts
68
- interface EntityPrimitiveOptions<T extends TObject, Keys = keyof Static<T>> {
69
- /**
70
- * The database table name that will be created for this entity.
71
- * If not provided, name will be inferred from the $repository variable name.
72
- */
73
- name: string;
74
- /**
75
- * TypeBox schema defining the table structure and column types.
76
- */
77
- schema: T;
78
- /**
79
- * Database indexes to create for query optimization.
80
- */
81
- indexes?: (Keys | {
82
- /**
83
- * Single column to index.
84
- */
85
- column: Keys;
86
- /**
87
- * Whether this should be a unique index (enforces uniqueness constraint).
88
- */
89
- unique?: boolean;
90
- /**
91
- * Custom name for the index. If not provided, generates name automatically.
92
- */
93
- name?: string;
94
- /**
95
- * Partial index condition. Only rows matching this SQL expression are indexed.
96
- */
97
- where?: SQL;
98
- } | {
99
- /**
100
- * Multiple columns for composite index (order matters for query optimization).
101
- */
102
- columns: Keys[];
103
- /**
104
- * Whether this should be a unique index (enforces uniqueness constraint).
105
- */
106
- unique?: boolean;
107
- /**
108
- * Custom name for the index. If not provided, generates name automatically.
109
- */
110
- name?: string;
111
- /**
112
- * Partial index condition. Only rows matching this SQL expression are indexed.
113
- */
114
- where?: SQL;
115
- } | {
116
- /**
117
- * SQL expressions for expression-based indexes.
118
- *
119
- * Can include column references and SQL functions like `LOWER()`, `UPPER()`, etc.
120
- * Columns and expressions can be mixed together.
121
- *
122
- * @example
123
- * ```ts
124
- * // Case-insensitive unique username per realm
125
- * indexes: [{
126
- * expressions: (self) => [self.realm, sql`LOWER(${self.username})`],
127
- * unique: true,
128
- * name: "users_realm_username_lower_idx",
129
- * }]
130
- * ```
131
- */
132
- expressions: (self: Record<Keys & string, any>) => (SQL | any)[];
133
- /**
134
- * Whether this should be a unique index (enforces uniqueness constraint).
135
- */
136
- unique?: boolean;
137
- /**
138
- * Custom name for the index. If not provided, generates name automatically.
139
- */
140
- name: string;
141
- /**
142
- * Partial index condition. Only rows matching this SQL expression are indexed.
143
- */
144
- where?: SQL;
145
- })[];
146
- /**
147
- * Foreign key constraints to maintain referential integrity.
148
- */
149
- foreignKeys?: Array<{
150
- /**
151
- * Optional name for the foreign key constraint.
152
- */
153
- name?: string;
154
- /**
155
- * Local columns that reference the foreign table.
156
- */
157
- columns: Array<keyof Static<T>>;
158
- /**
159
- * Referenced columns in the foreign table.
160
- * Must be EntityColumn references from other entities.
161
- */
162
- foreignColumns: Array<() => EntityColumn<any>>;
163
- }>;
164
- /**
165
- * Additional table constraints for data validation.
166
- *
167
- * Constraints enforce business rules at the database level, providing
168
- * an additional layer of data integrity beyond application validation.
169
- *
170
- * **Constraint Types**:
171
- * - **Unique constraints**: Prevent duplicate values across columns
172
- * - **Check constraints**: Enforce custom validation rules with SQL expressions
173
- *
174
- * @example
175
- * ```ts
176
- * constraints: [
177
- * {
178
- * name: "unique_user_email",
179
- * columns: ["email"],
180
- * unique: true
181
- * },
182
- * {
183
- * name: "valid_age_range",
184
- * columns: ["age"],
185
- * check: sql`age >= 0 AND age <= 150`
186
- * },
187
- * {
188
- * name: "unique_user_username_per_tenant",
189
- * columns: ["tenantId", "username"],
190
- * unique: true
191
- * }
192
- * ]
193
- * ```
194
- */
195
- constraints?: Array<{
196
- /**
197
- * Columns involved in this constraint.
198
- */
199
- columns: Array<keyof Static<T>>;
200
- /**
201
- * Optional name for the constraint.
202
- */
203
- name?: string;
204
- /**
205
- * Whether this is a unique constraint.
206
- */
207
- unique?: boolean | {};
208
- /**
209
- * SQL expression for check constraint validation.
210
- */
211
- check?: SQL;
212
- }>;
213
- /**
214
- * Advanced Drizzle ORM configuration for complex table setups.
215
- */
216
- config?: (self: BuildExtraConfigColumns<string, FromSchema<T>, "pg">) => PgTableExtraConfigValue[];
217
- }
218
- declare class EntityPrimitive<T extends TObject = TObject> {
219
- readonly options: EntityPrimitiveOptions<T>;
220
- constructor(options: EntityPrimitiveOptions<T>);
221
- alias(alias: string): this;
222
- get cols(): EntityColumns<T>;
223
- get name(): string;
224
- get schema(): T;
225
- get insertSchema(): TObjectInsert<T>;
226
- get updateSchema(): TObjectUpdate<T>;
227
- }
228
- /**
229
- * Convert a schema to columns.
230
- */
231
- type FromSchema<T extends TObject> = { [key in keyof T["properties"]]: PgColumnBuilderBase };
232
- type EntityColumn<T extends TObject> = {
233
- name: string;
234
- entity: EntityPrimitive<T>;
235
- };
236
- type EntityColumns<T extends TObject> = { [key in keyof T["properties"]]: EntityColumn<T> };
237
- //#endregion
238
- //#region ../../src/orm/core/constants/PG_SYMBOLS.d.ts
239
- declare const PG_DEFAULT: unique symbol;
240
- declare const PG_PRIMARY_KEY: unique symbol;
241
- declare const PG_CREATED_AT: unique symbol;
242
- declare const PG_UPDATED_AT: unique symbol;
243
- declare const PG_DELETED_AT: unique symbol;
244
- declare const PG_VERSION: unique symbol;
245
- declare const PG_IDENTITY: unique symbol;
246
- declare const PG_ENUM: unique symbol;
247
- declare const PG_REF: unique symbol;
248
- declare const PG_GENERATED: unique symbol;
249
- declare const PG_ORGANIZATION: unique symbol;
250
- /**
251
- * @deprecated Use `PG_IDENTITY` instead.
252
- */
253
- declare const PG_SERIAL: unique symbol;
254
- type PgSymbols = {
255
- [PG_DEFAULT]: {};
256
- [PG_PRIMARY_KEY]: {};
257
- [PG_CREATED_AT]: {};
258
- [PG_UPDATED_AT]: {};
259
- [PG_DELETED_AT]: {};
260
- [PG_VERSION]: {};
261
- [PG_IDENTITY]: PgIdentityOptions;
262
- [PG_REF]: PgRefOptions;
263
- [PG_ENUM]: PgEnumOptions;
264
- [PG_GENERATED]: PgGeneratedOptions;
265
- [PG_ORGANIZATION]: {};
266
- /**
267
- * @deprecated Use `PG_IDENTITY` instead.
268
- */
269
- [PG_SERIAL]: {};
270
- };
271
- type PgSymbolKeys = keyof PgSymbols;
272
- type PgIdentityOptions = {
273
- mode: "always" | "byDefault";
274
- } & PgSequenceOptions & {
275
- name?: string;
276
- };
277
- interface PgEnumOptions {
278
- name?: string;
279
- description?: string;
280
- }
281
- interface PgGeneratedOptions {
282
- /**
283
- * SQL expression for the generated column.
284
- */
285
- expression: SQL;
286
- /**
287
- * Storage mode for the generated column.
288
- * - `"stored"` — value is computed on write and stored on disk (default for PostgreSQL).
289
- * - `"virtual"` — value is computed on read (default for SQLite).
290
- */
291
- mode?: "stored" | "virtual";
292
- }
293
- interface PgRefOptions {
294
- ref: () => {
295
- name: string;
296
- entity: EntityPrimitive;
297
- };
298
- actions?: {
299
- onUpdate?: UpdateDeleteAction;
300
- onDelete?: UpdateDeleteAction;
301
- };
302
- }
303
- //#endregion
304
- //#region ../../src/orm/core/helpers/pgAttr.d.ts
305
- /**
306
- * Type representation.
307
- */
308
- type PgAttr<T extends TSchema, TAttr extends PgSymbolKeys> = T & { [K in TAttr]: PgSymbols[K] };
309
- //#endregion
310
- //#region ../../src/orm/core/schemas/databaseEnvSchema.d.ts
311
- /**
312
- * Base database environment schema.
313
- *
314
- * Defines the `DATABASE_URL` connection string used by all ORM providers
315
- * to determine the database driver and connection target.
316
- *
317
- * Supported URL formats:
318
- * - `sqlite://:memory:` or `sqlite://./path/to/db` — SQLite (Node.js or Bun)
319
- * - `postgres://user:password@host:port/database` — PostgreSQL (Node.js or Bun)
320
- * - `pglite://:memory:` or `pglite://./path` — PGlite (embedded Postgres)
321
- * - `d1://BINDING_NAME` — Cloudflare D1
322
- * - `hyperdrive://BINDING_NAME` — Cloudflare Hyperdrive
323
- */
324
- declare const databaseEnvSchema: _$alepha.TObject<{
325
- DATABASE_URL: _$alepha.TOptional<_$alepha.TString>;
326
- /**
327
- * Enable or disable push-based schema synchronization (drizzle-kit push).
328
- *
329
- * Defaults to `true` in development and test, `false` in production.
330
- * Set to `false` in development to skip automatic schema sync
331
- * (e.g. when managing migrations manually).
332
- */
333
- DATABASE_SYNC: _$alepha.TOptional<_$alepha.TBoolean>;
334
- }>;
335
- declare module "alepha" {
336
- interface Env extends Partial<Static<typeof databaseEnvSchema>> {}
337
- } //# sourceMappingURL=databaseEnvSchema.d.ts.map
338
- //#endregion
339
- //#region ../../src/api/issues/schemas/createIssueSchema.d.ts
340
- declare const createIssueSchema: _$alepha.TObject<{
341
- title: _$alepha.TString;
342
- type: _$alepha.TOptional<_$alepha.TUnsafe<"bug" | "feature" | "improvement">>;
343
- priority: _$alepha.TOptional<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">>;
344
- description: _$alepha.TOptional<_$alepha.TString>;
345
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
346
- }>;
347
- type CreateIssue = Static<typeof createIssueSchema>;
348
- //#endregion
349
- //#region ../../src/api/issues/schemas/issueQuerySchema.d.ts
350
- declare const issueQuerySchema: _$alepha.TObject<{
351
- page: _$alepha.TOptional<_$alepha.TInteger>;
352
- size: _$alepha.TOptional<_$alepha.TInteger>;
353
- sort: _$alepha.TOptional<_$alepha.TString>;
354
- status: _$alepha.TOptional<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">>;
355
- type: _$alepha.TOptional<_$alepha.TUnsafe<"bug" | "feature" | "improvement">>;
356
- priority: _$alepha.TOptional<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">>;
357
- assigneeId: _$alepha.TOptional<_$alepha.TString>;
358
- search: _$alepha.TOptional<_$alepha.TString>;
359
- }>;
360
- type IssueQuery = Static<typeof issueQuerySchema>;
361
- //#endregion
362
- //#region ../../src/api/issues/schemas/myIssueQuerySchema.d.ts
363
- declare const myIssueQuerySchema: _$alepha.TObject<{
364
- page: _$alepha.TOptional<_$alepha.TInteger>;
365
- size: _$alepha.TOptional<_$alepha.TInteger>;
366
- sort: _$alepha.TOptional<_$alepha.TString>;
367
- status: _$alepha.TOptional<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">>;
368
- }>;
369
- type MyIssueQuery = Static<typeof myIssueQuerySchema>;
370
- //#endregion
371
- //#region ../../src/api/issues/schemas/updateIssueSchema.d.ts
372
- declare const updateIssueSchema: _$alepha.TObject<{
373
- title: _$alepha.TOptional<_$alepha.TString>;
374
- type: _$alepha.TOptional<_$alepha.TUnsafe<"bug" | "feature" | "improvement">>;
375
- priority: _$alepha.TOptional<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">>;
376
- description: _$alepha.TOptional<_$alepha.TString>;
377
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
378
- }>;
379
- type UpdateIssue = Static<typeof updateIssueSchema>;
380
- //#endregion
381
- //#region ../../src/api/issues/services/IssueService.d.ts
382
- declare class IssueService {
383
- protected readonly alepha: Alepha;
384
- protected readonly log: _$alepha_logger0.Logger;
385
- protected readonly repo: _$alepha_orm0.Repository<_$alepha.TObject<{
386
- id: _$alepha_orm0.PgAttr<_$alepha_orm0.PgAttr<_$alepha.TString, typeof _$alepha_orm0.PG_PRIMARY_KEY>, typeof _$alepha_orm0.PG_DEFAULT>;
387
- version: _$alepha_orm0.PgAttr<_$alepha_orm0.PgAttr<_$alepha.TInteger, typeof _$alepha_orm0.PG_VERSION>, typeof _$alepha_orm0.PG_DEFAULT>;
388
- createdAt: _$alepha_orm0.PgAttr<_$alepha_orm0.PgAttr<_$alepha.TString, typeof _$alepha_orm0.PG_CREATED_AT>, typeof _$alepha_orm0.PG_DEFAULT>;
389
- updatedAt: _$alepha_orm0.PgAttr<_$alepha_orm0.PgAttr<_$alepha.TString, typeof _$alepha_orm0.PG_UPDATED_AT>, typeof _$alepha_orm0.PG_DEFAULT>;
390
- createdBy: _$alepha_orm0.PgAttr<_$alepha.TString, typeof _$alepha_orm0.PG_REF>;
391
- title: _$alepha.TString;
392
- type: _$alepha_orm0.PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof _$alepha_orm0.PG_DEFAULT>;
393
- priority: _$alepha_orm0.PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof _$alepha_orm0.PG_DEFAULT>;
394
- status: _$alepha_orm0.PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof _$alepha_orm0.PG_DEFAULT>;
395
- description: _$alepha.TOptional<_$alepha.TString>;
396
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
397
- assigneeId: _$alepha.TOptional<_$alepha_orm0.PgAttr<_$alepha.TString, typeof _$alepha_orm0.PG_REF>>;
398
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
399
- resolution: _$alepha.TOptional<_$alepha.TString>;
400
- completedAt: _$alepha.TOptional<_$alepha.TString>;
401
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
402
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
403
- }>>;
404
- protected readonly dateTime: DateTimeProvider;
405
- /**
406
- * Get an issue by ID.
407
- */
408
- getById(id: string): Promise<IssueEntity>;
409
- /**
410
- * Create a new issue.
411
- */
412
- create(data: CreateIssue, createdBy: {
413
- id: string;
414
- }): Promise<IssueEntity>;
415
- /**
416
- * Find issues for the current user.
417
- */
418
- findMine(userId: string, query?: MyIssueQuery): Promise<Page<IssueEntity>>;
419
- /**
420
- * Find issues with pagination and filtering (admin).
421
- */
422
- find(query?: IssueQuery): Promise<Page<IssueEntity>>;
423
- /**
424
- * Update issue fields (admin).
425
- */
426
- update(id: string, data: UpdateIssue): Promise<IssueEntity>;
427
- /**
428
- * Assign an issue to a user.
429
- */
430
- assign(id: string, assigneeId: string): Promise<IssueEntity>;
431
- /**
432
- * Complete an issue with resolution notes.
433
- */
434
- complete(id: string, resolution: string): Promise<IssueEntity>;
435
- /**
436
- * Reopen a completed issue.
437
- */
438
- reopen(id: string, reason: string): Promise<IssueEntity>;
439
- /**
440
- * Archive a completed issue.
441
- */
442
- archive(id: string): Promise<IssueEntity>;
443
- /**
444
- * Delete an issue.
445
- */
446
- deleteIssue(id: string): Promise<void>;
447
- }
448
- //#endregion
449
- //#region ../../src/api/issues/controllers/AdminIssueController.d.ts
450
- declare class AdminIssueController {
451
- protected readonly url = "/issues";
452
- protected readonly group = "admin:issues";
453
- protected readonly issueService: IssueService;
454
- /**
455
- * Find issues with pagination and filtering.
456
- */
457
- readonly findIssues: _$alepha_server0.ActionPrimitiveFn<{
458
- query: _$alepha.TObject<{
459
- page: _$alepha.TOptional<_$alepha.TInteger>;
460
- size: _$alepha.TOptional<_$alepha.TInteger>;
461
- sort: _$alepha.TOptional<_$alepha.TString>;
462
- status: _$alepha.TOptional<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">>;
463
- type: _$alepha.TOptional<_$alepha.TUnsafe<"bug" | "feature" | "improvement">>;
464
- priority: _$alepha.TOptional<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">>;
465
- assigneeId: _$alepha.TOptional<_$alepha.TString>;
466
- search: _$alepha.TOptional<_$alepha.TString>;
467
- }>;
468
- response: _$alepha.TPage<_$alepha.TObject<{
469
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
470
- version: PgAttr<PgAttr<_$alepha.TInteger, typeof PG_VERSION>, typeof PG_DEFAULT>;
471
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
472
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
473
- createdBy: PgAttr<_$alepha.TString, typeof PG_REF>;
474
- title: _$alepha.TString;
475
- type: PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof PG_DEFAULT>;
476
- priority: PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof PG_DEFAULT>;
477
- status: PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof PG_DEFAULT>;
478
- description: _$alepha.TOptional<_$alepha.TString>;
479
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
480
- assigneeId: _$alepha.TOptional<PgAttr<_$alepha.TString, typeof PG_REF>>;
481
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
482
- resolution: _$alepha.TOptional<_$alepha.TString>;
483
- completedAt: _$alepha.TOptional<_$alepha.TString>;
484
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
485
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
486
- }>>;
487
- }>;
488
- /**
489
- * Get an issue by ID.
490
- */
491
- readonly getIssue: _$alepha_server0.ActionPrimitiveFn<{
492
- params: _$alepha.TObject<{
493
- id: _$alepha.TString;
494
- }>;
495
- response: _$alepha.TObject<{
496
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
497
- version: PgAttr<PgAttr<_$alepha.TInteger, typeof PG_VERSION>, typeof PG_DEFAULT>;
498
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
499
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
500
- createdBy: PgAttr<_$alepha.TString, typeof PG_REF>;
501
- title: _$alepha.TString;
502
- type: PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof PG_DEFAULT>;
503
- priority: PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof PG_DEFAULT>;
504
- status: PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof PG_DEFAULT>;
505
- description: _$alepha.TOptional<_$alepha.TString>;
506
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
507
- assigneeId: _$alepha.TOptional<PgAttr<_$alepha.TString, typeof PG_REF>>;
508
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
509
- resolution: _$alepha.TOptional<_$alepha.TString>;
510
- completedAt: _$alepha.TOptional<_$alepha.TString>;
511
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
512
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
513
- }>;
514
- }>;
515
- /**
516
- * Update issue fields.
517
- */
518
- readonly updateIssue: _$alepha_server0.ActionPrimitiveFn<{
519
- params: _$alepha.TObject<{
520
- id: _$alepha.TString;
521
- }>;
522
- body: _$alepha.TObject<{
523
- title: _$alepha.TOptional<_$alepha.TString>;
524
- type: _$alepha.TOptional<_$alepha.TUnsafe<"bug" | "feature" | "improvement">>;
525
- priority: _$alepha.TOptional<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">>;
526
- description: _$alepha.TOptional<_$alepha.TString>;
527
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
528
- }>;
529
- response: _$alepha.TObject<{
530
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
531
- version: PgAttr<PgAttr<_$alepha.TInteger, typeof PG_VERSION>, typeof PG_DEFAULT>;
532
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
533
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
534
- createdBy: PgAttr<_$alepha.TString, typeof PG_REF>;
535
- title: _$alepha.TString;
536
- type: PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof PG_DEFAULT>;
537
- priority: PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof PG_DEFAULT>;
538
- status: PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof PG_DEFAULT>;
539
- description: _$alepha.TOptional<_$alepha.TString>;
540
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
541
- assigneeId: _$alepha.TOptional<PgAttr<_$alepha.TString, typeof PG_REF>>;
542
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
543
- resolution: _$alepha.TOptional<_$alepha.TString>;
544
- completedAt: _$alepha.TOptional<_$alepha.TString>;
545
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
546
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
547
- }>;
548
- }>;
549
- /**
550
- * Assign an issue to a user.
551
- */
552
- readonly assignIssue: _$alepha_server0.ActionPrimitiveFn<{
553
- params: _$alepha.TObject<{
554
- id: _$alepha.TString;
555
- }>;
556
- body: _$alepha.TObject<{
557
- assigneeId: _$alepha.TString;
558
- }>;
559
- response: _$alepha.TObject<{
560
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
561
- version: PgAttr<PgAttr<_$alepha.TInteger, typeof PG_VERSION>, typeof PG_DEFAULT>;
562
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
563
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
564
- createdBy: PgAttr<_$alepha.TString, typeof PG_REF>;
565
- title: _$alepha.TString;
566
- type: PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof PG_DEFAULT>;
567
- priority: PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof PG_DEFAULT>;
568
- status: PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof PG_DEFAULT>;
569
- description: _$alepha.TOptional<_$alepha.TString>;
570
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
571
- assigneeId: _$alepha.TOptional<PgAttr<_$alepha.TString, typeof PG_REF>>;
572
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
573
- resolution: _$alepha.TOptional<_$alepha.TString>;
574
- completedAt: _$alepha.TOptional<_$alepha.TString>;
575
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
576
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
577
- }>;
578
- }>;
579
- /**
580
- * Mark an issue as completed.
581
- */
582
- readonly completeIssue: _$alepha_server0.ActionPrimitiveFn<{
583
- params: _$alepha.TObject<{
584
- id: _$alepha.TString;
585
- }>;
586
- body: _$alepha.TObject<{
587
- resolution: _$alepha.TString;
588
- }>;
589
- response: _$alepha.TObject<{
590
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
591
- version: PgAttr<PgAttr<_$alepha.TInteger, typeof PG_VERSION>, typeof PG_DEFAULT>;
592
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
593
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
594
- createdBy: PgAttr<_$alepha.TString, typeof PG_REF>;
595
- title: _$alepha.TString;
596
- type: PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof PG_DEFAULT>;
597
- priority: PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof PG_DEFAULT>;
598
- status: PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof PG_DEFAULT>;
599
- description: _$alepha.TOptional<_$alepha.TString>;
600
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
601
- assigneeId: _$alepha.TOptional<PgAttr<_$alepha.TString, typeof PG_REF>>;
602
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
603
- resolution: _$alepha.TOptional<_$alepha.TString>;
604
- completedAt: _$alepha.TOptional<_$alepha.TString>;
605
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
606
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
607
- }>;
608
- }>;
609
- /**
610
- * Reopen a completed issue.
611
- */
612
- readonly reopenIssue: _$alepha_server0.ActionPrimitiveFn<{
613
- params: _$alepha.TObject<{
614
- id: _$alepha.TString;
615
- }>;
616
- body: _$alepha.TObject<{
617
- reason: _$alepha.TString;
618
- }>;
619
- response: _$alepha.TObject<{
620
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
621
- version: PgAttr<PgAttr<_$alepha.TInteger, typeof PG_VERSION>, typeof PG_DEFAULT>;
622
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
623
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
624
- createdBy: PgAttr<_$alepha.TString, typeof PG_REF>;
625
- title: _$alepha.TString;
626
- type: PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof PG_DEFAULT>;
627
- priority: PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof PG_DEFAULT>;
628
- status: PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof PG_DEFAULT>;
629
- description: _$alepha.TOptional<_$alepha.TString>;
630
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
631
- assigneeId: _$alepha.TOptional<PgAttr<_$alepha.TString, typeof PG_REF>>;
632
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
633
- resolution: _$alepha.TOptional<_$alepha.TString>;
634
- completedAt: _$alepha.TOptional<_$alepha.TString>;
635
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
636
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
637
- }>;
638
- }>;
639
- /**
640
- * Archive a completed issue.
641
- */
642
- readonly archiveIssue: _$alepha_server0.ActionPrimitiveFn<{
643
- params: _$alepha.TObject<{
644
- id: _$alepha.TString;
645
- }>;
646
- response: _$alepha.TObject<{
647
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
648
- version: PgAttr<PgAttr<_$alepha.TInteger, typeof PG_VERSION>, typeof PG_DEFAULT>;
649
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
650
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
651
- createdBy: PgAttr<_$alepha.TString, typeof PG_REF>;
652
- title: _$alepha.TString;
653
- type: PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof PG_DEFAULT>;
654
- priority: PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof PG_DEFAULT>;
655
- status: PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof PG_DEFAULT>;
656
- description: _$alepha.TOptional<_$alepha.TString>;
657
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
658
- assigneeId: _$alepha.TOptional<PgAttr<_$alepha.TString, typeof PG_REF>>;
659
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
660
- resolution: _$alepha.TOptional<_$alepha.TString>;
661
- completedAt: _$alepha.TOptional<_$alepha.TString>;
662
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
663
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
664
- }>;
665
- }>;
666
- /**
667
- * Delete an issue.
668
- */
669
- readonly deleteIssue: _$alepha_server0.ActionPrimitiveFn<{
670
- params: _$alepha.TObject<{
671
- id: _$alepha.TString;
672
- }>;
673
- response: _$alepha.TObject<{
674
- ok: _$alepha.TBoolean;
675
- id: _$alepha.TOptional<_$alepha.TUnion<[_$alepha.TString, _$alepha.TInteger]>>;
676
- count: _$alepha.TOptional<_$alepha.TNumber>;
677
- }>;
678
- }>;
679
- }
680
- //#endregion
681
- //#region ../../src/api/issues/controllers/IssueController.d.ts
682
- declare class IssueController {
683
- protected readonly url = "/issues";
684
- protected readonly group = "issues";
685
- protected readonly issueService: IssueService;
686
- /**
687
- * Submit a new issue.
688
- */
689
- readonly createIssue: _$alepha_server0.ActionPrimitiveFn<{
690
- body: _$alepha.TObject<{
691
- title: _$alepha.TString;
692
- type: _$alepha.TOptional<_$alepha.TUnsafe<"bug" | "feature" | "improvement">>;
693
- priority: _$alepha.TOptional<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">>;
694
- description: _$alepha.TOptional<_$alepha.TString>;
695
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
696
- }>;
697
- response: _$alepha.TObject<{
698
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
699
- version: PgAttr<PgAttr<_$alepha.TInteger, typeof PG_VERSION>, typeof PG_DEFAULT>;
700
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
701
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
702
- createdBy: PgAttr<_$alepha.TString, typeof PG_REF>;
703
- title: _$alepha.TString;
704
- type: PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof PG_DEFAULT>;
705
- priority: PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof PG_DEFAULT>;
706
- status: PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof PG_DEFAULT>;
707
- description: _$alepha.TOptional<_$alepha.TString>;
708
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
709
- assigneeId: _$alepha.TOptional<PgAttr<_$alepha.TString, typeof PG_REF>>;
710
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
711
- resolution: _$alepha.TOptional<_$alepha.TString>;
712
- completedAt: _$alepha.TOptional<_$alepha.TString>;
713
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
714
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
715
- }>;
716
- }>;
717
- /**
718
- * List issues for the current user.
719
- */
720
- readonly getMyIssues: _$alepha_server0.ActionPrimitiveFn<{
721
- query: _$alepha.TObject<{
722
- page: _$alepha.TOptional<_$alepha.TInteger>;
723
- size: _$alepha.TOptional<_$alepha.TInteger>;
724
- sort: _$alepha.TOptional<_$alepha.TString>;
725
- status: _$alepha.TOptional<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">>;
726
- }>;
727
- response: _$alepha.TPage<_$alepha.TObject<{
728
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
729
- version: PgAttr<PgAttr<_$alepha.TInteger, typeof PG_VERSION>, typeof PG_DEFAULT>;
730
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
731
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
732
- createdBy: PgAttr<_$alepha.TString, typeof PG_REF>;
733
- title: _$alepha.TString;
734
- type: PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof PG_DEFAULT>;
735
- priority: PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof PG_DEFAULT>;
736
- status: PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof PG_DEFAULT>;
737
- description: _$alepha.TOptional<_$alepha.TString>;
738
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
739
- assigneeId: _$alepha.TOptional<PgAttr<_$alepha.TString, typeof PG_REF>>;
740
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
741
- resolution: _$alepha.TOptional<_$alepha.TString>;
742
- completedAt: _$alepha.TOptional<_$alepha.TString>;
743
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
744
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
745
- }>>;
746
- }>;
747
- }
748
- //#endregion
749
- //#region ../../src/api/issues/schemas/issueConfigAtom.d.ts
750
- declare const issueConfigAtom: _$alepha.Atom<_$alepha.TObject<{
751
- enabled: _$alepha.TBoolean;
752
- maxOpenPerUser: _$alepha.TInteger;
753
- }>, "alepha.api.issues.config">;
754
- //#endregion
755
- //#region ../../src/api/issues/schemas/issueResourceSchema.d.ts
756
- declare const issueResourceSchema: _$alepha.TObject<{
757
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
758
- version: PgAttr<PgAttr<_$alepha.TInteger, typeof PG_VERSION>, typeof PG_DEFAULT>;
759
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
760
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
761
- createdBy: PgAttr<_$alepha.TString, typeof PG_REF>;
762
- title: _$alepha.TString;
763
- type: PgAttr<_$alepha.TUnsafe<"bug" | "feature" | "improvement">, typeof PG_DEFAULT>;
764
- priority: PgAttr<_$alepha.TUnsafe<"low" | "medium" | "high" | "urgent">, typeof PG_DEFAULT>;
765
- status: PgAttr<_$alepha.TUnsafe<"open" | "assigned" | "completed" | "archived">, typeof PG_DEFAULT>;
766
- description: _$alepha.TOptional<_$alepha.TString>;
767
- pageUrl: _$alepha.TOptional<_$alepha.TString>;
768
- assigneeId: _$alepha.TOptional<PgAttr<_$alepha.TString, typeof PG_REF>>;
769
- assignedAt: _$alepha.TOptional<_$alepha.TString>;
770
- resolution: _$alepha.TOptional<_$alepha.TString>;
771
- completedAt: _$alepha.TOptional<_$alepha.TString>;
772
- reopenReason: _$alepha.TOptional<_$alepha.TString>;
773
- archivedAt: _$alepha.TOptional<_$alepha.TString>;
774
- }>;
775
- type IssueResource = Static<typeof issueResourceSchema>;
776
- //#endregion
777
- //#region ../../src/api/issues/index.d.ts
778
- declare module "alepha" {
779
- interface Hooks {
780
- "issue:created": {
781
- issue: IssueEntity;
782
- };
783
- "issue:assigned": {
784
- issue: IssueEntity;
785
- assigneeId: string;
786
- };
787
- "issue:completed": {
788
- issue: IssueEntity;
789
- };
790
- "issue:reopened": {
791
- issue: IssueEntity;
792
- reason: string;
793
- };
794
- "issue:archived": {
795
- issue: IssueEntity;
796
- };
797
- "issue:deleted": {
798
- issue: IssueEntity;
799
- };
800
- }
801
- }
802
- /**
803
- * Issue tracking module — submit, assign, complete, reopen, and archive issues.
804
- *
805
- * @module alepha.api.issues
806
- */
807
- declare const AlephaApiIssues: _$alepha.Service<_$alepha.Module>;
808
- //#endregion
809
- export { AdminIssueController, AlephaApiIssues, CreateIssue, IssueController, IssueEntity, IssueQuery, IssueResource, IssueService, MyIssueQuery, UpdateIssue, createIssueSchema, issueConfigAtom, issuePrioritySchema, issueQuerySchema, issueResourceSchema, issueStatusSchema, issueTypeSchema, issues, myIssueQuerySchema, updateIssueSchema };
810
- //# sourceMappingURL=index.d.ts.map