alepha 0.19.2 → 0.19.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
- package/dist/api/audits/index.d.ts +8 -8
- package/dist/api/invitations/index.d.ts +790 -0
- package/dist/api/invitations/index.d.ts.map +1 -0
- package/dist/api/invitations/index.js +665 -0
- package/dist/api/invitations/index.js.map +1 -0
- package/dist/api/jobs/index.browser.js +8 -9
- package/dist/api/jobs/index.browser.js.map +1 -1
- package/dist/api/jobs/index.d.ts +90 -34
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/jobs/index.js +267 -44
- package/dist/api/jobs/index.js.map +1 -1
- package/dist/api/notifications/index.browser.js +0 -1
- package/dist/api/notifications/index.browser.js.map +1 -1
- package/dist/api/notifications/index.d.ts +3 -3
- package/dist/api/notifications/index.d.ts.map +1 -1
- package/dist/api/notifications/index.js +0 -1
- package/dist/api/notifications/index.js.map +1 -1
- package/dist/api/parameters/index.browser.js +112 -1
- package/dist/api/parameters/index.browser.js.map +1 -1
- package/dist/api/parameters/index.d.ts +90 -3
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/parameters/index.js +79 -12
- package/dist/api/parameters/index.js.map +1 -1
- package/dist/{billing → api/payments}/index.d.ts +67 -49
- package/dist/api/payments/index.d.ts.map +1 -0
- package/dist/{billing → api/payments}/index.js +108 -74
- package/dist/api/payments/index.js.map +1 -0
- package/dist/api/subscriptions/index.d.ts +1692 -0
- package/dist/api/subscriptions/index.d.ts.map +1 -0
- package/dist/api/subscriptions/index.js +1870 -0
- package/dist/api/subscriptions/index.js.map +1 -0
- package/dist/api/users/index.d.ts +27 -21
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +167 -34
- package/dist/api/users/index.js.map +1 -1
- package/dist/api/workflows/index.browser.js +246 -0
- package/dist/api/workflows/index.browser.js.map +1 -0
- package/dist/api/workflows/index.d.ts +1618 -0
- package/dist/api/workflows/index.d.ts.map +1 -0
- package/dist/api/workflows/index.js +1504 -0
- package/dist/api/workflows/index.js.map +1 -0
- package/dist/cli/config/index.d.ts +6 -28
- package/dist/cli/config/index.d.ts.map +1 -1
- package/dist/cli/config/index.js +5 -10
- package/dist/cli/config/index.js.map +1 -1
- package/dist/cli/core/index.d.ts +11669 -208
- package/dist/cli/core/index.d.ts.map +1 -1
- package/dist/cli/core/index.js +60 -69
- package/dist/cli/core/index.js.map +1 -1
- package/dist/cli/devtools/index.d.ts +5 -0
- package/dist/cli/devtools/index.d.ts.map +1 -1
- package/dist/cli/devtools/index.js +4 -0
- package/dist/cli/devtools/index.js.map +1 -1
- package/dist/cli/platform/index.d.ts +69 -64
- package/dist/cli/platform/index.d.ts.map +1 -1
- package/dist/cli/platform/index.js +6 -2
- package/dist/cli/platform/index.js.map +1 -1
- package/dist/cli/vendor/index.d.ts +38 -10
- package/dist/cli/vendor/index.d.ts.map +1 -1
- package/dist/cli/vendor/index.js +85 -26
- package/dist/cli/vendor/index.js.map +1 -1
- package/dist/core/index.browser.js +21 -2
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +33 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +25 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +25 -2
- package/dist/core/index.native.js.map +1 -1
- package/dist/core/index.workerd.js +25 -2
- package/dist/core/index.workerd.js.map +1 -1
- package/dist/email/smtp/index.js +24 -8
- package/dist/email/smtp/index.js.map +1 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +1 -1
- package/dist/logger/index.js.map +1 -1
- package/dist/orm/core/index.browser.js +0 -18
- package/dist/orm/core/index.browser.js.map +1 -1
- package/dist/orm/core/index.bun.js +25 -73
- package/dist/orm/core/index.bun.js.map +1 -1
- package/dist/orm/core/index.d.ts +10 -32
- package/dist/orm/core/index.d.ts.map +1 -1
- package/dist/orm/core/index.js +25 -73
- package/dist/orm/core/index.js.map +1 -1
- package/dist/orm/postgres/index.bun.js +3 -3
- package/dist/orm/postgres/index.bun.js.map +1 -1
- package/dist/orm/postgres/index.d.ts +2 -1
- package/dist/orm/postgres/index.d.ts.map +1 -1
- package/dist/orm/postgres/index.js +3 -3
- package/dist/orm/postgres/index.js.map +1 -1
- package/dist/react/router/index.browser.js +25 -3
- package/dist/react/router/index.browser.js.map +1 -1
- package/dist/react/router/index.d.ts +16 -1
- package/dist/react/router/index.d.ts.map +1 -1
- package/dist/react/router/index.js +25 -3
- package/dist/react/router/index.js.map +1 -1
- package/dist/security/index.d.ts +28 -0
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +28 -0
- package/dist/security/index.js.map +1 -1
- package/package.json +37 -20
- package/src/api/invitations/__tests__/InvitationService.spec.ts +439 -0
- package/src/api/invitations/controllers/AdminInvitationController.ts +86 -0
- package/src/api/invitations/controllers/InvitationController.ts +84 -0
- package/src/api/invitations/entities/invitations.ts +33 -0
- package/src/api/invitations/index.ts +65 -0
- package/src/api/invitations/jobs/InvitationJobs.ts +37 -0
- package/src/api/invitations/providers/InvitationProvider.ts +45 -0
- package/src/api/invitations/schemas/createInvitationSchema.ts +12 -0
- package/src/api/invitations/schemas/invitationConfigAtom.ts +20 -0
- package/src/api/invitations/schemas/invitationQuerySchema.ts +15 -0
- package/src/api/invitations/schemas/invitationResourceSchema.ts +6 -0
- package/src/api/invitations/schemas/invitationWithResourceInfoSchema.ts +22 -0
- package/src/api/invitations/schemas/myInvitationsQuerySchema.ts +10 -0
- package/src/api/invitations/services/InvitationService.ts +556 -0
- package/src/api/jobs/__tests__/$job.spec.ts +876 -0
- package/src/api/jobs/controllers/AdminJobController.ts +44 -0
- package/src/api/jobs/entities/jobExecutionEntity.ts +0 -2
- package/src/api/jobs/index.ts +0 -3
- package/src/api/jobs/primitives/$job.ts +22 -11
- package/src/api/jobs/providers/JobProvider.ts +239 -25
- package/src/api/jobs/schemas/jobConfigAtom.ts +4 -0
- package/src/api/jobs/schemas/jobCronInfoSchema.ts +1 -0
- package/src/api/jobs/schemas/jobExecutionQuerySchema.ts +0 -1
- package/src/api/jobs/schemas/jobQueueDepthSchema.ts +1 -0
- package/src/api/jobs/schemas/jobRegistrationSchema.ts +1 -6
- package/src/api/jobs/services/JobService.ts +51 -12
- package/src/api/notifications/schemas/notificationQuerySchema.ts +0 -1
- package/src/api/parameters/__tests__/$parameter.spec.ts +327 -0
- package/src/api/parameters/controllers/AdminParameterController.ts +29 -3
- package/src/api/parameters/index.browser.ts +12 -0
- package/src/api/parameters/primitives/$parameter.ts +20 -3
- package/src/api/parameters/services/ParameterProvider.ts +48 -7
- package/src/{billing → api/payments}/__tests__/PaymentMethodService.spec.ts +32 -6
- package/src/api/payments/__tests__/PaymentService.spec.ts +279 -0
- package/src/{billing/controllers/AdminBillingController.ts → api/payments/controllers/AdminPaymentController.ts} +26 -21
- package/src/{billing/controllers/BillingController.ts → api/payments/controllers/PaymentController.ts} +23 -11
- package/src/{billing → api/payments}/entities/paymentIntents.ts +1 -0
- package/src/{billing/errors/BillingError.ts → api/payments/errors/PaymentError.ts} +1 -1
- package/src/{billing → api/payments}/index.ts +31 -25
- package/src/{billing/providers/MemoryBillingProvider.ts → api/payments/providers/MemoryPaymentProvider.ts} +4 -4
- package/src/{billing/providers/BillingProvider.ts → api/payments/providers/PaymentProvider.ts} +9 -2
- package/src/{billing → api/payments}/services/PaymentMethodService.ts +5 -5
- package/src/{billing/services/BillingService.ts → api/payments/services/PaymentService.ts} +94 -18
- package/src/api/subscriptions/__tests__/BillingService.spec.ts +218 -0
- package/src/api/subscriptions/__tests__/SubscriptionService.spec.ts +278 -0
- package/src/api/subscriptions/controllers/AdminSubscriptionController.ts +212 -0
- package/src/api/subscriptions/controllers/SubscriptionController.ts +189 -0
- package/src/api/subscriptions/entities/subscriptionEvents.ts +54 -0
- package/src/api/subscriptions/entities/subscriptions.ts +68 -0
- package/src/api/subscriptions/index.ts +144 -0
- package/src/api/subscriptions/jobs/SubscriptionJobs.ts +382 -0
- package/src/api/subscriptions/middleware/$requireLimit.ts +50 -0
- package/src/api/subscriptions/middleware/$requirePlan.ts +49 -0
- package/src/api/subscriptions/notifications/SubscriptionNotifications.ts +110 -0
- package/src/api/subscriptions/schemas/cancelSubscriptionSchema.ts +8 -0
- package/src/api/subscriptions/schemas/changePlanSchema.ts +9 -0
- package/src/api/subscriptions/schemas/createSubscriptionSchema.ts +11 -0
- package/src/api/subscriptions/schemas/entitlementsSchema.ts +21 -0
- package/src/api/subscriptions/schemas/mrrSchema.ts +13 -0
- package/src/api/subscriptions/schemas/planDefinitionSchema.ts +71 -0
- package/src/api/subscriptions/schemas/planResourceSchema.ts +25 -0
- package/src/api/subscriptions/schemas/subscriptionEventResourceSchema.ts +8 -0
- package/src/api/subscriptions/schemas/subscriptionQuerySchema.ts +19 -0
- package/src/api/subscriptions/schemas/subscriptionResourceSchema.ts +6 -0
- package/src/api/subscriptions/schemas/subscriptionSettingsSchema.ts +32 -0
- package/src/api/subscriptions/schemas/subscriptionStatsSchema.ts +23 -0
- package/src/api/subscriptions/services/BillingService.ts +437 -0
- package/src/api/subscriptions/services/SubscriptionConfig.ts +56 -0
- package/src/api/subscriptions/services/SubscriptionService.ts +867 -0
- package/src/api/subscriptions/services/UsageService.ts +118 -0
- package/src/api/users/__tests__/AdminUserController.spec.ts +80 -1
- package/src/api/users/__tests__/CredentialService.spec.ts +177 -0
- package/src/api/users/__tests__/EmailVerification.spec.ts +29 -18
- package/src/api/users/__tests__/PasswordReset.spec.ts +3 -0
- package/src/api/users/__tests__/RegistrationService.spec.ts +148 -1
- package/src/api/users/__tests__/SessionService.spec.ts +142 -1
- package/src/api/users/atoms/realmAuthSettingsAtom.ts +10 -1
- package/src/api/users/controllers/UserController.ts +3 -8
- package/src/api/users/notifications/UserNotifications.ts +23 -0
- package/src/api/users/schemas/loginSchema.ts +1 -1
- package/src/api/users/services/CredentialService.ts +51 -4
- package/src/api/users/services/RegistrationService.ts +38 -9
- package/src/api/users/services/SessionService.ts +62 -9
- package/src/api/users/services/UserService.ts +21 -12
- package/src/api/workflows/__tests__/$workflow.spec.ts +616 -0
- package/src/api/workflows/controllers/AdminWorkflowController.ts +191 -0
- package/src/api/workflows/entities/workflowExecutions.ts +74 -0
- package/src/api/workflows/entities/workflowStepExecutions.ts +74 -0
- package/src/api/workflows/entities/workflowStepLogs.ts +13 -0
- package/src/api/workflows/index.browser.ts +22 -0
- package/src/api/workflows/index.ts +124 -0
- package/src/api/workflows/jobs/WorkflowJobs.ts +77 -0
- package/src/api/workflows/primitives/$workflow.ts +202 -0
- package/src/api/workflows/providers/WorkflowProvider.ts +1284 -0
- package/src/api/workflows/schemas/workflowActivitySchema.ts +15 -0
- package/src/api/workflows/schemas/workflowConfigAtom.ts +51 -0
- package/src/api/workflows/schemas/workflowExecutionDetailSchema.ts +18 -0
- package/src/api/workflows/schemas/workflowExecutionQuerySchema.ts +26 -0
- package/src/api/workflows/schemas/workflowExecutionResourceSchema.ts +30 -0
- package/src/api/workflows/schemas/workflowRegistrationSchema.ts +26 -0
- package/src/api/workflows/schemas/workflowStatsSchema.ts +16 -0
- package/src/api/workflows/schemas/workflowStepExecutionResourceSchema.ts +15 -0
- package/src/api/workflows/services/WorkflowService.ts +382 -0
- package/src/cli/config/defineConfig.ts +17 -46
- package/src/cli/core/providers/ViteDevServerProvider.ts +45 -3
- package/src/cli/core/services/PackageManagerUtils.ts +3 -1
- package/src/cli/core/services/ProjectScaffolder.ts +5 -5
- package/src/cli/core/templates/agentMd.ts +14 -5
- package/src/cli/core/templates/webAppRouterTs.ts +5 -58
- package/src/cli/devtools/index.ts +21 -1
- package/src/cli/platform/index.ts +23 -2
- package/src/cli/vendor/__tests__/VendorService.spec.ts +283 -178
- package/src/cli/vendor/index.ts +20 -3
- package/src/cli/vendor/services/VendorService.ts +126 -27
- package/src/core/Alepha.ts +10 -0
- package/src/core/__tests__/TypeProvider.spec.ts +4 -2
- package/src/core/providers/SchemaValidator.ts +1 -1
- package/src/core/providers/TypeProvider.ts +46 -3
- package/src/logger/index.ts +6 -1
- package/src/orm/__tests__/enums.spec.ts +22 -29
- package/src/orm/__tests__/orm-showcase-tests.ts +430 -0
- package/src/orm/__tests__/orm-showcase.spec.ts +167 -0
- package/src/orm/core/providers/DatabaseTypeProvider.ts +0 -29
- package/src/orm/core/providers/DrizzleKitProvider.ts +56 -105
- package/src/orm/postgres/services/PostgresModelBuilder.ts +3 -6
- package/src/react/router/__tests__/$page.browser.spec.tsx +157 -0
- package/src/react/router/providers/ReactBrowserProvider.ts +39 -0
- package/src/react/router/providers/ReactBrowserRouterProvider.ts +22 -0
- package/src/security/__tests__/$secure-combinations.spec.ts +945 -0
- package/src/security/primitives/$secure.ts +28 -0
- package/tsconfig.base.json +0 -1
- package/dist/billing/index.d.ts.map +0 -1
- package/dist/billing/index.js.map +0 -1
- package/src/billing/__tests__/BillingService.spec.ts +0 -136
- /package/src/{billing → api/payments}/entities/paymentMethods.ts +0 -0
- /package/src/{billing → api/payments}/entities/refunds.ts +0 -0
- /package/src/{billing → api/payments}/schemas/intentSchemas.ts +0 -0
- /package/src/{billing → api/payments}/schemas/paymentMethodSchemas.ts +0 -0
- /package/src/{billing → api/payments}/schemas/refundSchemas.ts +0 -0
|
@@ -162,7 +162,7 @@ var DrizzleKitProvider = class {
|
|
|
162
162
|
}
|
|
163
163
|
if (this.alepha.isTest()) {
|
|
164
164
|
const { statements } = await this.generateMigration(provider);
|
|
165
|
-
await this.
|
|
165
|
+
await this.executeStatements(statements.map((s) => s.replace(/^CREATE SCHEMA /i, "CREATE SCHEMA IF NOT EXISTS ")), provider);
|
|
166
166
|
return;
|
|
167
167
|
}
|
|
168
168
|
const now = this.dateTime.nowMillis();
|
|
@@ -178,7 +178,7 @@ var DrizzleKitProvider = class {
|
|
|
178
178
|
} catch (error) {
|
|
179
179
|
this.log.debug("Push sync not available, falling back to migration generation", { error });
|
|
180
180
|
const { statements } = await this.generateMigration(provider);
|
|
181
|
-
await this.
|
|
181
|
+
await this.executeStatementsLenient(statements, provider);
|
|
182
182
|
}
|
|
183
183
|
this.log.info(`Synchronization of '${provider.name}' OK [${this.dateTime.nowMillis() - now}ms]`);
|
|
184
184
|
}
|
|
@@ -279,10 +279,10 @@ var DrizzleKitProvider = class {
|
|
|
279
279
|
hasDataLoss: false
|
|
280
280
|
};
|
|
281
281
|
let result;
|
|
282
|
-
if (provider.dialect === "sqlite") result = await
|
|
282
|
+
if (provider.dialect === "sqlite") result = await kit.pushSQLiteSchema(models, provider.db);
|
|
283
283
|
else {
|
|
284
284
|
const wrappedDb = this.wrapDbForDrizzleKit(provider.db);
|
|
285
|
-
result = await
|
|
285
|
+
result = await kit.pushSchema(models, wrappedDb, [provider.schema]);
|
|
286
286
|
}
|
|
287
287
|
return {
|
|
288
288
|
statements: result.statementsToExecute,
|
|
@@ -291,8 +291,8 @@ var DrizzleKitProvider = class {
|
|
|
291
291
|
};
|
|
292
292
|
}
|
|
293
293
|
async pushSqlite(kit, models, provider) {
|
|
294
|
-
const
|
|
295
|
-
await this.
|
|
294
|
+
const { statementsToExecute } = await kit.pushSQLiteSchema(models, provider.db);
|
|
295
|
+
await this.executeStatements(statementsToExecute, provider);
|
|
296
296
|
}
|
|
297
297
|
/**
|
|
298
298
|
* Push schema changes to PostgreSQL using Drizzle Kit's pushSchema with schema filters.
|
|
@@ -300,39 +300,32 @@ var DrizzleKitProvider = class {
|
|
|
300
300
|
async pushPostgres(kit, models, provider) {
|
|
301
301
|
if (provider.schema !== "public") await this.createSchemaIfNotExists(provider, provider.schema);
|
|
302
302
|
const wrappedDb = this.wrapDbForDrizzleKit(provider.db);
|
|
303
|
-
const
|
|
304
|
-
await this.
|
|
303
|
+
const { statementsToExecute } = await kit.pushSchema(models, wrappedDb, [provider.schema]);
|
|
304
|
+
await this.executeStatements(statementsToExecute, provider);
|
|
305
305
|
}
|
|
306
306
|
/**
|
|
307
|
-
*
|
|
307
|
+
* Execute a list of SQL statements against the provider.
|
|
308
308
|
*/
|
|
309
|
-
async
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
if (upper.startsWith("DROP SCHEMA") || upper.startsWith("DROP TABLE")) {
|
|
313
|
-
this.log.warn("Skipping destructive statement", { statement: s });
|
|
314
|
-
return false;
|
|
315
|
-
}
|
|
316
|
-
return true;
|
|
317
|
-
});
|
|
318
|
-
if (result.hasDataLoss) this.log.warn("Push would cause data loss", {
|
|
319
|
-
warnings: result.warnings,
|
|
320
|
-
statements: result.statementsToExecute
|
|
321
|
-
});
|
|
322
|
-
if (safe.length > 0) {
|
|
323
|
-
this.log.debug(`Pushing ${safe.length} statements ...`, { statements: safe });
|
|
324
|
-
for (const statement of safe) await provider.execute(sql$1.raw(statement));
|
|
325
|
-
}
|
|
309
|
+
async executeStatements(statements, provider) {
|
|
310
|
+
if (statements.length > 0) this.log.debug(`Executing ${statements.length} statements ...`, { statements });
|
|
311
|
+
for (const statement of statements) await provider.execute(sql$1.raw(statement));
|
|
326
312
|
}
|
|
327
313
|
/**
|
|
328
|
-
* Execute
|
|
329
|
-
*
|
|
314
|
+
* Execute SQL statements, ignoring "already exists" errors.
|
|
315
|
+
*
|
|
316
|
+
* Used by the fallback migration path where push may have partially
|
|
317
|
+
* applied changes before erroring, leaving some objects already created.
|
|
330
318
|
*/
|
|
331
|
-
async
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
if (upper.startsWith("DROP SCHEMA") || upper.startsWith("CREATE SCHEMA")) continue;
|
|
319
|
+
async executeStatementsLenient(statements, provider) {
|
|
320
|
+
if (statements.length > 0) this.log.debug(`Executing ${statements.length} statements (lenient) ...`, { statements });
|
|
321
|
+
for (const statement of statements) try {
|
|
335
322
|
await provider.execute(sql$1.raw(statement));
|
|
323
|
+
} catch (error) {
|
|
324
|
+
if ((error?.message ?? "").includes("already exists")) {
|
|
325
|
+
this.log.debug(`Skipped (already exists): ${statement.slice(0, 80)}`);
|
|
326
|
+
continue;
|
|
327
|
+
}
|
|
328
|
+
throw error;
|
|
336
329
|
}
|
|
337
330
|
}
|
|
338
331
|
async createSchemaIfNotExists(provider, schemaName) {
|
|
@@ -363,30 +356,6 @@ var DrizzleKitProvider = class {
|
|
|
363
356
|
} });
|
|
364
357
|
}
|
|
365
358
|
/**
|
|
366
|
-
* Suppress Drizzle Kit's spinner output during a callback.
|
|
367
|
-
*
|
|
368
|
-
* Drizzle Kit uses hanji's renderWithTask with a setInterval-based spinner.
|
|
369
|
-
* If the wrapped task throws, the interval is never cleared and leaks
|
|
370
|
-
* spinner frames to stdout. We keep the filter active until the next
|
|
371
|
-
* tick after the promise settles to catch any straggling writes.
|
|
372
|
-
*/
|
|
373
|
-
async muteSpinner(fn) {
|
|
374
|
-
const originalWrite = process.stdout.write;
|
|
375
|
-
const filter = (chunk, ...args) => {
|
|
376
|
-
const str = typeof chunk === "string" ? chunk : chunk?.toString?.() ?? "";
|
|
377
|
-
if (str.includes("Pulling schema from database")) return true;
|
|
378
|
-
if (str.includes("\x1B[1A")) return true;
|
|
379
|
-
return originalWrite.call(process.stdout, chunk, ...args);
|
|
380
|
-
};
|
|
381
|
-
process.stdout.write = filter;
|
|
382
|
-
try {
|
|
383
|
-
return await fn();
|
|
384
|
-
} finally {
|
|
385
|
-
await new Promise((r) => setTimeout(r, 200));
|
|
386
|
-
process.stdout.write = originalWrite;
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
/**
|
|
390
359
|
* Try to load the official Drizzle Kit API.
|
|
391
360
|
*/
|
|
392
361
|
importDrizzleKit() {
|
|
@@ -3072,23 +3041,6 @@ var DatabaseTypeProvider = class {
|
|
|
3072
3041
|
*/
|
|
3073
3042
|
organization = () => pgAttr(t.optional(t.uuid()), PG_ORGANIZATION);
|
|
3074
3043
|
/**
|
|
3075
|
-
* Creates a Postgres ENUM type.
|
|
3076
|
-
*
|
|
3077
|
-
* > By default, `t.enum()` is mapped to a TEXT column in Postgres.
|
|
3078
|
-
* > Using this method, you can create a real ENUM type in the database.
|
|
3079
|
-
*
|
|
3080
|
-
* @example
|
|
3081
|
-
* ```ts
|
|
3082
|
-
* const statusEnum = pg.enum(["pending", "active", "archived"], { name: "status_enum" });
|
|
3083
|
-
* ```
|
|
3084
|
-
*/
|
|
3085
|
-
enum = (values, pgEnumOptions, typeOptions) => {
|
|
3086
|
-
return pgAttr(t.enum(values, {
|
|
3087
|
-
description: pgEnumOptions?.description,
|
|
3088
|
-
...typeOptions
|
|
3089
|
-
}), PG_ENUM, pgEnumOptions);
|
|
3090
|
-
};
|
|
3091
|
-
/**
|
|
3092
3044
|
* Creates a reference to another table or schema. Basically a foreign key.
|
|
3093
3045
|
*/
|
|
3094
3046
|
ref = (type, ref, actions) => {
|