tapimo 0.4.0 → 0.4.3
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/README.md +1 -1
- package/dist/ApiKey.d.ts +1 -9
- package/dist/ApiKey.d.ts.map +1 -1
- package/dist/ApiKey.js +2 -3
- package/dist/ApiKey.js.map +1 -1
- package/dist/ApiKeys.d.ts +53 -27
- package/dist/ApiKeys.d.ts.map +1 -1
- package/dist/ApiKeys.js +32 -17
- package/dist/ApiKeys.js.map +1 -1
- package/dist/App.d.ts +2451 -1533
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +23 -9
- package/dist/App.js.map +1 -1
- package/dist/Assets.d.ts +10 -0
- package/dist/Assets.d.ts.map +1 -1
- package/dist/Assets.js +4 -0
- package/dist/Assets.js.map +1 -1
- package/dist/Auth.d.ts +2 -1
- package/dist/Auth.d.ts.map +1 -1
- package/dist/Auth.js +2 -1
- package/dist/Auth.js.map +1 -1
- package/dist/Scope.d.ts +40 -15
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +44 -13
- package/dist/Scope.js.map +1 -1
- package/dist/admin/App.d.ts +560 -9
- package/dist/admin/App.d.ts.map +1 -1
- package/dist/admin/App.js +38 -6
- package/dist/admin/App.js.map +1 -1
- package/dist/admin/apps/api-keys.d.ts +10 -24
- package/dist/admin/apps/api-keys.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.js +10 -3
- package/dist/admin/apps/api-keys.js.map +1 -1
- package/dist/admin/apps/organizations.d.ts +833 -0
- package/dist/admin/apps/organizations.d.ts.map +1 -0
- package/dist/admin/apps/organizations.js +733 -0
- package/dist/admin/apps/organizations.js.map +1 -0
- package/dist/admin/apps/scopes.d.ts +8 -0
- package/dist/admin/apps/scopes.d.ts.map +1 -1
- package/dist/admin/ui.generated.d.ts +1 -1
- package/dist/admin/ui.generated.d.ts.map +1 -1
- package/dist/admin/ui.generated.js +53 -13
- package/dist/admin/ui.generated.js.map +1 -1
- package/dist/analytics/Analytics.d.ts +10 -0
- package/dist/analytics/Analytics.d.ts.map +1 -1
- package/dist/analytics/Analytics.js +8 -0
- package/dist/analytics/Analytics.js.map +1 -1
- package/dist/analytics/tables/requestEvents.d.ts +9 -0
- package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
- package/dist/analytics/tables/requestEvents.js +14 -0
- package/dist/analytics/tables/requestEvents.js.map +1 -1
- package/dist/apps/data/App.d.ts +1354 -984
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/App.js +20 -3
- package/dist/apps/data/App.js.map +1 -1
- package/dist/apps/data/FundingRouteProviders.d.ts +94 -5
- package/dist/apps/data/FundingRouteProviders.d.ts.map +1 -1
- package/dist/apps/data/FundingRouteProviders.js +196 -5
- package/dist/apps/data/FundingRouteProviders.js.map +1 -1
- package/dist/apps/data/routes/activities.d.ts +38 -38
- package/dist/apps/data/routes/addresses.d.ts +24 -24
- package/dist/apps/data/routes/balances.d.ts +45 -45
- package/dist/apps/data/routes/blocks.d.ts +39 -39
- package/dist/apps/data/routes/coingecko.d.ts +176 -176
- package/dist/apps/data/routes/exchanges.d.ts +453 -453
- package/dist/apps/data/routes/fee-amm.d.ts +101 -101
- package/dist/apps/data/routes/funding.d.ts +730 -138
- package/dist/apps/data/routes/funding.d.ts.map +1 -1
- package/dist/apps/data/routes/funding.js +234 -0
- package/dist/apps/data/routes/funding.js.map +1 -1
- package/dist/apps/data/routes/indexer.d.ts +5 -5
- package/dist/apps/data/routes/rpc.d.ts +31 -31
- package/dist/apps/data/routes/verified-tokens.d.ts +81 -81
- package/dist/apps/management/App.d.ts +1156 -615
- package/dist/apps/management/App.d.ts.map +1 -1
- package/dist/apps/management/App.js +2 -2
- package/dist/apps/management/Billing.d.ts +3 -0
- package/dist/apps/management/Billing.d.ts.map +1 -1
- package/dist/apps/management/Billing.js +7 -2
- package/dist/apps/management/Billing.js.map +1 -1
- package/dist/apps/management/routes/api-keys.d.ts +106 -90
- package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.js +41 -30
- package/dist/apps/management/routes/api-keys.js.map +1 -1
- package/dist/apps/management/routes/billing.d.ts +278 -146
- package/dist/apps/management/routes/billing.d.ts.map +1 -1
- package/dist/apps/management/routes/billing.js +14 -14
- package/dist/apps/management/routes/billing.js.map +1 -1
- package/dist/apps/management/routes/invitations.d.ts +93 -20
- package/dist/apps/management/routes/invitations.d.ts.map +1 -1
- package/dist/apps/management/routes/invitations.js +12 -15
- package/dist/apps/management/routes/invitations.js.map +1 -1
- package/dist/apps/management/routes/me.d.ts +13 -13
- package/dist/apps/management/routes/members.d.ts +89 -18
- package/dist/apps/management/routes/members.d.ts.map +1 -1
- package/dist/apps/management/routes/members.js +10 -10
- package/dist/apps/management/routes/members.js.map +1 -1
- package/dist/apps/management/routes/orgs.d.ts +130 -70
- package/dist/apps/management/routes/orgs.d.ts.map +1 -1
- package/dist/apps/management/routes/orgs.js +19 -19
- package/dist/apps/management/routes/orgs.js.map +1 -1
- package/dist/apps/management/routes/projects.d.ts +137 -48
- package/dist/apps/management/routes/projects.d.ts.map +1 -1
- package/dist/apps/management/routes/projects.js +12 -13
- package/dist/apps/management/routes/projects.js.map +1 -1
- package/dist/apps/management/routes/scopes.d.ts +14 -28
- package/dist/apps/management/routes/scopes.d.ts.map +1 -1
- package/dist/apps/management/routes/scopes.js +6 -7
- package/dist/apps/management/routes/scopes.js.map +1 -1
- package/dist/apps/management/routes/usage.d.ts +63 -19
- package/dist/apps/management/routes/usage.d.ts.map +1 -1
- package/dist/apps/management/routes/usage.js +9 -10
- package/dist/apps/management/routes/usage.js.map +1 -1
- package/dist/apps/mcp.d.ts.map +1 -1
- package/dist/apps/mcp.js +35 -3
- package/dist/apps/mcp.js.map +1 -1
- package/dist/apps/relay/App.d.ts +26 -4
- package/dist/apps/relay/App.d.ts.map +1 -1
- package/dist/apps/relay/App.js +17 -14
- package/dist/apps/relay/App.js.map +1 -1
- package/dist/db/Db.d.ts +5 -3
- package/dist/db/Db.d.ts.map +1 -1
- package/dist/db/Db.js +52 -0
- package/dist/db/Db.js.map +1 -1
- package/dist/db/Schema.d.ts +13 -0
- package/dist/db/Schema.d.ts.map +1 -1
- package/dist/db/Schema.js +16 -1
- package/dist/db/Schema.js.map +1 -1
- package/dist/db/tables/adminAuditLogs.d.ts +27 -0
- package/dist/db/tables/adminAuditLogs.d.ts.map +1 -0
- package/dist/db/tables/adminAuditLogs.js +19 -0
- package/dist/db/tables/adminAuditLogs.js.map +1 -0
- package/dist/db/tables/invitations.d.ts +1 -1
- package/dist/db/tables/invitations.d.ts.map +1 -1
- package/dist/db/tables/memberships.d.ts +32 -4
- package/dist/db/tables/memberships.d.ts.map +1 -1
- package/dist/db/tables/memberships.js +31 -0
- package/dist/db/tables/memberships.js.map +1 -1
- package/dist/db/tables/organizations.d.ts +43 -1
- package/dist/db/tables/organizations.d.ts.map +1 -1
- package/dist/db/tables/organizations.js +103 -0
- package/dist/db/tables/organizations.js.map +1 -1
- package/dist/db/tables/projects.d.ts +25 -0
- package/dist/db/tables/projects.d.ts.map +1 -1
- package/dist/db/tables/projects.js +22 -0
- package/dist/db/tables/projects.js.map +1 -1
- package/dist/db/tables/webhookDeliveries.d.ts +26 -0
- package/dist/db/tables/webhookDeliveries.d.ts.map +1 -1
- package/dist/db/tables/webhookDeliveries.js +37 -0
- package/dist/db/tables/webhookDeliveries.js.map +1 -1
- package/dist/handlers/relay.d.ts +13 -10
- package/dist/handlers/relay.d.ts.map +1 -1
- package/dist/handlers/relay.js +46 -16
- package/dist/handlers/relay.js.map +1 -1
- package/dist/internal/Auth.d.ts +13 -18
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +78 -58
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/Cursor.d.ts +1 -1
- package/dist/internal/Cursor.d.ts.map +1 -1
- package/dist/internal/Cursor.js +4 -0
- package/dist/internal/Cursor.js.map +1 -1
- package/dist/internal/EdgeCache.d.ts.map +1 -1
- package/dist/internal/EdgeCache.js +2 -0
- package/dist/internal/EdgeCache.js.map +1 -1
- package/dist/internal/FundingRoutes.d.ts +170 -0
- package/dist/internal/FundingRoutes.d.ts.map +1 -1
- package/dist/internal/FundingRoutes.js +68 -6
- package/dist/internal/FundingRoutes.js.map +1 -1
- package/dist/internal/Log.d.ts +16 -1
- package/dist/internal/Log.d.ts.map +1 -1
- package/dist/internal/Log.js +5 -3
- package/dist/internal/Log.js.map +1 -1
- package/package.json +2 -2
- package/src/ApiKey.ts +2 -3
- package/src/ApiKeys.ts +95 -17
- package/src/App.test.ts +44 -2
- package/src/App.ts +29 -9
- package/src/Assets.ts +8 -0
- package/src/Auth.test-d.ts +36 -0
- package/src/Auth.ts +20 -1
- package/src/Client.test-d.ts +64 -17
- package/src/Scope.test.ts +34 -0
- package/src/Scope.ts +53 -17
- package/src/admin/App.test.ts +33 -3
- package/src/admin/App.ts +49 -14
- package/src/admin/apps/api-keys.ts +10 -3
- package/src/admin/apps/organizations.test.ts +455 -0
- package/src/admin/apps/organizations.ts +953 -0
- package/src/admin/apps/scopes.test.ts +10 -0
- package/src/admin/ui/plugin.ts +1 -1
- package/src/admin/ui/src/components/MobileProfile.tsx +2 -0
- package/src/admin/ui/src/components/ThemeToggle.tsx +20 -0
- package/src/admin/ui/src/lib/api-keys.ts +36 -19
- package/src/admin/ui/src/lib/config.ts +2 -3
- package/src/admin/ui/src/lib/organizations.test.ts +89 -0
- package/src/admin/ui/src/lib/organizations.ts +262 -0
- package/src/admin/ui/src/lib/query-client.ts +3 -1
- package/src/admin/ui/src/lib/theme.ts +57 -0
- package/src/admin/ui/src/routeTree.gen.ts +47 -4
- package/src/admin/ui/src/routes/__root.tsx +18 -3
- package/src/admin/ui/src/routes/api-keys.tsx +52 -7
- package/src/admin/ui/src/routes/index.tsx +1 -1
- package/src/admin/ui/src/routes/organizations.tsx +158 -0
- package/src/admin/ui/src/routes/organizations_.$orgId.tsx +710 -0
- package/src/admin/ui/src/start.ts +6 -0
- package/src/admin/ui.generated.ts +63 -13
- package/src/analytics/Analytics.ts +25 -0
- package/src/analytics/tables/requestEvents.ts +33 -0
- package/src/apps/composition.test.ts +82 -2
- package/src/apps/data/App.ts +24 -3
- package/src/apps/data/FundingRouteProviders.test.ts +204 -0
- package/src/apps/data/FundingRouteProviders.ts +294 -9
- package/src/apps/data/routes/funding.test.ts +90 -23
- package/src/apps/data/routes/funding.ts +315 -0
- package/src/apps/data/routes/rpc.test.ts +33 -0
- package/src/apps/management/App.ts +2 -2
- package/src/apps/management/Billing.ts +10 -2
- package/src/apps/management/routes/api-keys.test.ts +137 -1
- package/src/apps/management/routes/api-keys.ts +63 -38
- package/src/apps/management/routes/billing.ts +14 -14
- package/src/apps/management/routes/invitations.test.ts +102 -1
- package/src/apps/management/routes/invitations.ts +13 -15
- package/src/apps/management/routes/members.ts +10 -10
- package/src/apps/management/routes/orgs.test.ts +78 -16
- package/src/apps/management/routes/orgs.ts +21 -20
- package/src/apps/management/routes/projects.ts +12 -13
- package/src/apps/management/routes/scopes.test.ts +16 -0
- package/src/apps/management/routes/scopes.ts +6 -7
- package/src/apps/management/routes/usage.ts +9 -14
- package/src/apps/mcp.test.ts +25 -1
- package/src/apps/mcp.ts +43 -3
- package/src/apps/relay/App.test.ts +23 -18
- package/src/apps/relay/App.ts +35 -14
- package/src/db/Db.ts +59 -3
- package/src/db/Schema.ts +20 -1
- package/src/db/tables/adminAuditLogs.ts +47 -0
- package/src/db/tables/invitations.ts +1 -1
- package/src/db/tables/memberships.ts +59 -3
- package/src/db/tables/organizations.ts +148 -1
- package/src/db/tables/projects.ts +47 -0
- package/src/db/tables/webhookDeliveries.ts +83 -0
- package/src/handlers/relay.test-d.ts +8 -0
- package/src/handlers/relay.test.ts +2 -2
- package/src/handlers/relay.ts +62 -22
- package/src/internal/Auth.test.ts +174 -7
- package/src/internal/Auth.ts +90 -62
- package/src/internal/Cursor.test.ts +10 -0
- package/src/internal/Cursor.ts +5 -1
- package/src/internal/EdgeCache.test.ts +11 -0
- package/src/internal/EdgeCache.ts +2 -0
- package/src/internal/FundingRoutes.test.ts +26 -0
- package/src/internal/FundingRoutes.ts +187 -18
- package/src/internal/Log.test.ts +41 -3
- package/src/internal/Log.ts +23 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Selectable } from 'kysely';
|
|
2
2
|
import type * as Db from '../Db.js';
|
|
3
3
|
import type * as db_Schema from '../Schema.js';
|
|
4
4
|
import type * as Memberships from './memberships.js';
|
|
@@ -62,6 +62,14 @@ export declare function deleteOrganization(db: Db.Db, id: string): Promise<boole
|
|
|
62
62
|
* @returns The record, or `undefined` when absent.
|
|
63
63
|
*/
|
|
64
64
|
export declare function get(db: Db.Db, id: string): Promise<Record | undefined>;
|
|
65
|
+
/**
|
|
66
|
+
* Reads an organization with current member and project counts.
|
|
67
|
+
*
|
|
68
|
+
* @param db - The database.
|
|
69
|
+
* @param id - The organization id.
|
|
70
|
+
* @returns The organization summary, or `undefined` when absent.
|
|
71
|
+
*/
|
|
72
|
+
export declare function getSummary(db: Db.Db, id: string): Promise<search.Result | undefined>;
|
|
65
73
|
/**
|
|
66
74
|
* Lists organizations, newest first.
|
|
67
75
|
*
|
|
@@ -69,6 +77,40 @@ export declare function get(db: Db.Db, id: string): Promise<Record | undefined>;
|
|
|
69
77
|
* @returns The records.
|
|
70
78
|
*/
|
|
71
79
|
export declare function list(db: Db.Db): Promise<Record[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Searches organizations for the admin lookup surface, newest first. Results
|
|
82
|
+
* include member and project counts and use a stable `(createdAt, id)` keyset.
|
|
83
|
+
*
|
|
84
|
+
* @param db - The database.
|
|
85
|
+
* @param options - Search, keyset, and page-size options.
|
|
86
|
+
* @returns At most `limit + 1` rows so the caller can derive a next cursor.
|
|
87
|
+
*/
|
|
88
|
+
export declare function search(db: Db.Db, options: search.Options): Promise<search.Result[]>;
|
|
89
|
+
export declare namespace search {
|
|
90
|
+
/** Cursor fields for the last organization returned by the previous page. */
|
|
91
|
+
type Cursor = {
|
|
92
|
+
/** Organization creation time. */
|
|
93
|
+
createdAt: string;
|
|
94
|
+
/** Organization id, used as a deterministic tie-breaker. */
|
|
95
|
+
id: string;
|
|
96
|
+
};
|
|
97
|
+
/** Options for {@link search}. */
|
|
98
|
+
type Options = {
|
|
99
|
+
/** Last organization returned by the previous page. */
|
|
100
|
+
cursor?: Cursor | undefined;
|
|
101
|
+
/** Requested page size. */
|
|
102
|
+
limit: number;
|
|
103
|
+
/** Exact resource id or case-insensitive name/email prefix search. */
|
|
104
|
+
query?: string | undefined;
|
|
105
|
+
};
|
|
106
|
+
/** Organization summary returned by {@link search}. */
|
|
107
|
+
type Result = Record & {
|
|
108
|
+
/** Number of current organization members. */
|
|
109
|
+
memberCount: number;
|
|
110
|
+
/** Number of projects owned by the organization. */
|
|
111
|
+
projectCount: number;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
72
114
|
/**
|
|
73
115
|
* Lists organizations owned by `userId`, newest first.
|
|
74
116
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organizations.d.ts","sourceRoot":"","sources":["../../../src/db/tables/organizations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"organizations.d.ts","sourceRoot":"","sources":["../../../src/db/tables/organizations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sql } from 'kysely';
|
|
1
2
|
import * as Id from '../../internal/Id.js';
|
|
2
3
|
/**
|
|
3
4
|
* Inserts an organization and returns the stored record. The `id` defaults to
|
|
@@ -93,6 +94,39 @@ export function deleteOrganization(db, id) {
|
|
|
93
94
|
export function get(db, id) {
|
|
94
95
|
return db.kysely.selectFrom('organizations').selectAll().where('id', '=', id).executeTakeFirst();
|
|
95
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Reads an organization with current member and project counts.
|
|
99
|
+
*
|
|
100
|
+
* @param db - The database.
|
|
101
|
+
* @param id - The organization id.
|
|
102
|
+
* @returns The organization summary, or `undefined` when absent.
|
|
103
|
+
*/
|
|
104
|
+
export async function getSummary(db, id) {
|
|
105
|
+
const record = await db.kysely
|
|
106
|
+
.selectFrom('organizations')
|
|
107
|
+
.selectAll('organizations')
|
|
108
|
+
.select((eb) => [
|
|
109
|
+
eb
|
|
110
|
+
.selectFrom('memberships')
|
|
111
|
+
.select((builder) => builder.fn.countAll().as('count'))
|
|
112
|
+
.whereRef('memberships.orgId', '=', 'organizations.id')
|
|
113
|
+
.as('memberCount'),
|
|
114
|
+
eb
|
|
115
|
+
.selectFrom('projects')
|
|
116
|
+
.select((builder) => builder.fn.countAll().as('count'))
|
|
117
|
+
.whereRef('projects.orgId', '=', 'organizations.id')
|
|
118
|
+
.as('projectCount'),
|
|
119
|
+
])
|
|
120
|
+
.where('organizations.id', '=', id)
|
|
121
|
+
.executeTakeFirst();
|
|
122
|
+
if (!record)
|
|
123
|
+
return undefined;
|
|
124
|
+
return {
|
|
125
|
+
...record,
|
|
126
|
+
memberCount: Number(record.memberCount),
|
|
127
|
+
projectCount: Number(record.projectCount),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
96
130
|
/**
|
|
97
131
|
* Lists organizations, newest first.
|
|
98
132
|
*
|
|
@@ -102,6 +136,75 @@ export function get(db, id) {
|
|
|
102
136
|
export function list(db) {
|
|
103
137
|
return db.kysely.selectFrom('organizations').selectAll().orderBy('createdAt', 'desc').execute();
|
|
104
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Searches organizations for the admin lookup surface, newest first. Results
|
|
141
|
+
* include member and project counts and use a stable `(createdAt, id)` keyset.
|
|
142
|
+
*
|
|
143
|
+
* @param db - The database.
|
|
144
|
+
* @param options - Search, keyset, and page-size options.
|
|
145
|
+
* @returns At most `limit + 1` rows so the caller can derive a next cursor.
|
|
146
|
+
*/
|
|
147
|
+
export async function search(db, options) {
|
|
148
|
+
const { cursor, limit, query: searchQuery } = options;
|
|
149
|
+
let query = db.kysely
|
|
150
|
+
.selectFrom('organizations')
|
|
151
|
+
.selectAll('organizations')
|
|
152
|
+
.select((eb) => [
|
|
153
|
+
eb
|
|
154
|
+
.selectFrom('memberships')
|
|
155
|
+
.select((builder) => builder.fn.countAll().as('count'))
|
|
156
|
+
.whereRef('memberships.orgId', '=', 'organizations.id')
|
|
157
|
+
.as('memberCount'),
|
|
158
|
+
eb
|
|
159
|
+
.selectFrom('projects')
|
|
160
|
+
.select((builder) => builder.fn.countAll().as('count'))
|
|
161
|
+
.whereRef('projects.orgId', '=', 'organizations.id')
|
|
162
|
+
.as('projectCount'),
|
|
163
|
+
]);
|
|
164
|
+
if (searchQuery?.startsWith('org_'))
|
|
165
|
+
query = query.where('organizations.id', '=', searchQuery);
|
|
166
|
+
else if (searchQuery?.startsWith('usr_'))
|
|
167
|
+
query = query.where((eb) => eb.or([
|
|
168
|
+
eb('organizations.userId', '=', searchQuery),
|
|
169
|
+
eb('organizations.id', 'in', eb
|
|
170
|
+
.selectFrom('memberships')
|
|
171
|
+
.select('memberships.orgId')
|
|
172
|
+
.where('memberships.userId', '=', searchQuery)),
|
|
173
|
+
]));
|
|
174
|
+
else if (searchQuery) {
|
|
175
|
+
const pattern = `${searchQuery
|
|
176
|
+
.toLowerCase()
|
|
177
|
+
.replaceAll('\\', '\\\\')
|
|
178
|
+
.replaceAll('%', '\\%')
|
|
179
|
+
.replaceAll('_', '\\_')}%`;
|
|
180
|
+
query = query.where((eb) => eb.or([
|
|
181
|
+
sql `lower(${sql.ref('organizations.name')}) LIKE ${pattern} ESCAPE '\\'`,
|
|
182
|
+
eb('organizations.id', 'in', eb
|
|
183
|
+
.selectFrom('memberships')
|
|
184
|
+
.innerJoin('users', 'users.id', 'memberships.userId')
|
|
185
|
+
.select('memberships.orgId')
|
|
186
|
+
.where(sql `lower(${sql.ref('users.email')}) LIKE ${pattern} ESCAPE '\\'`)),
|
|
187
|
+
]));
|
|
188
|
+
}
|
|
189
|
+
if (cursor)
|
|
190
|
+
query = query.where((eb) => eb.or([
|
|
191
|
+
eb('organizations.createdAt', '<', cursor.createdAt),
|
|
192
|
+
eb.and([
|
|
193
|
+
eb('organizations.createdAt', '=', cursor.createdAt),
|
|
194
|
+
eb('organizations.id', '<', cursor.id),
|
|
195
|
+
]),
|
|
196
|
+
]));
|
|
197
|
+
const records = await query
|
|
198
|
+
.orderBy('organizations.createdAt', 'desc')
|
|
199
|
+
.orderBy('organizations.id', 'desc')
|
|
200
|
+
.limit(limit + 1)
|
|
201
|
+
.execute();
|
|
202
|
+
return records.map((record) => ({
|
|
203
|
+
...record,
|
|
204
|
+
memberCount: Number(record.memberCount),
|
|
205
|
+
projectCount: Number(record.projectCount),
|
|
206
|
+
}));
|
|
207
|
+
}
|
|
105
208
|
/**
|
|
106
209
|
* Lists organizations owned by `userId`, newest first.
|
|
107
210
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../../src/db/tables/organizations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../../src/db/tables/organizations.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,31 @@ export declare function get(db: Db.Db, id: string): Promise<Record | undefined>;
|
|
|
46
46
|
* @returns The records.
|
|
47
47
|
*/
|
|
48
48
|
export declare function listByOrg(db: Db.Db, orgId: string): Promise<Record[]>;
|
|
49
|
+
/**
|
|
50
|
+
* Lists a bounded page of an organization's projects, newest first.
|
|
51
|
+
*
|
|
52
|
+
* @param db - The database.
|
|
53
|
+
* @param orgId - The organization id.
|
|
54
|
+
* @param options - Keyset and page-size options.
|
|
55
|
+
* @returns At most `limit + 1` rows for next-cursor derivation.
|
|
56
|
+
*/
|
|
57
|
+
export declare function listByOrgPage(db: Db.Db, orgId: string, options: listByOrgPage.Options): Promise<Record[]>;
|
|
58
|
+
export declare namespace listByOrgPage {
|
|
59
|
+
/** Cursor fields for the last project on the previous page. */
|
|
60
|
+
type Cursor = {
|
|
61
|
+
/** Project creation time. */
|
|
62
|
+
createdAt: string;
|
|
63
|
+
/** Project id, used as a deterministic tie-breaker. */
|
|
64
|
+
id: string;
|
|
65
|
+
};
|
|
66
|
+
/** Options for {@link listByOrgPage}. */
|
|
67
|
+
type Options = {
|
|
68
|
+
/** Last project returned by the previous page. */
|
|
69
|
+
cursor?: Cursor | undefined;
|
|
70
|
+
/** Requested page size. */
|
|
71
|
+
limit: number;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
49
74
|
/**
|
|
50
75
|
* Renames a project, bumping `updatedAt`.
|
|
51
76
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../src/db/tables/projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGxC,OAAO,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,KAAK,SAAS,MAAM,cAAc,CAAA;AAE9C,sEAAsE;AACtE,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAA;AAErC,4BAA4B;AAC5B,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;AAEtC;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAatE;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,gDAAgD;IAChD,KAAK,KAAK,GAAG;QACX,mCAAmC;QACnC,IAAI,EAAE,MAAM,CAAA;QACZ,wCAAwC;QACxC,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG3E;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEtE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOrE;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO9F;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,8BAA8B;IAC9B,KAAK,KAAK,GAAG;QACX,uCAAuC;QACvC,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF"}
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../src/db/tables/projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGxC,OAAO,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,KAAK,SAAS,MAAM,cAAc,CAAA;AAE9C,sEAAsE;AACtE,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAA;AAErC,4BAA4B;AAC5B,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;AAEtC;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAatE;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,gDAAgD;IAChD,KAAK,KAAK,GAAG;QACX,mCAAmC;QACnC,IAAI,EAAE,MAAM,CAAA;QACZ,wCAAwC;QACxC,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG3E;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEtE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOrE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,CAAC,OAAO,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,+DAA+D;IAC/D,KAAK,MAAM,GAAG;QACZ,6BAA6B;QAC7B,SAAS,EAAE,MAAM,CAAA;QACjB,uDAAuD;QACvD,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IAED,yCAAyC;IACzC,KAAK,OAAO,GAAG;QACb,kDAAkD;QAClD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,2BAA2B;QAC3B,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO9F;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,8BAA8B;IAC9B,KAAK,KAAK,GAAG;QACX,uCAAuC;QACvC,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF"}
|
|
@@ -56,6 +56,28 @@ export function listByOrg(db, orgId) {
|
|
|
56
56
|
.orderBy('createdAt', 'desc')
|
|
57
57
|
.execute();
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Lists a bounded page of an organization's projects, newest first.
|
|
61
|
+
*
|
|
62
|
+
* @param db - The database.
|
|
63
|
+
* @param orgId - The organization id.
|
|
64
|
+
* @param options - Keyset and page-size options.
|
|
65
|
+
* @returns At most `limit + 1` rows for next-cursor derivation.
|
|
66
|
+
*/
|
|
67
|
+
export function listByOrgPage(db, orgId, options) {
|
|
68
|
+
const cursor = options.cursor;
|
|
69
|
+
let query = db.kysely.selectFrom('projects').selectAll().where('orgId', '=', orgId);
|
|
70
|
+
if (cursor)
|
|
71
|
+
query = query.where((eb) => eb.or([
|
|
72
|
+
eb('createdAt', '<', cursor.createdAt),
|
|
73
|
+
eb.and([eb('createdAt', '=', cursor.createdAt), eb('id', '<', cursor.id)]),
|
|
74
|
+
]));
|
|
75
|
+
return query
|
|
76
|
+
.orderBy('createdAt', 'desc')
|
|
77
|
+
.orderBy('id', 'desc')
|
|
78
|
+
.limit(options.limit + 1)
|
|
79
|
+
.execute();
|
|
80
|
+
}
|
|
59
81
|
/**
|
|
60
82
|
* Renames a project, bumping `updatedAt`.
|
|
61
83
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/db/tables/projects.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAU1C;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,EAAS,EAAE,KAAmB;IACnD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACpC,OAAO,EAAE,CAAC,MAAM;SACb,UAAU,CAAC,UAAU,CAAC;SACtB,MAAM,CAAC;QACN,SAAS,EAAE,GAAG;QACd,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,GAAG;KACf,CAAC;SACD,YAAY,EAAE;SACd,uBAAuB,EAAE,CAAA;AAC9B,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAS,EAAE,EAAU;IACvD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAA;IAC7F,OAAO,MAAM,CAAC,cAAc,GAAG,EAAE,CAAA;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,EAAS,EAAE,EAAU;IACvC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAA;AAC7F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,EAAS,EAAE,KAAa;IAChD,OAAO,EAAE,CAAC,MAAM;SACb,UAAU,CAAC,UAAU,CAAC;SACtB,SAAS,EAAE;SACX,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC;SAC1B,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;SAC5B,OAAO,EAAE,CAAA;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,EAAS,EAAE,EAAU,EAAE,KAAmB;IAC/D,OAAO,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,UAAU,CAAC;SACvB,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;SAC9D,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;SACpB,YAAY,EAAE;SACd,gBAAgB,EAAE,CAAA;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/db/tables/projects.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAU1C;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,EAAS,EAAE,KAAmB;IACnD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACpC,OAAO,EAAE,CAAC,MAAM;SACb,UAAU,CAAC,UAAU,CAAC;SACtB,MAAM,CAAC;QACN,SAAS,EAAE,GAAG;QACd,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,GAAG;KACf,CAAC;SACD,YAAY,EAAE;SACd,uBAAuB,EAAE,CAAA;AAC9B,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAS,EAAE,EAAU;IACvD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAA;IAC7F,OAAO,MAAM,CAAC,cAAc,GAAG,EAAE,CAAA;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,EAAS,EAAE,EAAU;IACvC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAA;AAC7F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,EAAS,EAAE,KAAa;IAChD,OAAO,EAAE,CAAC,MAAM;SACb,UAAU,CAAC,UAAU,CAAC;SACtB,SAAS,EAAE;SACX,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC;SAC1B,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;SAC5B,OAAO,EAAE,CAAA;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,EAAS,EACT,KAAa,EACb,OAA8B;IAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,IAAI,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACnF,IAAI,MAAM;QACR,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CACzB,EAAE,CAAC,EAAE,CAAC;YACJ,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC;YACtC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3E,CAAC,CACH,CAAA;IACH,OAAO,KAAK;SACT,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;SAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;SACxB,OAAO,EAAE,CAAA;AACd,CAAC;AAoBD;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,EAAS,EAAE,EAAU,EAAE,KAAmB;IAC/D,OAAO,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,UAAU,CAAC;SACvB,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;SAC9D,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;SACpB,YAAY,EAAE;SACd,gBAAgB,EAAE,CAAA;AACvB,CAAC"}
|
|
@@ -6,6 +6,8 @@ import type * as db_Schema from '../Schema.js';
|
|
|
6
6
|
export type Table = db_Schema.WebhookDelivery;
|
|
7
7
|
/** A stored webhook-delivery row. */
|
|
8
8
|
export type Record = Selectable<Table>;
|
|
9
|
+
/** A failed delivery joined to its organization-owned subscription. */
|
|
10
|
+
export type OrganizationFailure = Pick<Record, 'attempt' | 'createdAt' | 'error' | 'id' | 'responseStatus' | 'subscriptionId'>;
|
|
9
11
|
/** Maps a stored row to the domain delivery (null columns → absent fields). */
|
|
10
12
|
export declare function toDelivery(row: Record): Webhooks.Delivery;
|
|
11
13
|
/**
|
|
@@ -27,6 +29,30 @@ export declare function insert(db: Db.Db, delivery: Webhooks.Delivery, expiresAt
|
|
|
27
29
|
* @returns The deliveries.
|
|
28
30
|
*/
|
|
29
31
|
export declare function list(db: Db.Db, subscriptionId: string, options: list.Options): Promise<Webhooks.Delivery[]>;
|
|
32
|
+
/** Lists recent failed webhook deliveries across an organization. */
|
|
33
|
+
export declare function listFailuresByOrg(db: Db.Db, orgId: string, options: listFailuresByOrg.Options): Promise<OrganizationFailure[]>;
|
|
34
|
+
export declare namespace listFailuresByOrg {
|
|
35
|
+
/** Bounds for the organization failure scan. */
|
|
36
|
+
type Options = {
|
|
37
|
+
/** Window start (ISO 8601), inclusive. */
|
|
38
|
+
from: string;
|
|
39
|
+
/** Maximum failures to return. */
|
|
40
|
+
limit: number;
|
|
41
|
+
/** ISO timestamp retention is evaluated against. */
|
|
42
|
+
now: string;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/** Counts failed webhook deliveries across an organization in a time window. */
|
|
46
|
+
export declare function countFailuresByOrg(db: Db.Db, orgId: string, options: countFailuresByOrg.Options): Promise<number>;
|
|
47
|
+
export declare namespace countFailuresByOrg {
|
|
48
|
+
/** Bounds for the organization failure count. */
|
|
49
|
+
type Options = {
|
|
50
|
+
/** Window start (ISO 8601), inclusive. */
|
|
51
|
+
from: string;
|
|
52
|
+
/** ISO timestamp retention is evaluated against. */
|
|
53
|
+
now: string;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
30
56
|
export declare namespace list {
|
|
31
57
|
/** Options for {@link list}. */
|
|
32
58
|
type Options = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhookDeliveries.d.ts","sourceRoot":"","sources":["../../../src/db/tables/webhookDeliveries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAExC,OAAO,KAAK,KAAK,QAAQ,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,KAAK,SAAS,MAAM,cAAc,CAAA;AAE9C,wFAAwF;AACxF,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,CAAA;AAE7C,qCAAqC;AACrC,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;AAEtC,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAczD;AAED;;;;;;GAMG;AACH,wBAAsB,MAAM,CAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;;;;;;;;GASG;AACH,wBAAsB,IAAI,CACxB,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,IAAI,CAAC,OAAO,GACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAW9B;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,gCAAgC;IAChC,KAAK,OAAO,GAAG;QACb,wEAAwE;QACxE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,oCAAoC;QACpC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,oDAAoD;QACpD,GAAG,EAAE,MAAM,CAAA;QACX,mFAAmF;QACnF,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5B,CAAA;CACF;AAED;;;;;;;GAOG;AACH,wBAAsB,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ3F;AAED;;;;;;;;GAQG;AACH,wBAAsB,GAAG,CACvB,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,CASnC;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1E"}
|
|
1
|
+
{"version":3,"file":"webhookDeliveries.d.ts","sourceRoot":"","sources":["../../../src/db/tables/webhookDeliveries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAExC,OAAO,KAAK,KAAK,QAAQ,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,KAAK,SAAS,MAAM,cAAc,CAAA;AAE9C,wFAAwF;AACxF,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,CAAA;AAE7C,qCAAqC;AACrC,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;AAEtC,uEAAuE;AACvE,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,MAAM,EACN,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,IAAI,GAAG,gBAAgB,GAAG,gBAAgB,CAC/E,CAAA;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAczD;AAED;;;;;;GAMG;AACH,wBAAsB,MAAM,CAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;;;;;;;;GASG;AACH,wBAAsB,IAAI,CACxB,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,IAAI,CAAC,OAAO,GACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAW9B;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,CAAC,OAAO,GACjC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAyBhC;AAED,MAAM,CAAC,OAAO,WAAW,iBAAiB,CAAC;IACzC,gDAAgD;IAChD,KAAK,OAAO,GAAG;QACb,0CAA0C;QAC1C,IAAI,EAAE,MAAM,CAAA;QACZ,kCAAkC;QAClC,KAAK,EAAE,MAAM,CAAA;QACb,oDAAoD;QACpD,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;CACF;AAED,gFAAgF;AAChF,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,kBAAkB,CAAC,OAAO,GAClC,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC;IAC1C,iDAAiD;IACjD,KAAK,OAAO,GAAG;QACb,0CAA0C;QAC1C,IAAI,EAAE,MAAM,CAAA;QACZ,oDAAoD;QACpD,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;CACF;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,gCAAgC;IAChC,KAAK,OAAO,GAAG;QACb,wEAAwE;QACxE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,oCAAoC;QACpC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,oDAAoD;QACpD,GAAG,EAAE,MAAM,CAAA;QACX,mFAAmF;QACnF,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5B,CAAA;CACF;AAED;;;;;;;GAOG;AACH,wBAAsB,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ3F;AAED;;;;;;;;GAQG;AACH,wBAAsB,GAAG,CACvB,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,CASnC;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1E"}
|
|
@@ -65,6 +65,43 @@ export async function list(db, subscriptionId, options) {
|
|
|
65
65
|
query = query.limit(options.limit);
|
|
66
66
|
return (await query.execute()).map(toDelivery);
|
|
67
67
|
}
|
|
68
|
+
/** Lists recent failed webhook deliveries across an organization. */
|
|
69
|
+
export function listFailuresByOrg(db, orgId, options) {
|
|
70
|
+
return db.kysely
|
|
71
|
+
.selectFrom('webhook_deliveries')
|
|
72
|
+
.innerJoin('webhook_subscriptions', 'webhook_subscriptions.id', 'webhook_deliveries.subscriptionId')
|
|
73
|
+
.select([
|
|
74
|
+
'webhook_deliveries.attempt',
|
|
75
|
+
'webhook_deliveries.createdAt',
|
|
76
|
+
'webhook_deliveries.error',
|
|
77
|
+
'webhook_deliveries.id',
|
|
78
|
+
'webhook_deliveries.responseStatus',
|
|
79
|
+
'webhook_deliveries.subscriptionId',
|
|
80
|
+
])
|
|
81
|
+
.where('webhook_subscriptions.ownerId', '=', orgId)
|
|
82
|
+
.where('webhook_subscriptions.ownerType', '=', 'api_key')
|
|
83
|
+
.where('webhook_deliveries.createdAt', '>=', options.from)
|
|
84
|
+
.where('webhook_deliveries.expiresAt', '>', options.now)
|
|
85
|
+
.where('webhook_deliveries.status', '=', 'failed')
|
|
86
|
+
.orderBy('webhook_deliveries.createdAt', 'desc')
|
|
87
|
+
.orderBy('webhook_deliveries.id', 'desc')
|
|
88
|
+
.limit(options.limit)
|
|
89
|
+
.execute();
|
|
90
|
+
}
|
|
91
|
+
/** Counts failed webhook deliveries across an organization in a time window. */
|
|
92
|
+
export async function countFailuresByOrg(db, orgId, options) {
|
|
93
|
+
const row = await db.kysely
|
|
94
|
+
.selectFrom('webhook_deliveries')
|
|
95
|
+
.innerJoin('webhook_subscriptions', 'webhook_subscriptions.id', 'webhook_deliveries.subscriptionId')
|
|
96
|
+
.select((eb) => eb.fn.countAll().as('count'))
|
|
97
|
+
.where('webhook_subscriptions.ownerId', '=', orgId)
|
|
98
|
+
.where('webhook_subscriptions.ownerType', '=', 'api_key')
|
|
99
|
+
.where('webhook_deliveries.createdAt', '>=', options.from)
|
|
100
|
+
.where('webhook_deliveries.expiresAt', '>', options.now)
|
|
101
|
+
.where('webhook_deliveries.status', '=', 'failed')
|
|
102
|
+
.executeTakeFirstOrThrow();
|
|
103
|
+
return Number(row.count);
|
|
104
|
+
}
|
|
68
105
|
/**
|
|
69
106
|
* Counts a subscription's unexpired deliveries.
|
|
70
107
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhookDeliveries.js","sourceRoot":"","sources":["../../../src/db/tables/webhookDeliveries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webhookDeliveries.js","sourceRoot":"","sources":["../../../src/db/tables/webhookDeliveries.ts"],"names":[],"mappings":"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"}
|
package/dist/handlers/relay.d.ts
CHANGED
|
@@ -12,9 +12,9 @@ import * as Sponsorship from './internal/sponsorship.js';
|
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* ```ts
|
|
15
|
-
* import { Handler } from '
|
|
15
|
+
* import { Handler } from 'tapimo'
|
|
16
16
|
*
|
|
17
|
-
* const handler = Handler.relay({
|
|
17
|
+
* const handler = Handler.relay({ apiKey: process.env.TEMPO_API_KEY })
|
|
18
18
|
*
|
|
19
19
|
* // Plug handler into your server framework of choice:
|
|
20
20
|
* createServer(handler.listener) // Node.js
|
|
@@ -31,10 +31,9 @@ import * as Sponsorship from './internal/sponsorship.js';
|
|
|
31
31
|
*
|
|
32
32
|
* ```ts
|
|
33
33
|
* import { privateKeyToAccount } from 'viem/accounts'
|
|
34
|
-
* import { Handler } from '
|
|
34
|
+
* import { Handler } from 'tapimo'
|
|
35
35
|
*
|
|
36
36
|
* const handler = Handler.relay({
|
|
37
|
-
* getClient,
|
|
38
37
|
* feePayer: {
|
|
39
38
|
* account: privateKeyToAccount('0x...'),
|
|
40
39
|
* },
|
|
@@ -44,9 +43,14 @@ import * as Sponsorship from './internal/sponsorship.js';
|
|
|
44
43
|
* @param options - Options.
|
|
45
44
|
* @returns Request handler.
|
|
46
45
|
*/
|
|
47
|
-
export declare function relay(options
|
|
46
|
+
export declare function relay(options?: relay.Options): Handler;
|
|
48
47
|
export declare namespace relay {
|
|
49
48
|
type Options = from.Options & {
|
|
49
|
+
/**
|
|
50
|
+
* Tempo API key used by the default RPC clients and token resolver. When
|
|
51
|
+
* omitted, RPC clients use each chain's default transport.
|
|
52
|
+
*/
|
|
53
|
+
apiKey?: string | undefined;
|
|
50
54
|
/**
|
|
51
55
|
* Auto-swap options.
|
|
52
56
|
*/
|
|
@@ -57,9 +61,9 @@ export declare namespace relay {
|
|
|
57
61
|
/**
|
|
58
62
|
* Resolves a viem client for a chain id. The handler resolves the client
|
|
59
63
|
* from the `chainId` in the incoming transaction (falling back to the
|
|
60
|
-
* client's default chain).
|
|
64
|
+
* client's default chain). Defaults to Tempo mainnet and testnet clients.
|
|
61
65
|
*/
|
|
62
|
-
getClient
|
|
66
|
+
getClient?: ((chainId?: number) => Client) | undefined;
|
|
63
67
|
/**
|
|
64
68
|
* Fee payer / sponsor configuration. When provided, the relay will
|
|
65
69
|
* sign `feePayerSignature` on the filled transaction.
|
|
@@ -113,9 +117,8 @@ export declare namespace relay {
|
|
|
113
117
|
/** Path to use for the handler. @default "/" */
|
|
114
118
|
path?: string | undefined;
|
|
115
119
|
/**
|
|
116
|
-
* Resolves the known fee-token candidates for a chain.
|
|
117
|
-
*
|
|
118
|
-
* fee-token resolution. Omit to disable fee-token resolution.
|
|
120
|
+
* Resolves the known fee-token candidates for a chain. Defaults to the
|
|
121
|
+
* Tempo API verified token list for mainnet and testnet.
|
|
119
122
|
*/
|
|
120
123
|
resolveTokens?: ((chainId: number) => readonly Address[] | Promise<readonly Address[]>) | undefined;
|
|
121
124
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../src/handlers/relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAe,MAAM,IAAI,CAAA;AAE3D,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,MAAM,EASZ,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../src/handlers/relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAe,MAAM,IAAI,CAAA;AAE3D,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,MAAM,EASZ,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAQjD,OAAO,EAAE,KAAK,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAA;AAKxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,KAAK,CAAC,OAAO,GAAE,KAAK,CAAC,OAAY,GAAG,OAAO,CAskB1D;AAmCD,yBAAiB,KAAK,CAAC;IACrB,KAAY,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG;QACnC;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B;;WAEG;QACH,QAAQ,CAAC,EACL,KAAK,GACL;YACE,yDAAyD;YACzD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAC9B,GACD,SAAS,CAAA;QACb;;;;WAIG;QACH,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;QACtD;;;WAGG;QACH,QAAQ,CAAC,EACL;YACE,uCAAuC;YACvC,OAAO,EAAE,YAAY,CAAA;YACrB,4DAA4D;YAC5D,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;YAC9B;;eAEG;YACH,WAAW,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YACrE;;;eAGG;YACH,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAA;YAC3C,gEAAgE;YAChE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YACzB,uDAAuD;YACvD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SACzB,GACD,SAAS,CAAA;QACb;;;;WAIG;QACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAA;QACvC;;;;;;WAMG;QACH,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;QAC5B;;;;WAIG;QACH,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC9C;;;WAGG;QACH,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;QAC/B,oDAAoD;QACpD,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;QAC3E,gDAAgD;QAChD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB;;;WAGG;QACH,aAAa,CAAC,EACV,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,GACvE,SAAS,CAAA;KACd,CAAA;CACF"}
|