@axium/server 0.31.2 → 0.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/admin.js +29 -34
- package/dist/api/register.js +2 -5
- package/dist/api/users.js +15 -8
- package/dist/audit.d.ts +3 -1
- package/dist/audit.js +7 -1
- package/dist/auth.d.ts +4 -9
- package/dist/auth.js +4 -4
- package/dist/config.d.ts +8 -4
- package/dist/config.js +12 -6
- package/dist/database.d.ts +21 -22
- package/dist/io.d.ts +1 -1
- package/dist/io.js +1 -1
- package/package.json +3 -3
- package/routes/account/+page.svelte +4 -4
- package/routes/admin/+page.svelte +1 -0
- package/routes/admin/users/+page.svelte +43 -2
- package/routes/admin/users/+page.ts +1 -1
- package/routes/admin/users/[id]/+page.svelte +19 -5
- package/routes/admin/users/[id]/+page.ts +1 -9
- package/routes/login/token/+page.svelte +28 -0
- package/routes/login/token/+page.ts +18 -0
- package/routes/logout/+page.svelte +4 -0
- package/schemas/config.json +12 -6
package/dist/api/admin.js
CHANGED
|
@@ -1,30 +1,36 @@
|
|
|
1
1
|
import { AuditFilter, Severity } from '@axium/core';
|
|
2
|
-
import { getVersionInfo } from '@axium/core/packages';
|
|
2
|
+
import { getVersionInfo } from '@axium/core/node/packages';
|
|
3
3
|
import { plugins } from '@axium/core/plugins';
|
|
4
|
-
import {
|
|
4
|
+
import { jsonObjectFrom } from 'kysely/helpers/postgres';
|
|
5
5
|
import { omit } from 'utilium';
|
|
6
6
|
import * as z from 'zod';
|
|
7
7
|
import { audit, events, getEvents } from '../audit.js';
|
|
8
|
-
import { requireSession } from '../auth.js';
|
|
8
|
+
import { createVerification, requireSession } from '../auth.js';
|
|
9
9
|
import { config } from '../config.js';
|
|
10
10
|
import { count, database as db } from '../database.js';
|
|
11
|
-
import { error, parseSearch, withError } from '../requests.js';
|
|
11
|
+
import { error, parseBody, parseSearch, withError } from '../requests.js';
|
|
12
12
|
import { addRoute } from '../routes.js';
|
|
13
|
-
async function assertAdmin(route, req) {
|
|
14
|
-
const admin = await requireSession(req);
|
|
13
|
+
async function assertAdmin(route, req, sensitive = false) {
|
|
14
|
+
const admin = await requireSession(req, sensitive);
|
|
15
15
|
if (!admin.user.isAdmin)
|
|
16
16
|
error(403, 'Not an administrator');
|
|
17
17
|
if (!config.admin_api)
|
|
18
18
|
error(503, 'Admin API is disabled');
|
|
19
19
|
await audit('admin_api', admin.userId, { route: route.path, session: admin.id });
|
|
20
|
-
return admin
|
|
20
|
+
return admin;
|
|
21
21
|
}
|
|
22
22
|
addRoute({
|
|
23
23
|
path: '/api/admin/summary',
|
|
24
24
|
async GET(req) {
|
|
25
25
|
await assertAdmin(this, req);
|
|
26
|
-
const
|
|
27
|
-
|
|
26
|
+
const results = await db
|
|
27
|
+
.selectFrom('audit_log')
|
|
28
|
+
.select(({ fn }) => ['severity', fn.countAll().as('count')])
|
|
29
|
+
.groupBy('severity')
|
|
30
|
+
.execute();
|
|
31
|
+
const auditEvents = Array(Severity.Debug + 1).fill(0);
|
|
32
|
+
for (const { severity, count } of results)
|
|
33
|
+
auditEvents[severity] = count;
|
|
28
34
|
return {
|
|
29
35
|
...(await count('users', 'passkeys', 'sessions')),
|
|
30
36
|
auditEvents,
|
|
@@ -48,37 +54,26 @@ addRoute({
|
|
|
48
54
|
},
|
|
49
55
|
});
|
|
50
56
|
addRoute({
|
|
51
|
-
path: '/api/admin/users
|
|
57
|
+
path: '/api/admin/users',
|
|
52
58
|
async GET(req) {
|
|
53
59
|
await assertAdmin(this, req);
|
|
54
60
|
const users = await db.selectFrom('users').selectAll().execute();
|
|
55
61
|
return users;
|
|
56
62
|
},
|
|
57
|
-
|
|
58
|
-
addRoute({
|
|
59
|
-
path: '/api/admin/users/:userId',
|
|
60
|
-
params: { userId: z.uuid() },
|
|
61
|
-
async GET(req, { userId }) {
|
|
63
|
+
async PUT(req) {
|
|
62
64
|
await assertAdmin(this, req);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
.
|
|
67
|
-
.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
...user,
|
|
76
|
-
sessions: user.sessions.map(s => ({
|
|
77
|
-
...omit(s, 'token'),
|
|
78
|
-
created: new Date(s.created),
|
|
79
|
-
expires: new Date(s.expires),
|
|
80
|
-
})),
|
|
81
|
-
};
|
|
65
|
+
const { name, email } = await parseBody(req, z.object({ name: z.string(), email: z.email() }));
|
|
66
|
+
const tx = await db.startTransaction().execute();
|
|
67
|
+
try {
|
|
68
|
+
const user = await tx.insertInto('users').values({ name, email: email.toLowerCase() }).returningAll().executeTakeFirstOrThrow();
|
|
69
|
+
const verification = await createVerification.call(tx, 'login', user.id, config.verifications.timeout);
|
|
70
|
+
await tx.commit().execute();
|
|
71
|
+
return { user, verification };
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
await tx.rollback().execute();
|
|
75
|
+
throw e;
|
|
76
|
+
}
|
|
82
77
|
},
|
|
83
78
|
});
|
|
84
79
|
/**
|
package/dist/api/register.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { UserRegistration } from '@axium/core/user';
|
|
1
|
+
import { UserRegistration, UserRegistrationInit } from '@axium/core/user';
|
|
2
2
|
import { generateRegistrationOptions, verifyRegistrationResponse } from '@simplewebauthn/server';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
4
|
import { encodeUUID } from 'utilium';
|
|
5
|
-
import * as z from 'zod';
|
|
6
5
|
import { audit } from '../audit.js';
|
|
7
6
|
import { createPasskey, getUser } from '../auth.js';
|
|
8
7
|
import config from '../config.js';
|
|
@@ -12,9 +11,7 @@ import { addRoute } from '../routes.js';
|
|
|
12
11
|
// Map of user ID => challenge
|
|
13
12
|
const registrations = new Map();
|
|
14
13
|
async function OPTIONS(request) {
|
|
15
|
-
|
|
16
|
-
error(409, 'New user registration is disabled');
|
|
17
|
-
const { name, email } = await parseBody(request, z.object({ name: z.string().optional(), email: z.email().optional() }));
|
|
14
|
+
const { name, email } = await parseBody(request, UserRegistrationInit);
|
|
18
15
|
const userId = randomUUID();
|
|
19
16
|
const user = await getUser(userId).catch(() => null);
|
|
20
17
|
if (user)
|
package/dist/api/users.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PasskeyAuthResponse, PasskeyRegistration } from '@axium/core/passkeys';
|
|
2
2
|
import { LogoutSessions, UserAuthOptions, UserChangeable } from '@axium/core/user';
|
|
3
3
|
import * as webauthn from '@simplewebauthn/server';
|
|
4
4
|
import { encodeUUID, omit, pick } from 'utilium';
|
|
@@ -92,7 +92,7 @@ addRoute({
|
|
|
92
92
|
return options;
|
|
93
93
|
},
|
|
94
94
|
async POST(request, { id: userId }) {
|
|
95
|
-
const response = await parseBody(request,
|
|
95
|
+
const response = await parseBody(request, PasskeyAuthResponse);
|
|
96
96
|
const auth = challenges.get(userId);
|
|
97
97
|
if (!auth)
|
|
98
98
|
error(404, 'No challenge');
|
|
@@ -213,21 +213,19 @@ addRoute({
|
|
|
213
213
|
},
|
|
214
214
|
});
|
|
215
215
|
addRoute({
|
|
216
|
-
path: '/api/users/:id/
|
|
216
|
+
path: '/api/users/:id/verify/email',
|
|
217
217
|
params,
|
|
218
218
|
async OPTIONS(request, { id: userId }) {
|
|
219
|
-
if (!config.
|
|
219
|
+
if (!config.verifications.email)
|
|
220
220
|
return { enabled: false };
|
|
221
221
|
await checkAuthForUser(request, userId);
|
|
222
|
-
if (!config.auth.email_verification)
|
|
223
|
-
return { enabled: false };
|
|
224
222
|
return { enabled: true };
|
|
225
223
|
},
|
|
226
224
|
async GET(request, { id: userId }) {
|
|
227
225
|
const { user } = await checkAuthForUser(request, userId);
|
|
228
226
|
if (user.emailVerified)
|
|
229
227
|
error(409, 'Email already verified');
|
|
230
|
-
const verification = await createVerification('
|
|
228
|
+
const verification = await createVerification('email', userId, config.verifications.timeout);
|
|
231
229
|
return omit(verification, 'token', 'role');
|
|
232
230
|
},
|
|
233
231
|
async POST(request, { id: userId }) {
|
|
@@ -235,7 +233,16 @@ addRoute({
|
|
|
235
233
|
const { user } = await checkAuthForUser(request, userId);
|
|
236
234
|
if (user.emailVerified)
|
|
237
235
|
error(409, 'Email already verified');
|
|
238
|
-
await useVerification('
|
|
236
|
+
await useVerification('email', userId, token).catch(withError('Invalid or expired verification token', 400));
|
|
239
237
|
return {};
|
|
240
238
|
},
|
|
241
239
|
});
|
|
240
|
+
addRoute({
|
|
241
|
+
path: '/api/users/:id/verify/login',
|
|
242
|
+
params,
|
|
243
|
+
async POST(request, { id: userId }) {
|
|
244
|
+
const { token } = await parseBody(request, z.object({ token: z.string() }));
|
|
245
|
+
await useVerification('login', userId, token).catch(withError('Invalid or expired verification token', 400));
|
|
246
|
+
return await createSessionData(userId);
|
|
247
|
+
},
|
|
248
|
+
});
|
package/dist/audit.d.ts
CHANGED
|
@@ -8,7 +8,9 @@ export interface AuditEventInit extends Insertable<Schema['audit_log']> {
|
|
|
8
8
|
export declare function audit_raw(event: AuditEventInit): Promise<void>;
|
|
9
9
|
export interface $EventTypes {
|
|
10
10
|
user_created: never;
|
|
11
|
-
user_deleted:
|
|
11
|
+
user_deleted: {
|
|
12
|
+
admin_session?: string;
|
|
13
|
+
};
|
|
12
14
|
new_session: {
|
|
13
15
|
id: string;
|
|
14
16
|
};
|
package/dist/audit.js
CHANGED
|
@@ -95,7 +95,13 @@ export function getEvents(filter) {
|
|
|
95
95
|
}
|
|
96
96
|
// Register built-ins
|
|
97
97
|
addEvent({ source: '@axium/server', name: 'user_created', severity: Severity.Info, tags: ['user'] });
|
|
98
|
-
addEvent({
|
|
98
|
+
addEvent({
|
|
99
|
+
source: '@axium/server',
|
|
100
|
+
name: 'user_deleted',
|
|
101
|
+
severity: Severity.Info,
|
|
102
|
+
tags: ['user'],
|
|
103
|
+
extra: { admin_session: z.uuid().optional() },
|
|
104
|
+
});
|
|
99
105
|
addEvent({ source: '@axium/server', name: 'new_session', severity: Severity.Info, tags: ['user'], extra: { id: z.string() } });
|
|
100
106
|
addEvent({ source: '@axium/server', name: 'logout', severity: Severity.Info, tags: ['user'], extra: { sessions: z.array(z.string()) } });
|
|
101
107
|
addEvent({
|
package/dist/auth.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Passkey, Session, UserInternal,
|
|
2
|
-
import type { Insertable, Selectable } from 'kysely';
|
|
1
|
+
import type { Passkey, Session, UserInternal, VerificationInternal, VerificationRole } from '@axium/core';
|
|
2
|
+
import type { Insertable, Kysely, Selectable } from 'kysely';
|
|
3
3
|
import { type WithRequired } from 'utilium';
|
|
4
4
|
import * as acl from './acl.js';
|
|
5
5
|
import { type Schema } from './database.js';
|
|
@@ -16,16 +16,11 @@ export declare function getSessionAndUser(token: string): Promise<SessionAndUser
|
|
|
16
16
|
export declare function getSession(sessionId: string): Promise<SessionInternal>;
|
|
17
17
|
export declare function requireSession(request: Request, sensitive?: boolean): Promise<SessionAndUser>;
|
|
18
18
|
export declare function getSessions(userId: string): Promise<SessionInternal[]>;
|
|
19
|
-
export type VerificationRole = 'verify_email' | 'login';
|
|
20
|
-
export interface VerificationInternal extends Verification {
|
|
21
|
-
token: string;
|
|
22
|
-
role: VerificationRole;
|
|
23
|
-
}
|
|
24
19
|
/**
|
|
25
20
|
* Create a verification
|
|
26
|
-
* @param expires How long the token should be valid for in
|
|
21
|
+
* @param expires How long the token should be valid for in minutes
|
|
27
22
|
*/
|
|
28
|
-
export declare function createVerification(role: VerificationRole, userId: string, expires: number): Promise<VerificationInternal>;
|
|
23
|
+
export declare function createVerification(this: Kysely<Schema> | void, role: VerificationRole, userId: string, expires: number): Promise<VerificationInternal>;
|
|
29
24
|
export declare function useVerification(role: VerificationRole, userId: string, token: string): Promise<VerificationInternal | undefined>;
|
|
30
25
|
export interface PasskeyInternal extends Passkey {
|
|
31
26
|
publicKey: Uint8Array<ArrayBuffer>;
|
package/dist/auth.js
CHANGED
|
@@ -60,15 +60,15 @@ export async function getSessions(userId) {
|
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
62
|
* Create a verification
|
|
63
|
-
* @param expires How long the token should be valid for in
|
|
63
|
+
* @param expires How long the token should be valid for in minutes
|
|
64
64
|
*/
|
|
65
65
|
export async function createVerification(role, userId, expires) {
|
|
66
66
|
const token = randomBytes(64).toString('base64url');
|
|
67
|
-
const verification = { userId, token, expires: new Date(Date.now() + expires *
|
|
68
|
-
await db.insertInto('verifications').values(verification).executeTakeFirstOrThrow();
|
|
67
|
+
const verification = { userId, token, expires: new Date(Date.now() + expires * 60_000), role };
|
|
68
|
+
await (this || db).insertInto('verifications').values(verification).executeTakeFirstOrThrow();
|
|
69
69
|
setTimeout(() => {
|
|
70
70
|
void db.deleteFrom('verifications').where('verifications.token', '=', verification.token).execute();
|
|
71
|
-
}, expires *
|
|
71
|
+
}, expires * 60_000);
|
|
72
72
|
return verification;
|
|
73
73
|
}
|
|
74
74
|
export async function useVerification(role, userId, token) {
|
package/dist/config.d.ts
CHANGED
|
@@ -17,8 +17,6 @@ export declare let ConfigSchema: z.ZodObject<{
|
|
|
17
17
|
rp_id: z.ZodOptional<z.ZodString>;
|
|
18
18
|
rp_name: z.ZodOptional<z.ZodString>;
|
|
19
19
|
secure_cookies: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
-
verification_timeout: z.ZodOptional<z.ZodNumber>;
|
|
21
|
-
email_verification: z.ZodOptional<z.ZodBoolean>;
|
|
22
20
|
header_only: z.ZodOptional<z.ZodBoolean>;
|
|
23
21
|
}, z.core.$loose>>;
|
|
24
22
|
db: z.ZodOptional<z.ZodObject<{
|
|
@@ -43,6 +41,10 @@ export declare let ConfigSchema: z.ZodObject<{
|
|
|
43
41
|
origin: z.ZodOptional<z.ZodString>;
|
|
44
42
|
request_size_limit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
45
43
|
show_duplicate_state: z.ZodOptional<z.ZodBoolean>;
|
|
44
|
+
verifications: z.ZodOptional<z.ZodObject<{
|
|
45
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
email: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
}, z.core.$loose>>;
|
|
46
48
|
web: z.ZodOptional<z.ZodObject<{
|
|
47
49
|
disable_cache: z.ZodOptional<z.ZodBoolean>;
|
|
48
50
|
port: z.ZodOptional<z.ZodNumber>;
|
|
@@ -92,8 +94,6 @@ export declare const FileSchema: z.ZodObject<{
|
|
|
92
94
|
rp_id: z.ZodOptional<z.ZodString>;
|
|
93
95
|
rp_name: z.ZodOptional<z.ZodString>;
|
|
94
96
|
secure_cookies: z.ZodOptional<z.ZodBoolean>;
|
|
95
|
-
verification_timeout: z.ZodOptional<z.ZodNumber>;
|
|
96
|
-
email_verification: z.ZodOptional<z.ZodBoolean>;
|
|
97
97
|
header_only: z.ZodOptional<z.ZodBoolean>;
|
|
98
98
|
}, z.core.$loose>>>;
|
|
99
99
|
db: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
@@ -118,6 +118,10 @@ export declare const FileSchema: z.ZodObject<{
|
|
|
118
118
|
origin: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
119
119
|
request_size_limit: z.ZodOptional<z.ZodOptional<z.ZodOptional<z.ZodNumber>>>;
|
|
120
120
|
show_duplicate_state: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
121
|
+
verifications: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
122
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
123
|
+
email: z.ZodOptional<z.ZodBoolean>;
|
|
124
|
+
}, z.core.$loose>>>;
|
|
121
125
|
web: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
122
126
|
disable_cache: z.ZodOptional<z.ZodBoolean>;
|
|
123
127
|
port: z.ZodOptional<z.ZodNumber>;
|
package/dist/config.js
CHANGED
|
@@ -35,10 +35,6 @@ export let ConfigSchema = z
|
|
|
35
35
|
rp_id: z.string(),
|
|
36
36
|
rp_name: z.string(),
|
|
37
37
|
secure_cookies: z.boolean(),
|
|
38
|
-
/** In minutes */
|
|
39
|
-
verification_timeout: z.number(),
|
|
40
|
-
/** Whether users can verify emails */
|
|
41
|
-
email_verification: z.boolean(),
|
|
42
38
|
/** Whether only the `Authorization` header can be used to authenticate requests. */
|
|
43
39
|
header_only: z.boolean(),
|
|
44
40
|
})
|
|
@@ -64,6 +60,14 @@ export let ConfigSchema = z
|
|
|
64
60
|
origin: z.string(),
|
|
65
61
|
request_size_limit: z.number().min(0).optional(),
|
|
66
62
|
show_duplicate_state: z.boolean(),
|
|
63
|
+
verifications: z
|
|
64
|
+
.looseObject({
|
|
65
|
+
/** In minutes */
|
|
66
|
+
timeout: z.number(),
|
|
67
|
+
/** Whether users can verify emails */
|
|
68
|
+
email: z.boolean(),
|
|
69
|
+
})
|
|
70
|
+
.partial(),
|
|
67
71
|
web: z
|
|
68
72
|
.looseObject({
|
|
69
73
|
disable_cache: z.boolean(),
|
|
@@ -102,8 +106,6 @@ export const defaultConfig = {
|
|
|
102
106
|
rp_id: 'test.localhost',
|
|
103
107
|
rp_name: 'Axium',
|
|
104
108
|
secure_cookies: true,
|
|
105
|
-
verification_timeout: 60,
|
|
106
|
-
email_verification: false,
|
|
107
109
|
header_only: false,
|
|
108
110
|
},
|
|
109
111
|
db: {
|
|
@@ -127,6 +129,10 @@ export const defaultConfig = {
|
|
|
127
129
|
origin: 'https://test.localhost',
|
|
128
130
|
show_duplicate_state: false,
|
|
129
131
|
request_size_limit: 0,
|
|
132
|
+
verifications: {
|
|
133
|
+
timeout: 60,
|
|
134
|
+
email: false,
|
|
135
|
+
},
|
|
130
136
|
web: {
|
|
131
137
|
disable_cache: false,
|
|
132
138
|
port: 443,
|
package/dist/database.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { Preferences, UserInternal } from '@axium/core';
|
|
1
|
+
import type { Preferences, UserInternal, VerificationRole } from '@axium/core';
|
|
2
2
|
import type { AuthenticatorTransportFuture, CredentialDeviceType } from '@simplewebauthn/server';
|
|
3
3
|
import type * as kysely from 'kysely';
|
|
4
4
|
import { Kysely } from 'kysely';
|
|
5
5
|
import type { Expand, Filter, MutableRecursive, ReadonlyRecursive, Tuple } from 'utilium';
|
|
6
6
|
import * as z from 'zod';
|
|
7
|
-
import type { VerificationRole } from './auth.js';
|
|
8
7
|
import rawSchema from './db.json';
|
|
9
8
|
export interface DBAccessControl {
|
|
10
9
|
itemId: string;
|
|
@@ -66,12 +65,12 @@ declare const binaryTypes: readonly ["binary", "bytea", "varbinary", "blob"];
|
|
|
66
65
|
declare const numericRangeTypes: readonly ["int4range", "numrange"];
|
|
67
66
|
declare const stringRangeTypes: readonly ["tsrange", "tstzrange", "daterange"];
|
|
68
67
|
declare const multirangeTypes: readonly ["int4multirange", "int8multirange", "nummultirange", "tsmultirange", "tstzmultirange", "datemultirange"];
|
|
69
|
-
declare const _primitive: z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
70
|
-
declare const _ColumnType: z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
71
|
-
declare const ColumnType: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
68
|
+
declare const _primitive: z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">;
|
|
69
|
+
declare const _ColumnType: z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>;
|
|
70
|
+
declare const ColumnType: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>;
|
|
72
71
|
export type ColumnType = z.infer<typeof ColumnType>;
|
|
73
72
|
export declare const Column: z.ZodObject<{
|
|
74
|
-
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
73
|
+
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>;
|
|
75
74
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
76
75
|
unique: z.ZodDefault<z.ZodBoolean>;
|
|
77
76
|
primary: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -107,7 +106,7 @@ export declare const Constraint: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
107
106
|
export type Constraint = z.infer<typeof Constraint>;
|
|
108
107
|
export declare const Table: z.ZodObject<{
|
|
109
108
|
columns: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
110
|
-
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
109
|
+
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>;
|
|
111
110
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
112
111
|
unique: z.ZodDefault<z.ZodBoolean>;
|
|
113
112
|
primary: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -150,7 +149,7 @@ export declare function parseIndex(value: IndexString): {
|
|
|
150
149
|
export declare const SchemaDecl: z.ZodObject<{
|
|
151
150
|
tables: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
152
151
|
columns: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
153
|
-
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
152
|
+
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>;
|
|
154
153
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
155
154
|
unique: z.ZodDefault<z.ZodBoolean>;
|
|
156
155
|
primary: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -187,15 +186,15 @@ export declare const SchemaDecl: z.ZodObject<{
|
|
|
187
186
|
export interface SchemaDecl extends z.infer<typeof SchemaDecl> {
|
|
188
187
|
}
|
|
189
188
|
export declare const ColumnDelta: z.ZodObject<{
|
|
190
|
-
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
189
|
+
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>>;
|
|
191
190
|
default: z.ZodOptional<z.ZodString>;
|
|
192
|
-
ops: z.ZodOptional<z.ZodArray<z.ZodLiteral<"
|
|
191
|
+
ops: z.ZodOptional<z.ZodArray<z.ZodLiteral<"set_required" | "drop_default" | "drop_required">>>;
|
|
193
192
|
}, z.core.$strict>;
|
|
194
193
|
export interface ColumnDelta extends z.infer<typeof ColumnDelta> {
|
|
195
194
|
}
|
|
196
195
|
export declare const TableDelta: z.ZodObject<{
|
|
197
196
|
add_columns: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
198
|
-
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
197
|
+
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>;
|
|
199
198
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
200
199
|
unique: z.ZodDefault<z.ZodBoolean>;
|
|
201
200
|
primary: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -212,9 +211,9 @@ export declare const TableDelta: z.ZodObject<{
|
|
|
212
211
|
}, z.core.$strict>>>>;
|
|
213
212
|
drop_columns: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
214
213
|
alter_columns: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
215
|
-
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
214
|
+
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>>;
|
|
216
215
|
default: z.ZodOptional<z.ZodString>;
|
|
217
|
-
ops: z.ZodOptional<z.ZodArray<z.ZodLiteral<"
|
|
216
|
+
ops: z.ZodOptional<z.ZodArray<z.ZodLiteral<"set_required" | "drop_default" | "drop_required">>>;
|
|
218
217
|
}, z.core.$strict>>>>;
|
|
219
218
|
add_constraints: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
220
219
|
type: z.ZodLiteral<"primary_key">;
|
|
@@ -240,7 +239,7 @@ export declare const VersionDelta: z.ZodObject<{
|
|
|
240
239
|
delta: z.ZodLiteral<true>;
|
|
241
240
|
add_tables: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
242
241
|
columns: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
243
|
-
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
242
|
+
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>;
|
|
244
243
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
245
244
|
unique: z.ZodDefault<z.ZodBoolean>;
|
|
246
245
|
primary: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -275,7 +274,7 @@ export declare const VersionDelta: z.ZodObject<{
|
|
|
275
274
|
drop_tables: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
276
275
|
alter_tables: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
277
276
|
add_columns: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
278
|
-
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
277
|
+
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>;
|
|
279
278
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
280
279
|
unique: z.ZodDefault<z.ZodBoolean>;
|
|
281
280
|
primary: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -292,9 +291,9 @@ export declare const VersionDelta: z.ZodObject<{
|
|
|
292
291
|
}, z.core.$strict>>>>;
|
|
293
292
|
drop_columns: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
294
293
|
alter_columns: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
295
|
-
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
294
|
+
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>>;
|
|
296
295
|
default: z.ZodOptional<z.ZodString>;
|
|
297
|
-
ops: z.ZodOptional<z.ZodArray<z.ZodLiteral<"
|
|
296
|
+
ops: z.ZodOptional<z.ZodArray<z.ZodLiteral<"set_required" | "drop_default" | "drop_required">>>;
|
|
298
297
|
}, z.core.$strict>>>>;
|
|
299
298
|
add_constraints: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
300
299
|
type: z.ZodLiteral<"primary_key">;
|
|
@@ -324,7 +323,7 @@ export declare const SchemaFile: z.ZodObject<{
|
|
|
324
323
|
versions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
325
324
|
tables: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
326
325
|
columns: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
327
|
-
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
326
|
+
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>;
|
|
328
327
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
329
328
|
unique: z.ZodDefault<z.ZodBoolean>;
|
|
330
329
|
primary: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -362,7 +361,7 @@ export declare const SchemaFile: z.ZodObject<{
|
|
|
362
361
|
delta: z.ZodLiteral<true>;
|
|
363
362
|
add_tables: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
364
363
|
columns: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
365
|
-
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
364
|
+
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>;
|
|
366
365
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
367
366
|
unique: z.ZodDefault<z.ZodBoolean>;
|
|
368
367
|
primary: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -397,7 +396,7 @@ export declare const SchemaFile: z.ZodObject<{
|
|
|
397
396
|
drop_tables: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
398
397
|
alter_tables: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
399
398
|
add_columns: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
400
|
-
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
399
|
+
type: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>;
|
|
401
400
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
402
401
|
unique: z.ZodDefault<z.ZodBoolean>;
|
|
403
402
|
primary: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -414,9 +413,9 @@ export declare const SchemaFile: z.ZodObject<{
|
|
|
414
413
|
}, z.core.$strict>>>>;
|
|
415
414
|
drop_columns: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
416
415
|
alter_columns: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
417
|
-
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "integer" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "
|
|
416
|
+
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"bigint" | "boolean" | "uuid" | "date" | "binary" | "text" | "timestamptz" | "jsonb" | "bytea" | "integer" | "json" | "int2" | "int4" | "int8" | "smallint" | "real" | "double precision" | "float4" | "float8" | "decimal" | "numeric" | "serial" | "bigserial" | "bool" | "varchar" | "char" | "datetime" | "time" | "timetz" | "timestamp" | "varbinary" | "blob" | "int4range" | "numrange" | "tsrange" | "tstzrange" | "daterange" | "int4multirange" | "int8multirange" | "nummultirange" | "tsmultirange" | "tstzmultirange" | "datemultirange">, z.ZodTemplateLiteral<`binary(${number})` | `timestamptz(${number})` | `varchar(${number})` | `char(${number})` | `datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `varbinary(${number})`>, z.ZodTemplateLiteral<`decimal(${number},${number})` | `decimal(${number}, ${number})` | `numeric(${number},${number})` | `numeric(${number}, ${number})`>]>, z.ZodTemplateLiteral<"text[]" | "bigint[]" | "boolean[]" | "uuid[]" | "date[]" | "binary[]" | "timestamptz[]" | "jsonb[]" | "bytea[]" | "integer[]" | "json[]" | "int2[]" | "int4[]" | "int8[]" | "smallint[]" | "real[]" | "double precision[]" | "float4[]" | "float8[]" | "decimal[]" | "numeric[]" | "serial[]" | "bigserial[]" | "bool[]" | "varchar[]" | "char[]" | "datetime[]" | "time[]" | "timetz[]" | "timestamp[]" | "varbinary[]" | "blob[]" | "int4range[]" | "numrange[]" | "tsrange[]" | "tstzrange[]" | "daterange[]" | "int4multirange[]" | "int8multirange[]" | "nummultirange[]" | "tsmultirange[]" | "tstzmultirange[]" | "datemultirange[]" | `binary(${number})[]` | `timestamptz(${number})[]` | `varchar(${number})[]` | `char(${number})[]` | `datetime(${number})[]` | `time(${number})[]` | `timetz(${number})[]` | `timestamp(${number})[]` | `varbinary(${number})[]` | `decimal(${number},${number})[]` | `decimal(${number}, ${number})[]` | `numeric(${number},${number})[]` | `numeric(${number}, ${number})[]` | `bigint[${number}]` | `boolean[${number}]` | `uuid[${number}]` | `date[${number}]` | `binary[${number}]` | `text[${number}]` | `timestamptz[${number}]` | `jsonb[${number}]` | `bytea[${number}]` | `integer[${number}]` | `json[${number}]` | `int2[${number}]` | `int4[${number}]` | `int8[${number}]` | `smallint[${number}]` | `real[${number}]` | `double precision[${number}]` | `float4[${number}]` | `float8[${number}]` | `decimal[${number}]` | `numeric[${number}]` | `serial[${number}]` | `bigserial[${number}]` | `bool[${number}]` | `varchar[${number}]` | `char[${number}]` | `datetime[${number}]` | `time[${number}]` | `timetz[${number}]` | `timestamp[${number}]` | `varbinary[${number}]` | `blob[${number}]` | `int4range[${number}]` | `numrange[${number}]` | `tsrange[${number}]` | `tstzrange[${number}]` | `daterange[${number}]` | `int4multirange[${number}]` | `int8multirange[${number}]` | `nummultirange[${number}]` | `tsmultirange[${number}]` | `tstzmultirange[${number}]` | `datemultirange[${number}]` | `binary(${number})[${number}]` | `timestamptz(${number})[${number}]` | `varchar(${number})[${number}]` | `char(${number})[${number}]` | `datetime(${number})[${number}]` | `time(${number})[${number}]` | `timetz(${number})[${number}]` | `timestamp(${number})[${number}]` | `varbinary(${number})[${number}]` | `decimal(${number},${number})[${number}]` | `decimal(${number}, ${number})[${number}]` | `numeric(${number},${number})[${number}]` | `numeric(${number}, ${number})[${number}]`>]>>;
|
|
418
417
|
default: z.ZodOptional<z.ZodString>;
|
|
419
|
-
ops: z.ZodOptional<z.ZodArray<z.ZodLiteral<"
|
|
418
|
+
ops: z.ZodOptional<z.ZodArray<z.ZodLiteral<"set_required" | "drop_default" | "drop_required">>>;
|
|
420
419
|
}, z.core.$strict>>>>;
|
|
421
420
|
add_constraints: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
422
421
|
type: z.ZodLiteral<"primary_key">;
|
package/dist/io.d.ts
CHANGED
package/dist/io.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as io from '@axium/core/node/io';
|
|
2
|
-
import { getVersionInfo } from '@axium/core/packages';
|
|
2
|
+
import { getVersionInfo } from '@axium/core/node/packages';
|
|
3
3
|
import { plugins } from '@axium/core/plugins';
|
|
4
4
|
import { Logger } from 'logzen';
|
|
5
5
|
import * as fs from 'node:fs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axium/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.1",
|
|
4
4
|
"author": "James Prevett <axium@jamespre.dev>",
|
|
5
5
|
"funding": {
|
|
6
6
|
"type": "individual",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"clean": "rm -rf build .svelte-kit node_modules/{.vite,.vite-temp}"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@axium/client": ">=0.
|
|
51
|
-
"@axium/core": ">=0.
|
|
50
|
+
"@axium/client": ">=0.11.0",
|
|
51
|
+
"@axium/core": ">=0.17.0",
|
|
52
52
|
"kysely": "^0.28.0",
|
|
53
53
|
"utilium": "^2.6.0",
|
|
54
54
|
"zod": "^4.0.5"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
</div>
|
|
37
37
|
<p class="greeting">Welcome, {user.name}</p>
|
|
38
38
|
|
|
39
|
-
<div class="section main">
|
|
39
|
+
<div id="info" class="section main">
|
|
40
40
|
<h3>Personal Information</h3>
|
|
41
41
|
<div class="item info">
|
|
42
42
|
<p class="subtle">Name</p>
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
</div>
|
|
93
93
|
</div>
|
|
94
94
|
|
|
95
|
-
<div class="section main">
|
|
95
|
+
<div id="passkeys" class="section main">
|
|
96
96
|
<h3>Passkeys</h3>
|
|
97
97
|
{#each passkeys as passkey}
|
|
98
98
|
<div class="item passkey">
|
|
@@ -154,12 +154,12 @@
|
|
|
154
154
|
</button>
|
|
155
155
|
</div>
|
|
156
156
|
|
|
157
|
-
<div class="section main">
|
|
157
|
+
<div id="sessions" class="section main">
|
|
158
158
|
<h3>Sessions</h3>
|
|
159
159
|
<SessionList {sessions} {currentSession} {user} redirectAfterLogoutAll />
|
|
160
160
|
</div>
|
|
161
161
|
|
|
162
|
-
<div class="section main">
|
|
162
|
+
<div id="preferences" class="section main">
|
|
163
163
|
<h3>Preferences</h3>
|
|
164
164
|
<Preferences userId={user.id} bind:preferences={user.preferences} />
|
|
165
165
|
</div>
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import Icon from '@axium/client/components
|
|
2
|
+
import { FormDialog, Icon, URLText } from '@axium/client/components';
|
|
3
|
+
import { fetchAPI } from '@axium/client/requests';
|
|
3
4
|
import '@axium/client/styles/list';
|
|
5
|
+
import type { VerificationInternal } from '@axium/core';
|
|
4
6
|
import { colorHash } from '@axium/core/color';
|
|
5
7
|
|
|
6
8
|
const { data } = $props();
|
|
9
|
+
let users = $state(data.users);
|
|
10
|
+
|
|
11
|
+
let createdUserDialog = $state<HTMLDialogElement>();
|
|
12
|
+
let verification = $state<VerificationInternal>();
|
|
7
13
|
</script>
|
|
8
14
|
|
|
9
15
|
<svelte:head>
|
|
@@ -16,13 +22,48 @@
|
|
|
16
22
|
<span class="attribute" style:background-color={color}><Icon {i} />{text}</span>
|
|
17
23
|
{/snippet}
|
|
18
24
|
|
|
25
|
+
<button command="show-modal" commandfor="create-user" class="icon-text">
|
|
26
|
+
<Icon i="plus" />
|
|
27
|
+
Create User
|
|
28
|
+
</button>
|
|
29
|
+
|
|
30
|
+
<FormDialog
|
|
31
|
+
id="create-user"
|
|
32
|
+
submitText="Create"
|
|
33
|
+
submit={(data: { email: string; name: string }) =>
|
|
34
|
+
fetchAPI('PUT', 'admin/users', data).then(res => {
|
|
35
|
+
verification = res.verification;
|
|
36
|
+
users.push(res.user);
|
|
37
|
+
createdUserDialog?.showModal();
|
|
38
|
+
})}
|
|
39
|
+
>
|
|
40
|
+
<div>
|
|
41
|
+
<label for="email">Email</label>
|
|
42
|
+
<input name="email" type="email" required />
|
|
43
|
+
</div>
|
|
44
|
+
<div>
|
|
45
|
+
<label for="name">Name</label>
|
|
46
|
+
<input name="name" type="text" required />
|
|
47
|
+
</div>
|
|
48
|
+
</FormDialog>
|
|
49
|
+
|
|
50
|
+
<dialog bind:this={createdUserDialog} id="created-user-verification">
|
|
51
|
+
<h3>New User Created</h3>
|
|
52
|
+
|
|
53
|
+
<p>They can log in using this URL:</p>
|
|
54
|
+
|
|
55
|
+
<URLText url="/login/token?user={verification?.userId}&token={verification?.token}" />
|
|
56
|
+
|
|
57
|
+
<button onclick={() => createdUserDialog?.close()}>Okay</button>
|
|
58
|
+
</dialog>
|
|
59
|
+
|
|
19
60
|
<div id="user-list" class="list">
|
|
20
61
|
<div class="list-item list-header">
|
|
21
62
|
<span>Name</span>
|
|
22
63
|
<span>Email</span>
|
|
23
64
|
<span>Attributes</span>
|
|
24
65
|
</div>
|
|
25
|
-
{#each
|
|
66
|
+
{#each users as user}
|
|
26
67
|
<div class="user list-item" onclick={e => e.currentTarget === e.target && (location.href = '/admin/users/' + user.id)}>
|
|
27
68
|
<span>{user.name}</span>
|
|
28
69
|
<span>{user.email}</span>
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { ClipboardCopy, Preferences, SessionList, Icon } from '@axium/client/components';
|
|
2
|
+
import { ClipboardCopy, Preferences, SessionList, Icon, FormDialog } from '@axium/client/components';
|
|
3
3
|
import '@axium/client/styles/account';
|
|
4
|
+
import { deleteUser } from '@axium/client/user';
|
|
4
5
|
import { formatDateRange } from '@axium/core/format';
|
|
5
6
|
|
|
6
7
|
const { data } = $props();
|
|
7
|
-
const { user } = data;
|
|
8
|
+
const { user, session } = data;
|
|
8
9
|
|
|
9
10
|
let sessions = $state(user.sessions);
|
|
10
11
|
</script>
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
|
|
22
23
|
<h2>User Management</h2>
|
|
23
24
|
|
|
24
|
-
<div class="section main">
|
|
25
|
+
<div id="info" class="section main">
|
|
25
26
|
<div class="item info">
|
|
26
27
|
<p>UUID</p>
|
|
27
28
|
<p>{user.id}</p>
|
|
@@ -85,14 +86,27 @@
|
|
|
85
86
|
<p>Tags</p>
|
|
86
87
|
<p>{user.tags.join(', ')}</p>
|
|
87
88
|
</div>
|
|
89
|
+
|
|
90
|
+
<button class="inline-button icon-text danger" command="show-modal" commandfor="delete-user">
|
|
91
|
+
<Icon i="trash" /> Delete User
|
|
92
|
+
</button>
|
|
93
|
+
|
|
94
|
+
<FormDialog
|
|
95
|
+
id="delete-user"
|
|
96
|
+
submit={() => deleteUser(user.id, session?.userId).then(() => (window.location.href = '/admin/users'))}
|
|
97
|
+
submitText="Delete User"
|
|
98
|
+
submitDanger
|
|
99
|
+
>
|
|
100
|
+
<p>Are you sure you want to delete this user?<br />This action can't be undone.</p>
|
|
101
|
+
</FormDialog>
|
|
88
102
|
</div>
|
|
89
103
|
|
|
90
|
-
<div class="section main">
|
|
104
|
+
<div id="sessions" class="section main">
|
|
91
105
|
<h3>Sessions</h3>
|
|
92
106
|
<SessionList {sessions} {user} />
|
|
93
107
|
</div>
|
|
94
108
|
|
|
95
|
-
<div class="section main">
|
|
109
|
+
<div id="preferences" class="section main">
|
|
96
110
|
<h3>Preferences</h3>
|
|
97
111
|
<Preferences userId={user.id} bind:preferences={user.preferences} />
|
|
98
112
|
</div>
|
|
@@ -3,15 +3,7 @@ import { fetchAPI } from '@axium/client/requests';
|
|
|
3
3
|
export const ssr = false;
|
|
4
4
|
|
|
5
5
|
export async function load({ params }) {
|
|
6
|
-
const user = await fetchAPI('GET', '
|
|
7
|
-
|
|
8
|
-
for (const session of user.sessions) {
|
|
9
|
-
session.created = new Date(session.created);
|
|
10
|
-
session.expires = new Date(session.expires);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
user.registeredAt = new Date(user.registeredAt);
|
|
14
|
-
user.emailVerified = user.emailVerified ? new Date(user.emailVerified) : null;
|
|
6
|
+
const user = await fetchAPI('GET', 'users/:id/full', null, params.id);
|
|
15
7
|
|
|
16
8
|
return { user };
|
|
17
9
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
const { data } = $props();
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<svelte:head>
|
|
6
|
+
<title>Login Failed</title>
|
|
7
|
+
</svelte:head>
|
|
8
|
+
|
|
9
|
+
<div class="error center">
|
|
10
|
+
<p>{data.error}</p>
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
<style>
|
|
14
|
+
div.center {
|
|
15
|
+
width: fit-content;
|
|
16
|
+
height: fit-content;
|
|
17
|
+
top: 50%;
|
|
18
|
+
left: 50%;
|
|
19
|
+
transform: translate(-50%, -50%);
|
|
20
|
+
position: fixed;
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
justify-content: center;
|
|
24
|
+
align-items: center;
|
|
25
|
+
padding: 2em;
|
|
26
|
+
border-radius: 1em;
|
|
27
|
+
}
|
|
28
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { fetchAPI } from '@axium/client/requests';
|
|
2
|
+
|
|
3
|
+
export const ssr = false;
|
|
4
|
+
|
|
5
|
+
export async function load({ url }: { url: URL }) {
|
|
6
|
+
const token = url.searchParams.get('token');
|
|
7
|
+
if (!token) return { error: 'No token provided' };
|
|
8
|
+
|
|
9
|
+
const userId = url.searchParams.get('user');
|
|
10
|
+
if (!userId) return { error: 'No user ID provided' };
|
|
11
|
+
|
|
12
|
+
try {
|
|
13
|
+
await fetchAPI('POST', 'users/:id/verify/login', { token }, userId);
|
|
14
|
+
location.href = '/account#passkeys';
|
|
15
|
+
} catch (e) {
|
|
16
|
+
return { error: e instanceof Error ? e.message : String(e) };
|
|
17
|
+
}
|
|
18
|
+
}
|
package/schemas/config.json
CHANGED
|
@@ -90,12 +90,6 @@
|
|
|
90
90
|
"secure_cookies": {
|
|
91
91
|
"type": "boolean"
|
|
92
92
|
},
|
|
93
|
-
"verification_timeout": {
|
|
94
|
-
"type": "number"
|
|
95
|
-
},
|
|
96
|
-
"email_verification": {
|
|
97
|
-
"type": "boolean"
|
|
98
|
-
},
|
|
99
93
|
"header_only": {
|
|
100
94
|
"type": "boolean"
|
|
101
95
|
}
|
|
@@ -158,6 +152,18 @@
|
|
|
158
152
|
"show_duplicate_state": {
|
|
159
153
|
"type": "boolean"
|
|
160
154
|
},
|
|
155
|
+
"verifications": {
|
|
156
|
+
"type": "object",
|
|
157
|
+
"properties": {
|
|
158
|
+
"timeout": {
|
|
159
|
+
"type": "number"
|
|
160
|
+
},
|
|
161
|
+
"email": {
|
|
162
|
+
"type": "boolean"
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"additionalProperties": {}
|
|
166
|
+
},
|
|
161
167
|
"web": {
|
|
162
168
|
"type": "object",
|
|
163
169
|
"properties": {
|