@trypattern/sdk 0.1.21 → 0.1.22
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/cli/app.js +25 -1
- package/dist/cli/data.d.ts +5 -0
- package/dist/cli/data.js +273 -0
- package/dist/cli/publishing.d.ts +9 -2
- package/dist/cli/publishing.js +7 -7
- package/dist/components/Badge.d.ts +1 -1
- package/dist/components/Badge.js +18 -0
- package/dist/components/ButtonBody.d.ts +1 -1
- package/dist/components/ButtonBody.js +43 -0
- package/dist/patternAccess.d.ts +2 -0
- package/dist/patternAccess.js +2 -1
- package/dist/publishWire.d.ts +355 -1
- package/dist/publishWire.js +66 -1
- package/dist/server/changes.d.ts +18 -0
- package/dist/server/changes.js +113 -0
- package/dist/server/createServer.d.ts +38 -0
- package/dist/server/database.d.ts +38 -0
- package/dist/server/database.js +2 -0
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/patternViewer.js +4 -1
- package/dist/server/session.d.ts +1 -0
- package/dist/server/session.js +3 -0
- package/package.json +1 -1
package/dist/server/database.js
CHANGED
|
@@ -2,6 +2,7 @@ import { asc, count } from 'drizzle-orm';
|
|
|
2
2
|
import { drizzle } from 'drizzle-orm/d1';
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
+
import { applyChanges } from "./changes.js";
|
|
5
6
|
import { PAGE_PROBLEM, afterCursor, pageOf, pageReply } from "./keyset.js";
|
|
6
7
|
import { sqlTable } from "./tables.js";
|
|
7
8
|
import { users } from "./users.js";
|
|
@@ -66,6 +67,7 @@ export function serveDatabase(tables) {
|
|
|
66
67
|
};
|
|
67
68
|
return c.json({ tables: [...own, builtIn] });
|
|
68
69
|
})
|
|
70
|
+
.post('/changes', (c) => applyChanges(c, tables))
|
|
69
71
|
.get('/tables/users', async (c) => {
|
|
70
72
|
const refusal = adminRefusal(c);
|
|
71
73
|
if (refusal !== undefined)
|
package/dist/server/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { seedSql, serveTables, sqlTable, sqlTables } from './tables.ts';
|
|
|
8
8
|
export { refused } from '../services.ts';
|
|
9
9
|
export { serveServices } from './services.ts';
|
|
10
10
|
export type { ServiceHandlers } from './services.ts';
|
|
11
|
-
export { sessionCookieFor } from './session.ts';
|
|
11
|
+
export { sessionCookieFor, sessionIdOf } from './session.ts';
|
|
12
12
|
export { deleteSession, sessions } from './sessions.ts';
|
|
13
13
|
export { readTitle, seedTitleSql, settings, writeTitle } from './settings.ts';
|
|
14
14
|
export { exchangeReply, exchangeRequest, sendCodeReply, sendCodeRequest, verifiedIdentity, verifyCodeReply, verifyCodeRequest } from './signInWire.ts';
|
package/dist/server/index.js
CHANGED
|
@@ -4,7 +4,7 @@ export { bookings } from "./bookings.js";
|
|
|
4
4
|
export { seedSql, serveTables, sqlTable, sqlTables } from "./tables.js";
|
|
5
5
|
export { refused } from "../services.js";
|
|
6
6
|
export { serveServices } from "./services.js";
|
|
7
|
-
export { sessionCookieFor } from "./session.js";
|
|
7
|
+
export { sessionCookieFor, sessionIdOf } from "./session.js";
|
|
8
8
|
export { deleteSession, sessions } from "./sessions.js";
|
|
9
9
|
export { readTitle, seedTitleSql, settings, writeTitle } from "./settings.js";
|
|
10
10
|
export { exchangeReply, exchangeRequest, sendCodeReply, sendCodeRequest, verifiedIdentity, verifyCodeReply, verifyCodeRequest } from "./signInWire.js";
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { MEDIA_WRITE, TABLES_READ, verifiedAssertion } from "../patternAccess.js";
|
|
1
|
+
import { MEDIA_WRITE, TABLES_READ, TABLES_WRITE, verifiedAssertion } from "../patternAccess.js";
|
|
2
2
|
import { PATTERN_KEYS } from "./patternKeys.js";
|
|
3
3
|
const BEARER = /^bearer\s+/i;
|
|
4
4
|
const SCHEMA_PATH = '/api/schema';
|
|
5
5
|
const TABLES_PATH = '/api/tables/';
|
|
6
6
|
const MEDIA_PATH = '/api/media';
|
|
7
|
+
const CHANGES_PATH = '/api/changes';
|
|
7
8
|
export function bearerOf(c) {
|
|
8
9
|
const header = c.req.header('authorization') ?? '';
|
|
9
10
|
return BEARER.test(header) ? header.replace(BEARER, '').trim() : undefined;
|
|
@@ -14,6 +15,8 @@ function scopeOf(c) {
|
|
|
14
15
|
(path === SCHEMA_PATH || path.startsWith(TABLES_PATH))) {
|
|
15
16
|
return TABLES_READ;
|
|
16
17
|
}
|
|
18
|
+
if (method === 'POST' && path === CHANGES_PATH)
|
|
19
|
+
return TABLES_WRITE;
|
|
17
20
|
return method === 'POST' && path === MEDIA_PATH ? MEDIA_WRITE : undefined;
|
|
18
21
|
}
|
|
19
22
|
export async function attachPatternViewer(c, next, token) {
|
package/dist/server/session.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare function readPass(c: Context<ServerEnv>): Promise<{
|
|
|
27
27
|
email: string;
|
|
28
28
|
recheckAt: number;
|
|
29
29
|
} | undefined>;
|
|
30
|
+
export declare function sessionIdOf<Env extends ServerEnv>(c: Context<Env>): Promise<string | undefined>;
|
|
30
31
|
export declare const needsRecheck: (pass: Pass) => boolean;
|
|
31
32
|
export declare function forgetSession(c: Context<ServerEnv>): void;
|
|
32
33
|
export {};
|
package/dist/server/session.js
CHANGED
|
@@ -58,6 +58,9 @@ export async function readPass(c) {
|
|
|
58
58
|
return undefined;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
+
export async function sessionIdOf(c) {
|
|
62
|
+
return (await readPass(c))?.sessionId;
|
|
63
|
+
}
|
|
61
64
|
export const needsRecheck = (pass) => pass.recheckAt <= nowInSeconds();
|
|
62
65
|
export function forgetSession(c) {
|
|
63
66
|
deleteCookie(c, SESSION_COOKIE, { path: '/', secure: true });
|