@authhero/drizzle 1.9.1 → 1.11.0
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/drizzle-adapter.cjs +2 -2
- package/dist/drizzle-adapter.mjs +286 -264
- package/package.json +3 -3
package/dist/drizzle-adapter.mjs
CHANGED
|
@@ -475,7 +475,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
|
|
|
475
475
|
C({ columns: [e.tenant_id, e.id] }),
|
|
476
476
|
x("connections_tenant_id_index").on(e.tenant_id),
|
|
477
477
|
re("connections_id_unique").on(e.id)
|
|
478
|
-
]),
|
|
478
|
+
]), Ke = w("custom_domains", {
|
|
479
479
|
custom_domain_id: T("custom_domain_id", { length: 256 }).primaryKey(),
|
|
480
480
|
tenant_id: T("tenant_id", { length: 191 }).notNull().references(() => O.id, { onDelete: "cascade" }),
|
|
481
481
|
domain: T("domain", { length: 255 }).notNull(),
|
|
@@ -489,7 +489,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
|
|
|
489
489
|
domain_metadata: T("domain_metadata", { length: 2048 }),
|
|
490
490
|
created_at: T("created_at", { length: 35 }).notNull(),
|
|
491
491
|
updated_at: T("updated_at", { length: 35 }).notNull()
|
|
492
|
-
}, (e) => [re("custom_domains_domain_unique").on(e.domain)]),
|
|
492
|
+
}, (e) => [re("custom_domains_domain_unique").on(e.domain)]), qe = w("domains", {
|
|
493
493
|
id: T("id", { length: 255 }).primaryKey(),
|
|
494
494
|
tenant_id: T("tenant_id", { length: 191 }).notNull().references(() => O.id, { onDelete: "cascade" }),
|
|
495
495
|
domain: T("domain", { length: 255 }).notNull(),
|
|
@@ -499,7 +499,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
|
|
|
499
499
|
dkim_public_key: T("dkim_public_key", { length: 2048 }),
|
|
500
500
|
created_at: T("created_at", { length: 35 }).notNull(),
|
|
501
501
|
updated_at: T("updated_at", { length: 35 }).notNull()
|
|
502
|
-
}),
|
|
502
|
+
}), V = w("organizations", {
|
|
503
503
|
id: T("id", { length: 21 }).primaryKey(),
|
|
504
504
|
tenant_id: T("tenant_id", { length: 191 }).notNull(),
|
|
505
505
|
name: T("name", { length: 256 }).notNull(),
|
|
@@ -510,7 +510,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
|
|
|
510
510
|
token_quota: T("token_quota"),
|
|
511
511
|
created_at: T("created_at", { length: 35 }).notNull(),
|
|
512
512
|
updated_at: T("updated_at", { length: 35 }).notNull()
|
|
513
|
-
}, (e) => [x("idx_organizations_tenant_id").on(e.tenant_id)]),
|
|
513
|
+
}, (e) => [x("idx_organizations_tenant_id").on(e.tenant_id)]), H = w("user_organizations", {
|
|
514
514
|
id: T("id", { length: 21 }).primaryKey(),
|
|
515
515
|
tenant_id: T("tenant_id", { length: 191 }).notNull(),
|
|
516
516
|
user_id: T("user_id", { length: 191 }).notNull(),
|
|
@@ -522,7 +522,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
|
|
|
522
522
|
x("idx_user_organizations_tenant_id").on(e.tenant_id),
|
|
523
523
|
x("idx_user_organizations_user_id").on(e.user_id),
|
|
524
524
|
x("idx_user_organizations_organization_id").on(e.organization_id)
|
|
525
|
-
]),
|
|
525
|
+
]), Je = w("invites", {
|
|
526
526
|
id: T("id", { length: 21 }).primaryKey(),
|
|
527
527
|
tenant_id: T("tenant_id", { length: 191 }).notNull(),
|
|
528
528
|
organization_id: T("organization_id", { length: 21 }).notNull(),
|
|
@@ -544,7 +544,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
|
|
|
544
544
|
x("idx_invites_organization_id").on(e.organization_id),
|
|
545
545
|
x("idx_invites_expires_at").on(e.expires_at),
|
|
546
546
|
x("idx_invites_tenant_created").on(e.tenant_id, e.created_at)
|
|
547
|
-
]),
|
|
547
|
+
]), U = w("roles", {
|
|
548
548
|
id: T("id", { length: 21 }).notNull(),
|
|
549
549
|
tenant_id: T("tenant_id", { length: 191 }).notNull(),
|
|
550
550
|
name: T("name", { length: 50 }).notNull(),
|
|
@@ -556,7 +556,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
|
|
|
556
556
|
}, (e) => [C({
|
|
557
557
|
columns: [e.tenant_id, e.id],
|
|
558
558
|
name: "roles_pk"
|
|
559
|
-
})]),
|
|
559
|
+
})]), W = w("role_permissions", {
|
|
560
560
|
tenant_id: T("tenant_id", { length: 191 }).notNull(),
|
|
561
561
|
role_id: T("role_id", { length: 21 }).notNull(),
|
|
562
562
|
resource_server_identifier: T("resource_server_identifier", { length: 191 }).notNull(),
|
|
@@ -941,9 +941,9 @@ var Re = Object.defineProperty, ze = (e, t) => {
|
|
|
941
941
|
clients: () => I,
|
|
942
942
|
codes: () => F,
|
|
943
943
|
connections: () => B,
|
|
944
|
-
customDomains: () =>
|
|
944
|
+
customDomains: () => Ke,
|
|
945
945
|
customText: () => st,
|
|
946
|
-
domains: () =>
|
|
946
|
+
domains: () => qe,
|
|
947
947
|
emailProviders: () => nt,
|
|
948
948
|
emailTemplates: () => rt,
|
|
949
949
|
flows: () => et,
|
|
@@ -951,11 +951,11 @@ var Re = Object.defineProperty, ze = (e, t) => {
|
|
|
951
951
|
grants: () => z,
|
|
952
952
|
hookCode: () => at,
|
|
953
953
|
hooks: () => it,
|
|
954
|
-
invites: () =>
|
|
954
|
+
invites: () => Je,
|
|
955
955
|
keys: () => ot,
|
|
956
956
|
loginSessions: () => P,
|
|
957
957
|
logs: () => q,
|
|
958
|
-
organizations: () =>
|
|
958
|
+
organizations: () => V,
|
|
959
959
|
otps: () => We,
|
|
960
960
|
outboxEvents: () => J,
|
|
961
961
|
passwords: () => j,
|
|
@@ -963,8 +963,8 @@ var Re = Object.defineProperty, ze = (e, t) => {
|
|
|
963
963
|
proxyRoutes: () => Y,
|
|
964
964
|
refreshTokens: () => N,
|
|
965
965
|
resourceServers: () => K,
|
|
966
|
-
rolePermissions: () =>
|
|
967
|
-
roles: () =>
|
|
966
|
+
rolePermissions: () => W,
|
|
967
|
+
roles: () => U,
|
|
968
968
|
scimConfigurations: () => lt,
|
|
969
969
|
scimExternalIds: () => ut,
|
|
970
970
|
scimTokens: () => X,
|
|
@@ -975,7 +975,7 @@ var Re = Object.defineProperty, ze = (e, t) => {
|
|
|
975
975
|
tokenExchangeProfiles: () => dt,
|
|
976
976
|
universalLoginTemplates: () => Ze,
|
|
977
977
|
userActivity: () => He,
|
|
978
|
-
userOrganizations: () =>
|
|
978
|
+
userOrganizations: () => H,
|
|
979
979
|
userPermissions: () => Ye,
|
|
980
980
|
userRoles: () => G,
|
|
981
981
|
users: () => A
|
|
@@ -1997,31 +1997,31 @@ function rn(e) {
|
|
|
1997
1997
|
created_at: r,
|
|
1998
1998
|
updated_at: r
|
|
1999
1999
|
};
|
|
2000
|
-
return await e.insert(
|
|
2000
|
+
return await e.insert(Ke).values(i), nn({
|
|
2001
2001
|
...i,
|
|
2002
2002
|
tenant_id: t
|
|
2003
2003
|
});
|
|
2004
2004
|
},
|
|
2005
2005
|
async get(n, r) {
|
|
2006
|
-
let i = await e.select().from(
|
|
2006
|
+
let i = await e.select().from(Ke).where(t(a(Ke.tenant_id, n), a(Ke.custom_domain_id, r))).get();
|
|
2007
2007
|
return i ? nn(i) : null;
|
|
2008
2008
|
},
|
|
2009
2009
|
async getByDomain(t) {
|
|
2010
|
-
let n = await e.select().from(
|
|
2010
|
+
let n = await e.select().from(Ke).where(a(Ke.domain, t)).get();
|
|
2011
2011
|
return n ? {
|
|
2012
2012
|
...nn(n),
|
|
2013
2013
|
tenant_id: n.tenant_id
|
|
2014
2014
|
} : null;
|
|
2015
2015
|
},
|
|
2016
2016
|
async list(t) {
|
|
2017
|
-
return (await e.select().from(
|
|
2017
|
+
return (await e.select().from(Ke).where(a(Ke.tenant_id, t)).all()).map(nn);
|
|
2018
2018
|
},
|
|
2019
2019
|
async update(n, r, i) {
|
|
2020
2020
|
let o = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
|
|
2021
|
-
return i.domain !== void 0 && (o.domain = i.domain), i.primary !== void 0 && (o.primary = i.primary), i.status !== void 0 && (o.status = i.status), i.type !== void 0 && (o.type = i.type), i.origin_domain_name !== void 0 && (o.origin_domain_name = i.origin_domain_name), i.verification !== void 0 && (o.verification = JSON.stringify(i.verification)), i.custom_client_ip_header !== void 0 && (o.custom_client_ip_header = i.custom_client_ip_header), i.tls_policy !== void 0 && (o.tls_policy = i.tls_policy), i.domain_metadata !== void 0 && (o.domain_metadata = JSON.stringify(i.domain_metadata)), (await e.update(
|
|
2021
|
+
return i.domain !== void 0 && (o.domain = i.domain), i.primary !== void 0 && (o.primary = i.primary), i.status !== void 0 && (o.status = i.status), i.type !== void 0 && (o.type = i.type), i.origin_domain_name !== void 0 && (o.origin_domain_name = i.origin_domain_name), i.verification !== void 0 && (o.verification = JSON.stringify(i.verification)), i.custom_client_ip_header !== void 0 && (o.custom_client_ip_header = i.custom_client_ip_header), i.tls_policy !== void 0 && (o.tls_policy = i.tls_policy), i.domain_metadata !== void 0 && (o.domain_metadata = JSON.stringify(i.domain_metadata)), (await e.update(Ke).set(o).where(t(a(Ke.tenant_id, n), a(Ke.custom_domain_id, r))).returning()).length > 0;
|
|
2022
2022
|
},
|
|
2023
2023
|
async remove(n, r) {
|
|
2024
|
-
return (await e.delete(
|
|
2024
|
+
return (await e.delete(Ke).where(t(a(Ke.tenant_id, n), a(Ke.custom_domain_id, r))).returning()).length > 0;
|
|
2025
2025
|
}
|
|
2026
2026
|
};
|
|
2027
2027
|
}
|
|
@@ -2554,7 +2554,7 @@ function kn(e) {
|
|
|
2554
2554
|
};
|
|
2555
2555
|
for (let e of Dn) n[e] !== void 0 && (s[e] = JSON.stringify(n[e]));
|
|
2556
2556
|
try {
|
|
2557
|
-
await e.insert(
|
|
2557
|
+
await e.insert(Je).values(s);
|
|
2558
2558
|
} catch (e) {
|
|
2559
2559
|
throw e?.message?.includes("UNIQUE constraint failed") || e?.message?.includes("duplicate key") ? new Le(409, { message: "Invite already exists" }) : e;
|
|
2560
2560
|
}
|
|
@@ -2564,23 +2564,23 @@ function kn(e) {
|
|
|
2564
2564
|
});
|
|
2565
2565
|
},
|
|
2566
2566
|
async get(n, r) {
|
|
2567
|
-
let i = await e.select().from(
|
|
2567
|
+
let i = await e.select().from(Je).where(t(a(Je.tenant_id, n), a(Je.id, r))).get();
|
|
2568
2568
|
return i ? On(i) : null;
|
|
2569
2569
|
},
|
|
2570
2570
|
async update(n, r, i) {
|
|
2571
2571
|
let o = {};
|
|
2572
2572
|
for (let e of Dn) i[e] !== void 0 && (o[e] = JSON.stringify(i[e]));
|
|
2573
|
-
return i.connection_id !== void 0 && (o.connection_id = i.connection_id), i.ttl_sec !== void 0 && (o.ttl_sec = i.ttl_sec, o.expires_at = new Date(Date.now() + i.ttl_sec * 1e3).toISOString()), (await e.update(
|
|
2573
|
+
return i.connection_id !== void 0 && (o.connection_id = i.connection_id), i.ttl_sec !== void 0 && (o.ttl_sec = i.ttl_sec, o.expires_at = new Date(Date.now() + i.ttl_sec * 1e3).toISOString()), (await e.update(Je).set(o).where(t(a(Je.tenant_id, n), a(Je.id, r))).returning()).length > 0;
|
|
2574
2574
|
},
|
|
2575
2575
|
async list(t, o) {
|
|
2576
|
-
let { page: s = 0, per_page: c = 50, include_totals: l = !1, sort: u } = o || {}, d = e.select().from(
|
|
2576
|
+
let { page: s = 0, per_page: c = 50, include_totals: l = !1, sort: u } = o || {}, d = e.select().from(Je).where(a(Je.tenant_id, t)).$dynamic();
|
|
2577
2577
|
if (u?.sort_by) {
|
|
2578
|
-
let e =
|
|
2578
|
+
let e = Je[u.sort_by];
|
|
2579
2579
|
e && (d = d.orderBy(u.sort_order === "desc" ? i(e) : n(e)));
|
|
2580
2580
|
}
|
|
2581
2581
|
let f = (await d.offset(s * c).limit(c)).map(On);
|
|
2582
2582
|
if (!l) return { invites: f };
|
|
2583
|
-
let [p] = await e.select({ count: r() }).from(
|
|
2583
|
+
let [p] = await e.select({ count: r() }).from(Je).where(a(Je.tenant_id, t));
|
|
2584
2584
|
return {
|
|
2585
2585
|
invites: f,
|
|
2586
2586
|
start: s * c,
|
|
@@ -2589,7 +2589,7 @@ function kn(e) {
|
|
|
2589
2589
|
};
|
|
2590
2590
|
},
|
|
2591
2591
|
async remove(n, r) {
|
|
2592
|
-
return (await e.delete(
|
|
2592
|
+
return (await e.delete(Je).where(t(a(Je.tenant_id, n), a(Je.id, r))).returning()).length > 0;
|
|
2593
2593
|
}
|
|
2594
2594
|
};
|
|
2595
2595
|
}
|
|
@@ -2923,7 +2923,7 @@ function qn(e) {
|
|
|
2923
2923
|
updated_at: r
|
|
2924
2924
|
};
|
|
2925
2925
|
try {
|
|
2926
|
-
await e.insert(
|
|
2926
|
+
await e.insert(V).values(i);
|
|
2927
2927
|
} catch (e) {
|
|
2928
2928
|
throw e?.message?.includes("UNIQUE constraint failed") || e?.message?.includes("AlreadyExists") ? new Le(409, { message: "Organization already exists" }) : e;
|
|
2929
2929
|
}
|
|
@@ -2933,29 +2933,29 @@ function qn(e) {
|
|
|
2933
2933
|
});
|
|
2934
2934
|
},
|
|
2935
2935
|
async get(n, r) {
|
|
2936
|
-
let i = await e.select().from(
|
|
2937
|
-
return i ||= await e.select().from(
|
|
2936
|
+
let i = await e.select().from(V).where(t(a(V.tenant_id, n), a(V.id, r))).get();
|
|
2937
|
+
return i ||= await e.select().from(V).where(t(a(V.tenant_id, n), a(V.name, r))).get(), i ? Kn(i) : null;
|
|
2938
2938
|
},
|
|
2939
2939
|
async update(n, r, i) {
|
|
2940
2940
|
let o = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
|
|
2941
|
-
return i.name !== void 0 && (o.name = i.name), i.display_name !== void 0 && (o.display_name = i.display_name), i.branding !== void 0 && (o.branding = JSON.stringify(i.branding)), i.metadata !== void 0 && (o.metadata = JSON.stringify(i.metadata)), i.enabled_connections !== void 0 && (o.enabled_connections = JSON.stringify(i.enabled_connections)), i.token_quota !== void 0 && (o.token_quota = JSON.stringify(i.token_quota)), (await e.update(
|
|
2941
|
+
return i.name !== void 0 && (o.name = i.name), i.display_name !== void 0 && (o.display_name = i.display_name), i.branding !== void 0 && (o.branding = JSON.stringify(i.branding)), i.metadata !== void 0 && (o.metadata = JSON.stringify(i.metadata)), i.enabled_connections !== void 0 && (o.enabled_connections = JSON.stringify(i.enabled_connections)), i.token_quota !== void 0 && (o.token_quota = JSON.stringify(i.token_quota)), (await e.update(V).set(o).where(t(a(V.tenant_id, n), a(V.id, r))).returning()).length > 0;
|
|
2942
2942
|
},
|
|
2943
2943
|
async list(o, s) {
|
|
2944
|
-
let { page: c = 0, per_page: l = 50, include_totals: u = !1, sort: d, q: f } = s || {}, p = [a(
|
|
2944
|
+
let { page: c = 0, per_page: l = 50, include_totals: u = !1, sort: d, q: f } = s || {}, p = [a(V.tenant_id, o)];
|
|
2945
2945
|
if (f) {
|
|
2946
2946
|
let e = Te(f, Wn);
|
|
2947
2947
|
if (e) {
|
|
2948
|
-
let t = _t(
|
|
2948
|
+
let t = _t(V, e, Wn);
|
|
2949
2949
|
t && p.push(t);
|
|
2950
2950
|
}
|
|
2951
2951
|
}
|
|
2952
2952
|
let m = t(...p);
|
|
2953
2953
|
if (kt(s)) {
|
|
2954
2954
|
let n = {
|
|
2955
|
-
sortColumn:
|
|
2956
|
-
idColumn:
|
|
2955
|
+
sortColumn: V.created_at,
|
|
2956
|
+
idColumn: V.id,
|
|
2957
2957
|
sortOrder: "desc"
|
|
2958
|
-
}, r = Mt(s, n), i = At(s), { rows: a, next: o } = Nt(await e.select().from(
|
|
2958
|
+
}, r = Mt(s, n), i = At(s), { rows: a, next: o } = Nt(await e.select().from(V).where(r ? t(m, r) : m).orderBy(...jt(n)).limit(i + 1), i, "created_at"), c = a.map(Kn);
|
|
2959
2959
|
return {
|
|
2960
2960
|
organizations: c,
|
|
2961
2961
|
start: 0,
|
|
@@ -2965,14 +2965,14 @@ function qn(e) {
|
|
|
2965
2965
|
next: o
|
|
2966
2966
|
};
|
|
2967
2967
|
}
|
|
2968
|
-
let h = e.select().from(
|
|
2968
|
+
let h = e.select().from(V).where(m).$dynamic();
|
|
2969
2969
|
if (d?.sort_by) {
|
|
2970
|
-
let e =
|
|
2970
|
+
let e = V[d.sort_by];
|
|
2971
2971
|
e && (h = h.orderBy(d.sort_order === "desc" ? i(e) : n(e)));
|
|
2972
2972
|
}
|
|
2973
2973
|
let g = (await h.offset(c * l).limit(l)).map(Kn);
|
|
2974
2974
|
if (!u) return { organizations: g };
|
|
2975
|
-
let [_] = await e.select({ count: r() }).from(
|
|
2975
|
+
let [_] = await e.select({ count: r() }).from(V).where(m);
|
|
2976
2976
|
return {
|
|
2977
2977
|
organizations: g,
|
|
2978
2978
|
start: c * l,
|
|
@@ -2981,7 +2981,7 @@ function qn(e) {
|
|
|
2981
2981
|
};
|
|
2982
2982
|
},
|
|
2983
2983
|
async remove(n, r) {
|
|
2984
|
-
return (await e.delete(
|
|
2984
|
+
return (await e.delete(V).where(t(a(V.tenant_id, n), a(V.id, r))).returning()).length > 0;
|
|
2985
2985
|
}
|
|
2986
2986
|
};
|
|
2987
2987
|
}
|
|
@@ -3625,7 +3625,7 @@ function Sr(e) {
|
|
|
3625
3625
|
async assign(t, n, r) {
|
|
3626
3626
|
if (r.length === 0) return !0;
|
|
3627
3627
|
let i = (/* @__PURE__ */ new Date()).toISOString();
|
|
3628
|
-
return await e.insert(
|
|
3628
|
+
return await e.insert(W).values(r.map((e) => ({
|
|
3629
3629
|
tenant_id: t,
|
|
3630
3630
|
role_id: n,
|
|
3631
3631
|
resource_server_identifier: e.resource_server_identifier,
|
|
@@ -3634,33 +3634,52 @@ function Sr(e) {
|
|
|
3634
3634
|
}))).onConflictDoNothing(), !0;
|
|
3635
3635
|
},
|
|
3636
3636
|
async list(n, r, i) {
|
|
3637
|
-
|
|
3638
|
-
resource_server_identifier:
|
|
3639
|
-
permission_name:
|
|
3640
|
-
created_at:
|
|
3641
|
-
}).from(
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
}
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3637
|
+
return Cr(e, n, await e.select({
|
|
3638
|
+
resource_server_identifier: W.resource_server_identifier,
|
|
3639
|
+
permission_name: W.permission_name,
|
|
3640
|
+
created_at: W.created_at
|
|
3641
|
+
}).from(W).where(t(a(W.tenant_id, n), a(W.role_id, r))).all());
|
|
3642
|
+
},
|
|
3643
|
+
async listCheckpoint(n, r, i = {}) {
|
|
3644
|
+
let o = {
|
|
3645
|
+
sortColumn: W.resource_server_identifier,
|
|
3646
|
+
idColumn: W.permission_name,
|
|
3647
|
+
sortOrder: "asc"
|
|
3648
|
+
}, s = At(i), { rows: c, next: l } = Nt(await e.select({
|
|
3649
|
+
role_id: W.role_id,
|
|
3650
|
+
resource_server_identifier: W.resource_server_identifier,
|
|
3651
|
+
permission_name: W.permission_name,
|
|
3652
|
+
created_at: W.created_at
|
|
3653
|
+
}).from(W).where(t(a(W.tenant_id, n), a(W.role_id, r), Mt(i, o))).orderBy(...jt(o)).limit(s + 1).all(), s, "resource_server_identifier", "permission_name");
|
|
3654
|
+
return {
|
|
3655
|
+
permissions: await Cr(e, n, c),
|
|
3656
|
+
next: l
|
|
3657
|
+
};
|
|
3653
3658
|
},
|
|
3654
3659
|
async remove(n, r, i) {
|
|
3655
3660
|
if (i.length === 0) return !0;
|
|
3656
|
-
let o = i.map((e) => t(a(
|
|
3657
|
-
return await e.delete(
|
|
3661
|
+
let o = i.map((e) => t(a(W.resource_server_identifier, e.resource_server_identifier), a(W.permission_name, e.permission_name)));
|
|
3662
|
+
return await e.delete(W).where(t(a(W.tenant_id, n), a(W.role_id, r), v(...o))).returning(), !0;
|
|
3658
3663
|
}
|
|
3659
3664
|
};
|
|
3660
3665
|
}
|
|
3666
|
+
async function Cr(e, n, r) {
|
|
3667
|
+
let i = [...new Set(r.map((e) => e.resource_server_identifier))], o = /* @__PURE__ */ new Map();
|
|
3668
|
+
if (i.length > 0) {
|
|
3669
|
+
let r = await e.select({
|
|
3670
|
+
identifier: K.identifier,
|
|
3671
|
+
name: K.name
|
|
3672
|
+
}).from(K).where(t(a(K.tenant_id, n), l(K.identifier, i))).all();
|
|
3673
|
+
for (let e of r) o.set(e.identifier, e.name);
|
|
3674
|
+
}
|
|
3675
|
+
return r.map((e) => ({
|
|
3676
|
+
...e,
|
|
3677
|
+
resource_server_name: o.get(e.resource_server_identifier) || e.resource_server_identifier
|
|
3678
|
+
}));
|
|
3679
|
+
}
|
|
3661
3680
|
//#endregion
|
|
3662
3681
|
//#region src/adapters/userPermissions.ts
|
|
3663
|
-
function
|
|
3682
|
+
function wr(e) {
|
|
3664
3683
|
return {
|
|
3665
3684
|
async create(t, n, r, i) {
|
|
3666
3685
|
try {
|
|
@@ -3699,7 +3718,7 @@ function Cr(e) {
|
|
|
3699
3718
|
}
|
|
3700
3719
|
//#endregion
|
|
3701
3720
|
//#region src/adapters/roles.ts
|
|
3702
|
-
function
|
|
3721
|
+
function Tr(e) {
|
|
3703
3722
|
let { tenant_id: t, is_system: n, metadata: r, ...i } = e;
|
|
3704
3723
|
return D({
|
|
3705
3724
|
...i,
|
|
@@ -3707,7 +3726,7 @@ function wr(e) {
|
|
|
3707
3726
|
metadata: Z(r)
|
|
3708
3727
|
});
|
|
3709
3728
|
}
|
|
3710
|
-
function
|
|
3729
|
+
function Er(e) {
|
|
3711
3730
|
return {
|
|
3712
3731
|
async create(t, n) {
|
|
3713
3732
|
let r = (/* @__PURE__ */ new Date()).toISOString(), i = {
|
|
@@ -3720,43 +3739,43 @@ function Tr(e) {
|
|
|
3720
3739
|
created_at: r,
|
|
3721
3740
|
updated_at: r
|
|
3722
3741
|
};
|
|
3723
|
-
return await e.insert(
|
|
3742
|
+
return await e.insert(U).values(i), Tr({
|
|
3724
3743
|
...i,
|
|
3725
3744
|
tenant_id: t
|
|
3726
3745
|
});
|
|
3727
3746
|
},
|
|
3728
3747
|
async get(n, r) {
|
|
3729
|
-
let i = await e.select().from(
|
|
3730
|
-
return i ?
|
|
3748
|
+
let i = await e.select().from(U).where(t(a(U.tenant_id, n), a(U.id, r))).get();
|
|
3749
|
+
return i ? Tr(i) : null;
|
|
3731
3750
|
},
|
|
3732
3751
|
async update(n, r, i) {
|
|
3733
3752
|
let o = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
|
|
3734
|
-
return i.name !== void 0 && (o.name = i.name), i.description !== void 0 && (o.description = i.description), i.is_system !== void 0 && (o.is_system = +!!i.is_system), i.metadata !== void 0 && (o.metadata = JSON.stringify(i.metadata)), (await e.update(
|
|
3753
|
+
return i.name !== void 0 && (o.name = i.name), i.description !== void 0 && (o.description = i.description), i.is_system !== void 0 && (o.is_system = +!!i.is_system), i.metadata !== void 0 && (o.metadata = JSON.stringify(i.metadata)), (await e.update(U).set(o).where(t(a(U.tenant_id, n), a(U.id, r))).returning()).length > 0;
|
|
3735
3754
|
},
|
|
3736
3755
|
async list(o, s) {
|
|
3737
|
-
let { page: c = 0, per_page: l = 50, include_totals: u = !1, sort: d, q: f } = s || {}, p = f ? _t(
|
|
3756
|
+
let { page: c = 0, per_page: l = 50, include_totals: u = !1, sort: d, q: f } = s || {}, p = f ? _t(U, f, ["name"]) : void 0, m = p ? t(a(U.tenant_id, o), p) : a(U.tenant_id, o);
|
|
3738
3757
|
if (kt(s)) {
|
|
3739
3758
|
let n = {
|
|
3740
|
-
sortColumn:
|
|
3741
|
-
idColumn:
|
|
3759
|
+
sortColumn: U.created_at,
|
|
3760
|
+
idColumn: U.id,
|
|
3742
3761
|
sortOrder: "desc"
|
|
3743
|
-
}, r = At(s), { rows: i, next: a } = Nt(await e.select().from(
|
|
3762
|
+
}, r = At(s), { rows: i, next: a } = Nt(await e.select().from(U).where(t(m, Mt(s, n))).orderBy(...jt(n)).limit(r + 1), r, "created_at");
|
|
3744
3763
|
return {
|
|
3745
|
-
roles: i.map(
|
|
3764
|
+
roles: i.map(Tr),
|
|
3746
3765
|
start: 0,
|
|
3747
3766
|
limit: r,
|
|
3748
3767
|
length: i.length,
|
|
3749
3768
|
next: a
|
|
3750
3769
|
};
|
|
3751
3770
|
}
|
|
3752
|
-
let h = e.select().from(
|
|
3771
|
+
let h = e.select().from(U).where(m).$dynamic();
|
|
3753
3772
|
if (d?.sort_by) {
|
|
3754
|
-
let e =
|
|
3773
|
+
let e = U[d.sort_by];
|
|
3755
3774
|
e && (h = h.orderBy(d.sort_order === "desc" ? i(e) : n(e)));
|
|
3756
3775
|
}
|
|
3757
|
-
let g = (await h.offset(c * l).limit(l)).map(
|
|
3776
|
+
let g = (await h.offset(c * l).limit(l)).map(Tr);
|
|
3758
3777
|
if (!u) return { roles: g };
|
|
3759
|
-
let [_] = await e.select({ count: r() }).from(
|
|
3778
|
+
let [_] = await e.select({ count: r() }).from(U).where(m);
|
|
3760
3779
|
return {
|
|
3761
3780
|
roles: g,
|
|
3762
3781
|
start: c * l,
|
|
@@ -3765,13 +3784,13 @@ function Tr(e) {
|
|
|
3765
3784
|
};
|
|
3766
3785
|
},
|
|
3767
3786
|
async remove(n, r) {
|
|
3768
|
-
return (await e.delete(
|
|
3787
|
+
return (await e.delete(U).where(t(a(U.tenant_id, n), a(U.id, r))).returning()).length > 0;
|
|
3769
3788
|
}
|
|
3770
3789
|
};
|
|
3771
3790
|
}
|
|
3772
3791
|
//#endregion
|
|
3773
3792
|
//#region src/adapters/sessions.ts
|
|
3774
|
-
var
|
|
3793
|
+
var Dr = ["created_at_ts", "updated_at_ts"], Or = [
|
|
3775
3794
|
"expires_at_ts",
|
|
3776
3795
|
"idle_expires_at_ts",
|
|
3777
3796
|
"authenticated_at_ts",
|
|
@@ -3779,7 +3798,7 @@ var Er = ["created_at_ts", "updated_at_ts"], Dr = [
|
|
|
3779
3798
|
"used_at_ts",
|
|
3780
3799
|
"revoked_at_ts"
|
|
3781
3800
|
];
|
|
3782
|
-
function
|
|
3801
|
+
function kr(e) {
|
|
3783
3802
|
let { tenant_id: t, created_at_ts: n, updated_at_ts: r, expires_at_ts: i, idle_expires_at_ts: a, authenticated_at_ts: o, last_interaction_at_ts: s, used_at_ts: c, revoked_at_ts: l, device: u, clients: d, ...f } = e, p = ae({
|
|
3784
3803
|
created_at_ts: n,
|
|
3785
3804
|
updated_at_ts: r,
|
|
@@ -3789,7 +3808,7 @@ function Or(e) {
|
|
|
3789
3808
|
last_interaction_at_ts: s,
|
|
3790
3809
|
used_at_ts: c,
|
|
3791
3810
|
revoked_at_ts: l
|
|
3792
|
-
}, [...
|
|
3811
|
+
}, [...Dr], [...Or]);
|
|
3793
3812
|
return D({
|
|
3794
3813
|
...f,
|
|
3795
3814
|
...p,
|
|
@@ -3797,10 +3816,10 @@ function Or(e) {
|
|
|
3797
3816
|
clients: Z(d, [])
|
|
3798
3817
|
});
|
|
3799
3818
|
}
|
|
3800
|
-
function
|
|
3819
|
+
function Ar(e, t) {
|
|
3801
3820
|
return Math.max(e ?? 0, t ?? 0);
|
|
3802
3821
|
}
|
|
3803
|
-
function
|
|
3822
|
+
function jr(e) {
|
|
3804
3823
|
return {
|
|
3805
3824
|
async create(n, r) {
|
|
3806
3825
|
let i = Date.now(), o = {
|
|
@@ -3818,23 +3837,23 @@ function Ar(e) {
|
|
|
3818
3837
|
last_interaction_at_ts: r.last_interaction_at ? E(r.last_interaction_at) : i,
|
|
3819
3838
|
used_at_ts: E(r.used_at),
|
|
3820
3839
|
revoked_at_ts: E(r.revoked_at)
|
|
3821
|
-
}, s = [e.insert(M).values(o)], c =
|
|
3840
|
+
}, s = [e.insert(M).values(o)], c = Ar(o.expires_at_ts, o.idle_expires_at_ts);
|
|
3822
3841
|
return c > 0 && o.login_session_id && s.push(e.update(P).set({
|
|
3823
3842
|
expires_at_ts: c,
|
|
3824
3843
|
updated_at_ts: i
|
|
3825
|
-
}).where(t(a(P.tenant_id, n), a(P.id, o.login_session_id), m(P.expires_at_ts, c)))), await wt(e, s),
|
|
3844
|
+
}).where(t(a(P.tenant_id, n), a(P.id, o.login_session_id), m(P.expires_at_ts, c)))), await wt(e, s), kr({
|
|
3826
3845
|
...o,
|
|
3827
3846
|
tenant_id: n
|
|
3828
3847
|
});
|
|
3829
3848
|
},
|
|
3830
3849
|
async get(n, r) {
|
|
3831
3850
|
let i = await e.select().from(M).where(t(a(M.tenant_id, n), a(M.id, r))).get();
|
|
3832
|
-
return i ?
|
|
3851
|
+
return i ? kr(i) : null;
|
|
3833
3852
|
},
|
|
3834
3853
|
async update(n, r, i) {
|
|
3835
3854
|
let o = { updated_at_ts: Date.now() };
|
|
3836
3855
|
i.user_id !== void 0 && (o.user_id = i.user_id), i.login_session_id !== void 0 && (o.login_session_id = i.login_session_id), i.device !== void 0 && (o.device = JSON.stringify(i.device)), i.clients !== void 0 && (o.clients = JSON.stringify(i.clients)), i.expires_at !== void 0 && (o.expires_at_ts = E(i.expires_at)), i.idle_expires_at !== void 0 && (o.idle_expires_at_ts = E(i.idle_expires_at)), i.authenticated_at !== void 0 && (o.authenticated_at_ts = E(i.authenticated_at)), i.last_interaction_at !== void 0 && (o.last_interaction_at_ts = E(i.last_interaction_at)), i.used_at !== void 0 && (o.used_at_ts = E(i.used_at)), i.revoked_at !== void 0 && (o.revoked_at_ts = E(i.revoked_at));
|
|
3837
|
-
let s = await e.update(M).set(o).where(t(a(M.tenant_id, n), a(M.id, r))).returning(), c =
|
|
3856
|
+
let s = await e.update(M).set(o).where(t(a(M.tenant_id, n), a(M.id, r))).returning(), c = Ar(o.expires_at_ts, o.idle_expires_at_ts), l = s[0];
|
|
3838
3857
|
if (c > 0 && l) {
|
|
3839
3858
|
let r = i.login_session_id ?? l.login_session_id;
|
|
3840
3859
|
r && await e.update(P).set({
|
|
@@ -3850,7 +3869,7 @@ function Ar(e) {
|
|
|
3850
3869
|
let e = M[d.sort_by];
|
|
3851
3870
|
e && (h = h.orderBy(d.sort_order === "desc" ? i(e) : n(e)));
|
|
3852
3871
|
}
|
|
3853
|
-
let g = (await h.offset(c * l).limit(l)).map(
|
|
3872
|
+
let g = (await h.offset(c * l).limit(l)).map(kr);
|
|
3854
3873
|
if (!u) return { sessions: g };
|
|
3855
3874
|
let [_] = await e.select({ count: r() }).from(M).where(m);
|
|
3856
3875
|
return {
|
|
@@ -3867,7 +3886,7 @@ function Ar(e) {
|
|
|
3867
3886
|
}
|
|
3868
3887
|
//#endregion
|
|
3869
3888
|
//#region src/adapters/tenants.ts
|
|
3870
|
-
var
|
|
3889
|
+
var Mr = [
|
|
3871
3890
|
"session_cookie",
|
|
3872
3891
|
"enabled_locales",
|
|
3873
3892
|
"error_page",
|
|
@@ -3883,25 +3902,25 @@ var jr = [
|
|
|
3883
3902
|
"acr_values_supported",
|
|
3884
3903
|
"mtls",
|
|
3885
3904
|
"mfa"
|
|
3886
|
-
],
|
|
3905
|
+
], Nr = [
|
|
3887
3906
|
"allow_organization_name_in_authentication_api",
|
|
3888
3907
|
"customize_mfa_in_postlogin_action",
|
|
3889
3908
|
"pushed_authorization_requests_supported",
|
|
3890
3909
|
"authorization_response_iss_parameter_supported"
|
|
3891
3910
|
];
|
|
3892
|
-
function
|
|
3911
|
+
function Pr(e) {
|
|
3893
3912
|
let t = { ...e };
|
|
3894
|
-
for (let e of
|
|
3895
|
-
for (let e of
|
|
3913
|
+
for (let e of Mr) typeof t[e] == "string" && (t[e] = Z(t[e]));
|
|
3914
|
+
for (let e of Nr) t[e] !== void 0 && t[e] !== null && (t[e] = t[e] === 1);
|
|
3896
3915
|
return D(t);
|
|
3897
3916
|
}
|
|
3898
|
-
function
|
|
3917
|
+
function Fr(e) {
|
|
3899
3918
|
let t = { ...e };
|
|
3900
|
-
le(e,
|
|
3901
|
-
for (let n of
|
|
3919
|
+
le(e, Mr, t);
|
|
3920
|
+
for (let n of Nr) e[n] !== void 0 && (t[n] = +!!e[n]);
|
|
3902
3921
|
return ce(t);
|
|
3903
3922
|
}
|
|
3904
|
-
function
|
|
3923
|
+
function Ir(e) {
|
|
3905
3924
|
return {
|
|
3906
3925
|
async create(t) {
|
|
3907
3926
|
let n = {
|
|
@@ -3909,7 +3928,7 @@ function Fr(e) {
|
|
|
3909
3928
|
created_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
3910
3929
|
updated_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
3911
3930
|
...t
|
|
3912
|
-
}, r =
|
|
3931
|
+
}, r = Fr(n);
|
|
3913
3932
|
try {
|
|
3914
3933
|
await e.insert(O).values(r);
|
|
3915
3934
|
} catch (e) {
|
|
@@ -3920,7 +3939,7 @@ function Fr(e) {
|
|
|
3920
3939
|
},
|
|
3921
3940
|
async get(t) {
|
|
3922
3941
|
let n = await e.select().from(O).where(a(O.id, t)).get();
|
|
3923
|
-
return n ?
|
|
3942
|
+
return n ? Pr(n) : null;
|
|
3924
3943
|
},
|
|
3925
3944
|
async list(t) {
|
|
3926
3945
|
let { page: a = 0, per_page: o = 50, include_totals: s = !1, sort: c, q: l } = t || {}, u = l ? _t(O, l, ["friendly_name"]) : void 0, d = e.select().from(O).$dynamic();
|
|
@@ -3928,7 +3947,7 @@ function Fr(e) {
|
|
|
3928
3947
|
let e = O[c.sort_by];
|
|
3929
3948
|
e && (d = d.orderBy(c.sort_order === "desc" ? i(e) : n(e)));
|
|
3930
3949
|
}
|
|
3931
|
-
let f = (await d.offset(a * o).limit(o)).map(
|
|
3950
|
+
let f = (await d.offset(a * o).limit(o)).map(Pr);
|
|
3932
3951
|
if (!s) return { tenants: f };
|
|
3933
3952
|
let p = e.select({ count: r() }).from(O).$dynamic();
|
|
3934
3953
|
u && (p = p.where(u));
|
|
@@ -3941,7 +3960,7 @@ function Fr(e) {
|
|
|
3941
3960
|
};
|
|
3942
3961
|
},
|
|
3943
3962
|
async update(t, n) {
|
|
3944
|
-
let r =
|
|
3963
|
+
let r = Fr({
|
|
3945
3964
|
...n,
|
|
3946
3965
|
id: t,
|
|
3947
3966
|
updated_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
@@ -3955,18 +3974,18 @@ function Fr(e) {
|
|
|
3955
3974
|
}
|
|
3956
3975
|
//#endregion
|
|
3957
3976
|
//#region src/adapters/themes.ts
|
|
3958
|
-
var
|
|
3977
|
+
var Lr = [
|
|
3959
3978
|
"colors",
|
|
3960
3979
|
"borders",
|
|
3961
3980
|
"fonts",
|
|
3962
3981
|
"page_background",
|
|
3963
3982
|
"widget"
|
|
3964
3983
|
];
|
|
3965
|
-
function
|
|
3966
|
-
let { tenant_id: t, ...n } = e, r = mt(n,
|
|
3984
|
+
function Rr(e) {
|
|
3985
|
+
let { tenant_id: t, ...n } = e, r = mt(n, Lr);
|
|
3967
3986
|
return r.borders && (r.borders.show_widget_shadow = !!r.borders.show_widget_shadow), r.fonts && (r.fonts.body_text_bold = !!r.fonts.body_text_bold, r.fonts.buttons_text_bold = !!r.fonts.buttons_text_bold, r.fonts.input_labels_bold = !!r.fonts.input_labels_bold, r.fonts.links_bold = !!r.fonts.links_bold, r.fonts.subtitle_bold = !!r.fonts.subtitle_bold, r.fonts.title_bold = !!r.fonts.title_bold), D(r);
|
|
3968
3987
|
}
|
|
3969
|
-
function
|
|
3988
|
+
function zr(e) {
|
|
3970
3989
|
return {
|
|
3971
3990
|
async create(t, n, r, i) {
|
|
3972
3991
|
let a = i?.importMetadata, o = (/* @__PURE__ */ new Date()).toISOString(), s = a?.id || r || b(), c = {
|
|
@@ -3976,14 +3995,14 @@ function Rr(e) {
|
|
|
3976
3995
|
created_at: a?.created_at ?? o,
|
|
3977
3996
|
updated_at: a?.updated_at ?? o
|
|
3978
3997
|
};
|
|
3979
|
-
return await e.insert(Qe).values(c),
|
|
3998
|
+
return await e.insert(Qe).values(c), Rr({
|
|
3980
3999
|
...c,
|
|
3981
4000
|
tenant_id: t
|
|
3982
4001
|
});
|
|
3983
4002
|
},
|
|
3984
4003
|
async get(n, r) {
|
|
3985
4004
|
let i = await e.select().from(Qe).where(t(a(Qe.tenant_id, n), a(Qe.themeId, r))).get();
|
|
3986
|
-
return i ?
|
|
4005
|
+
return i ? Rr(i) : null;
|
|
3987
4006
|
},
|
|
3988
4007
|
async update(n, r, i) {
|
|
3989
4008
|
let o = pt(i);
|
|
@@ -3996,7 +4015,7 @@ function Rr(e) {
|
|
|
3996
4015
|
}
|
|
3997
4016
|
//#endregion
|
|
3998
4017
|
//#region src/adapters/universalLoginTemplates.ts
|
|
3999
|
-
function
|
|
4018
|
+
function Br(e) {
|
|
4000
4019
|
return {
|
|
4001
4020
|
async get(t) {
|
|
4002
4021
|
let n = await e.select({ body: Ze.body }).from(Ze).where(a(Ze.tenant_id, t)).get();
|
|
@@ -4024,11 +4043,11 @@ function zr(e) {
|
|
|
4024
4043
|
}
|
|
4025
4044
|
//#endregion
|
|
4026
4045
|
//#region src/adapters/userActivity.ts
|
|
4027
|
-
function
|
|
4046
|
+
function Vr(e) {
|
|
4028
4047
|
let t = {};
|
|
4029
4048
|
return e.last_login !== void 0 && (t.last_login = e.last_login), e.last_ip !== void 0 && (t.last_ip = e.last_ip), e.login_count !== void 0 && (t.login_count = e.login_count), e.failed_logins !== void 0 && (t.failed_logins = JSON.stringify(e.failed_logins)), e.last_password_reset !== void 0 && (t.last_password_reset = e.last_password_reset), t;
|
|
4030
4049
|
}
|
|
4031
|
-
function
|
|
4050
|
+
function Hr(e) {
|
|
4032
4051
|
return {
|
|
4033
4052
|
async get(n, r) {
|
|
4034
4053
|
let i = await e.select().from(He).where(t(a(He.tenant_id, n), a(He.user_id, r))).get();
|
|
@@ -4042,7 +4061,7 @@ function Vr(e) {
|
|
|
4042
4061
|
} : null;
|
|
4043
4062
|
},
|
|
4044
4063
|
async upsert(t, n, r) {
|
|
4045
|
-
let i =
|
|
4064
|
+
let i = Vr(r), a = e.insert(He).values({
|
|
4046
4065
|
tenant_id: t,
|
|
4047
4066
|
user_id: n,
|
|
4048
4067
|
login_count: 0,
|
|
@@ -4061,13 +4080,13 @@ function Vr(e) {
|
|
|
4061
4080
|
}
|
|
4062
4081
|
//#endregion
|
|
4063
4082
|
//#region src/adapters/outbox.ts
|
|
4064
|
-
function
|
|
4083
|
+
function Ur(e) {
|
|
4065
4084
|
return {
|
|
4066
4085
|
...e,
|
|
4067
4086
|
payload: Z(e.payload, {})
|
|
4068
4087
|
};
|
|
4069
4088
|
}
|
|
4070
|
-
function
|
|
4089
|
+
function Wr(e, t, n, r) {
|
|
4071
4090
|
return e.insert(J).values({
|
|
4072
4091
|
id: t,
|
|
4073
4092
|
tenant_id: n,
|
|
@@ -4088,18 +4107,18 @@ function Ur(e, t, n, r) {
|
|
|
4088
4107
|
claim_expires_at: null
|
|
4089
4108
|
});
|
|
4090
4109
|
}
|
|
4091
|
-
function
|
|
4110
|
+
function Gr(e) {
|
|
4092
4111
|
return {
|
|
4093
4112
|
async create(t, n) {
|
|
4094
4113
|
let r = b();
|
|
4095
|
-
return await
|
|
4114
|
+
return await Wr(e, r, t, n), r;
|
|
4096
4115
|
},
|
|
4097
4116
|
async getByIds(t) {
|
|
4098
|
-
return t.length === 0 ? [] : (await e.select().from(J).where(l(J.id, t)).all()).map(
|
|
4117
|
+
return t.length === 0 ? [] : (await e.select().from(J).where(l(J.id, t)).all()).map(Ur);
|
|
4099
4118
|
},
|
|
4100
4119
|
async getUnprocessed(n) {
|
|
4101
4120
|
let r = (/* @__PURE__ */ new Date()).toISOString();
|
|
4102
|
-
return (await e.select().from(J).where(t(f(J.processed_at), v(f(J.next_retry_at), h(J.next_retry_at, r)), v(f(J.claimed_by), h(J.claim_expires_at, r)))).orderBy(J.created_at, J.id).limit(n).all()).map(
|
|
4121
|
+
return (await e.select().from(J).where(t(f(J.processed_at), v(f(J.next_retry_at), h(J.next_retry_at, r)), v(f(J.claimed_by), h(J.claim_expires_at, r)))).orderBy(J.created_at, J.id).limit(n).all()).map(Ur);
|
|
4103
4122
|
},
|
|
4104
4123
|
async claimEvents(n, r, i) {
|
|
4105
4124
|
if (n.length === 0) return [];
|
|
@@ -4166,15 +4185,18 @@ function Wr(e) {
|
|
|
4166
4185
|
claimed_by: null,
|
|
4167
4186
|
claim_expires_at: null
|
|
4168
4187
|
}).where(t(a(J.id, n), a(J.tenant_id, r), d(J.dead_lettered_at))).returning()).length > 0;
|
|
4188
|
+
},
|
|
4189
|
+
async discard(n, r) {
|
|
4190
|
+
return (await e.delete(J).where(t(a(J.id, n), a(J.tenant_id, r), d(J.dead_lettered_at))).returning({ id: J.id })).length > 0;
|
|
4169
4191
|
}
|
|
4170
4192
|
};
|
|
4171
4193
|
}
|
|
4172
4194
|
//#endregion
|
|
4173
4195
|
//#region src/adapters/users.ts
|
|
4174
|
-
function
|
|
4175
|
-
return (n?.outboxEvents ?? []).map((n) =>
|
|
4196
|
+
function Kr(e, t, n) {
|
|
4197
|
+
return (n?.outboxEvents ?? []).map((n) => Wr(e, n.id, t, n));
|
|
4176
4198
|
}
|
|
4177
|
-
var
|
|
4199
|
+
var qr = [
|
|
4178
4200
|
"user_id",
|
|
4179
4201
|
"email",
|
|
4180
4202
|
"email_verified",
|
|
@@ -4196,23 +4218,23 @@ var Kr = [
|
|
|
4196
4218
|
"login_count",
|
|
4197
4219
|
"created_at",
|
|
4198
4220
|
"updated_at"
|
|
4199
|
-
],
|
|
4221
|
+
], Jr = [
|
|
4200
4222
|
"email",
|
|
4201
4223
|
"name",
|
|
4202
4224
|
"phone_number",
|
|
4203
4225
|
"user_id"
|
|
4204
|
-
],
|
|
4226
|
+
], Yr = new Set([
|
|
4205
4227
|
"last_login",
|
|
4206
4228
|
"last_ip",
|
|
4207
4229
|
"login_count"
|
|
4208
|
-
]),
|
|
4230
|
+
]), Xr = o(A), Zr = o(He), Qr = Object.fromEntries(qr.map((e) => [e, e === "login_count" ? {
|
|
4209
4231
|
coalesce: He.login_count,
|
|
4210
4232
|
defaultValue: 0
|
|
4211
|
-
} :
|
|
4212
|
-
function
|
|
4233
|
+
} : Yr.has(e) ? Zr[e] : Xr[e]]));
|
|
4234
|
+
function $r() {
|
|
4213
4235
|
return t(a(He.tenant_id, A.tenant_id), a(He.user_id, A.user_id));
|
|
4214
4236
|
}
|
|
4215
|
-
function
|
|
4237
|
+
function ei(e, t) {
|
|
4216
4238
|
return {
|
|
4217
4239
|
...e,
|
|
4218
4240
|
last_login: t?.last_login,
|
|
@@ -4220,7 +4242,7 @@ function $r(e, t) {
|
|
|
4220
4242
|
login_count: t?.login_count ?? 0
|
|
4221
4243
|
};
|
|
4222
4244
|
}
|
|
4223
|
-
function
|
|
4245
|
+
function ti(e, t) {
|
|
4224
4246
|
let n = {
|
|
4225
4247
|
connection: e.connection,
|
|
4226
4248
|
provider: e.provider,
|
|
@@ -4233,8 +4255,8 @@ function ei(e, t) {
|
|
|
4233
4255
|
...typeof e.profileData == "string" ? Z(e.profileData, {}) : {}
|
|
4234
4256
|
}, n;
|
|
4235
4257
|
}
|
|
4236
|
-
function
|
|
4237
|
-
let { tenant_id: n, app_metadata: r, user_metadata: i, address: a, email_verified: o, phone_verified: s, is_social: c, blocked: l, linked_to: u, profileData: d, ...f } = e, p =
|
|
4258
|
+
function ni(e, t = []) {
|
|
4259
|
+
let { tenant_id: n, app_metadata: r, user_metadata: i, address: a, email_verified: o, phone_verified: s, is_social: c, blocked: l, linked_to: u, profileData: d, ...f } = e, p = ti(e, !0), m = t.map((e) => ti(e, !1));
|
|
4238
4260
|
return D({
|
|
4239
4261
|
...f,
|
|
4240
4262
|
email: e.email || "",
|
|
@@ -4248,7 +4270,7 @@ function ti(e, t = []) {
|
|
|
4248
4270
|
identities: [p, ...m]
|
|
4249
4271
|
});
|
|
4250
4272
|
}
|
|
4251
|
-
function
|
|
4273
|
+
function ri(e) {
|
|
4252
4274
|
let o = async (t, n, r) => {
|
|
4253
4275
|
let i = (/* @__PURE__ */ new Date()).toISOString(), a = {
|
|
4254
4276
|
user_id: n.user_id,
|
|
@@ -4302,12 +4324,12 @@ function ni(e) {
|
|
|
4302
4324
|
created_at: i,
|
|
4303
4325
|
updated_at: i
|
|
4304
4326
|
}));
|
|
4305
|
-
for (let n of
|
|
4327
|
+
for (let n of Kr(e, t, r)) c.push(n);
|
|
4306
4328
|
c.length > 1 ? await wt(e, c) : await e.insert(A).values(a);
|
|
4307
4329
|
} catch (e) {
|
|
4308
4330
|
throw e?.message?.includes("UNIQUE constraint") || e?.message?.includes("AlreadyExists") ? new Le(409, { message: "User already exists" }) : (console.error("User upsert failed:", e?.code, e?.message), new Le(500, { message: "Internal server error" }));
|
|
4309
4331
|
}
|
|
4310
|
-
return
|
|
4332
|
+
return ni({
|
|
4311
4333
|
...a,
|
|
4312
4334
|
last_login: n.last_login,
|
|
4313
4335
|
last_ip: n.last_ip,
|
|
@@ -4318,10 +4340,10 @@ function ni(e) {
|
|
|
4318
4340
|
create: o,
|
|
4319
4341
|
rawCreate: o,
|
|
4320
4342
|
async get(n, r) {
|
|
4321
|
-
let i = await e.select().from(A).leftJoin(He,
|
|
4343
|
+
let i = await e.select().from(A).leftJoin(He, $r()).where(t(a(A.tenant_id, n), a(A.user_id, r))).get();
|
|
4322
4344
|
if (!i) return null;
|
|
4323
4345
|
let o = await e.select().from(A).where(t(a(A.tenant_id, n), a(A.linked_to, r))).all();
|
|
4324
|
-
return
|
|
4346
|
+
return ni(ei(i.users, i.user_activity), o);
|
|
4325
4347
|
},
|
|
4326
4348
|
async update(n, r, i, o) {
|
|
4327
4349
|
let s = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
|
|
@@ -4348,8 +4370,8 @@ function ni(e) {
|
|
|
4348
4370
|
"zoneinfo"
|
|
4349
4371
|
]) i[e] !== void 0 && (s[e] = i[e]);
|
|
4350
4372
|
i.email_verified !== void 0 && (s.email_verified = i.email_verified), i.phone_verified !== void 0 && (s.phone_verified = i.phone_verified), i.is_social !== void 0 && (s.is_social = i.is_social), i.blocked !== void 0 && (s.blocked = i.blocked), i.app_metadata !== void 0 && (s.app_metadata = JSON.stringify(i.app_metadata)), i.user_metadata !== void 0 && (s.user_metadata = JSON.stringify(i.user_metadata)), i.address !== void 0 && (s.address = JSON.stringify(i.address)), i.profileData !== void 0 && (s.profileData = JSON.stringify(i.profileData));
|
|
4351
|
-
let c = e.update(A).set(s).where(t(a(A.tenant_id, n), a(A.user_id, r))).returning(), l =
|
|
4352
|
-
return u = l.length > 0 ? (await wt(e, [c, ...l]))[0] : await c, !Array.isArray(u) || u.length === 0 ? !1 : ((i.last_login !== void 0 || i.last_ip !== void 0 || i.login_count !== void 0) && await
|
|
4373
|
+
let c = e.update(A).set(s).where(t(a(A.tenant_id, n), a(A.user_id, r))).returning(), l = Kr(e, n, o), u;
|
|
4374
|
+
return u = l.length > 0 ? (await wt(e, [c, ...l]))[0] : await c, !Array.isArray(u) || u.length === 0 ? !1 : ((i.last_login !== void 0 || i.last_ip !== void 0 || i.login_count !== void 0) && await Hr(e).upsert(n, r, {
|
|
4353
4375
|
last_login: i.last_login,
|
|
4354
4376
|
last_ip: i.last_ip,
|
|
4355
4377
|
login_count: i.login_count
|
|
@@ -4358,15 +4380,15 @@ function ni(e) {
|
|
|
4358
4380
|
async list(o, s) {
|
|
4359
4381
|
let { page: c = 0, per_page: u = 50, include_totals: d = !1, sort: p, q: m } = s || {}, h = [a(A.tenant_id, o), f(A.linked_to)];
|
|
4360
4382
|
if (m) {
|
|
4361
|
-
let e = Te(m,
|
|
4383
|
+
let e = Te(m, qr);
|
|
4362
4384
|
if (e) {
|
|
4363
|
-
let t = _t(
|
|
4385
|
+
let t = _t(Qr, e, Jr);
|
|
4364
4386
|
t && h.push(t);
|
|
4365
4387
|
}
|
|
4366
4388
|
}
|
|
4367
4389
|
let g = t(...h), _ = async (n) => {
|
|
4368
4390
|
let r = n.map((e) => e.user_id), i = r.length > 0 ? await e.select().from(A).where(t(a(A.tenant_id, o), l(A.linked_to, r))) : [];
|
|
4369
|
-
return n.map((e) =>
|
|
4391
|
+
return n.map((e) => ni(e, i.filter((t) => t.linked_to === e.user_id)));
|
|
4370
4392
|
};
|
|
4371
4393
|
if (kt(s)) {
|
|
4372
4394
|
if (p?.sort_by && p.sort_by !== "created_at") throw new Le(400, { message: `Sorting by ${p.sort_by} is not supported with checkpoint pagination (from/take); only created_at is` });
|
|
@@ -4375,7 +4397,7 @@ function ni(e) {
|
|
|
4375
4397
|
idColumn: A.user_id,
|
|
4376
4398
|
sortOrder: n,
|
|
4377
4399
|
sortKey: `created_at:${n}`
|
|
4378
|
-
}, i = At(s), a = Mt(s, r), { rows: o, next: c } = Nt((await e.select().from(A).leftJoin(He,
|
|
4400
|
+
}, i = At(s), a = Mt(s, r), { rows: o, next: c } = Nt((await e.select().from(A).leftJoin(He, $r()).where(a ? t(g, a) : g).orderBy(...jt(r)).limit(i + 1)).map((e) => ei(e.users, e.user_activity)), i, "created_at", "user_id", r.sortKey), l = await _(o);
|
|
4379
4401
|
return {
|
|
4380
4402
|
users: l,
|
|
4381
4403
|
start: 0,
|
|
@@ -4384,15 +4406,15 @@ function ni(e) {
|
|
|
4384
4406
|
next: c
|
|
4385
4407
|
};
|
|
4386
4408
|
}
|
|
4387
|
-
let v = e.select().from(A).leftJoin(He,
|
|
4409
|
+
let v = e.select().from(A).leftJoin(He, $r()).where(g).$dynamic();
|
|
4388
4410
|
if (p?.sort_by) {
|
|
4389
|
-
let e =
|
|
4411
|
+
let e = Qr[p.sort_by];
|
|
4390
4412
|
if (e) {
|
|
4391
4413
|
let t = ht(e) ? gt(e) : e;
|
|
4392
4414
|
v = v.orderBy(p.sort_order === "desc" ? i(t) : n(t));
|
|
4393
4415
|
}
|
|
4394
4416
|
}
|
|
4395
|
-
let [y, ee] = await Promise.all([v.offset(c * u).limit(u), d ? e.select({ count: r() }).from(A).leftJoin(He,
|
|
4417
|
+
let [y, ee] = await Promise.all([v.offset(c * u).limit(u), d ? e.select({ count: r() }).from(A).leftJoin(He, $r()).where(g) : void 0]), b = await _(y.map((e) => ei(e.users, e.user_activity)));
|
|
4396
4418
|
if (!ee) return { users: b };
|
|
4397
4419
|
let [te] = ee;
|
|
4398
4420
|
return {
|
|
@@ -4410,7 +4432,7 @@ function ni(e) {
|
|
|
4410
4432
|
e.delete(A).where(t(a(A.tenant_id, n), l(A.user_id, c))),
|
|
4411
4433
|
e.delete(A).where(t(a(A.tenant_id, n), a(A.user_id, r))).returning()
|
|
4412
4434
|
], f = d.length - 1;
|
|
4413
|
-
if (s) for (let t of
|
|
4435
|
+
if (s) for (let t of Kr(e, n, i)) d.push(t);
|
|
4414
4436
|
let p = (await wt(e, d))[f];
|
|
4415
4437
|
return Array.isArray(p) && p.length > 0;
|
|
4416
4438
|
},
|
|
@@ -4422,7 +4444,7 @@ function ni(e) {
|
|
|
4422
4444
|
}
|
|
4423
4445
|
//#endregion
|
|
4424
4446
|
//#region src/adapters/userRoles.ts
|
|
4425
|
-
function
|
|
4447
|
+
function ii(e) {
|
|
4426
4448
|
return {
|
|
4427
4449
|
async create(t, n, r, i) {
|
|
4428
4450
|
try {
|
|
@@ -4444,7 +4466,7 @@ function ri(e) {
|
|
|
4444
4466
|
o !== void 0 && s.push(a(G.organization_id, o));
|
|
4445
4467
|
let c = await e.select({ role_id: G.role_id }).from(G).where(t(...s)).all();
|
|
4446
4468
|
return c.length === 0 ? [] : (await Promise.all(c.map(async (r) => {
|
|
4447
|
-
let i = await e.select().from(
|
|
4469
|
+
let i = await e.select().from(U).where(t(a(U.tenant_id, n), a(U.id, r.role_id))).get();
|
|
4448
4470
|
if (!i) return null;
|
|
4449
4471
|
let { tenant_id: o, is_system: s, metadata: c, ...l } = i;
|
|
4450
4472
|
return D({
|
|
@@ -4485,7 +4507,7 @@ function ri(e) {
|
|
|
4485
4507
|
}
|
|
4486
4508
|
//#endregion
|
|
4487
4509
|
//#region src/adapters/userOrganizations.ts
|
|
4488
|
-
function
|
|
4510
|
+
function ai(e) {
|
|
4489
4511
|
return {
|
|
4490
4512
|
async create(t, n) {
|
|
4491
4513
|
let r = (/* @__PURE__ */ new Date()).toISOString(), i = {
|
|
@@ -4497,7 +4519,7 @@ function ii(e) {
|
|
|
4497
4519
|
updated_at: r
|
|
4498
4520
|
};
|
|
4499
4521
|
try {
|
|
4500
|
-
await e.insert(
|
|
4522
|
+
await e.insert(H).values(i);
|
|
4501
4523
|
} catch (e) {
|
|
4502
4524
|
throw e?.message?.includes("UNIQUE constraint") || e?.message?.includes("duplicate key") ? new Le(409, { message: "User organization already exists" }) : e;
|
|
4503
4525
|
}
|
|
@@ -4505,19 +4527,19 @@ function ii(e) {
|
|
|
4505
4527
|
return o;
|
|
4506
4528
|
},
|
|
4507
4529
|
async get(n, r) {
|
|
4508
|
-
let i = await e.select().from(
|
|
4530
|
+
let i = await e.select().from(H).where(t(a(H.tenant_id, n), a(H.id, r))).get();
|
|
4509
4531
|
if (!i) return null;
|
|
4510
4532
|
let { tenant_id: o, ...s } = i;
|
|
4511
4533
|
return s;
|
|
4512
4534
|
},
|
|
4513
4535
|
async update(n, r, i) {
|
|
4514
4536
|
let o = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
|
|
4515
|
-
return i.user_id !== void 0 && (o.user_id = i.user_id), i.organization_id !== void 0 && (o.organization_id = i.organization_id), (await e.update(
|
|
4537
|
+
return i.user_id !== void 0 && (o.user_id = i.user_id), i.organization_id !== void 0 && (o.organization_id = i.organization_id), (await e.update(H).set(o).where(t(a(H.tenant_id, n), a(H.id, r))).returning()).length > 0;
|
|
4516
4538
|
},
|
|
4517
4539
|
async list(n, o) {
|
|
4518
|
-
let { include_totals: s = !1, q: c } = o || {}, l = a(
|
|
4540
|
+
let { include_totals: s = !1, q: c } = o || {}, l = a(H.tenant_id, n), u = l;
|
|
4519
4541
|
if (c) {
|
|
4520
|
-
let e = _t(
|
|
4542
|
+
let e = _t(H, c, ["user_id", "organization_id"]);
|
|
4521
4543
|
e && (u = t(l, e));
|
|
4522
4544
|
}
|
|
4523
4545
|
let d = (e) => {
|
|
@@ -4526,10 +4548,10 @@ function ii(e) {
|
|
|
4526
4548
|
};
|
|
4527
4549
|
if (kt(o)) {
|
|
4528
4550
|
let n = {
|
|
4529
|
-
sortColumn:
|
|
4530
|
-
idColumn:
|
|
4551
|
+
sortColumn: H.created_at,
|
|
4552
|
+
idColumn: H.id,
|
|
4531
4553
|
sortOrder: "desc"
|
|
4532
|
-
}, r = Mt(o, n), i = At(o), { rows: a, next: s } = Nt((await e.select().from(
|
|
4554
|
+
}, r = Mt(o, n), i = At(o), { rows: a, next: s } = Nt((await e.select().from(H).where(r ? t(u, r) : u).orderBy(...jt(n)).limit(i + 1)).map(d), i, "created_at");
|
|
4533
4555
|
return {
|
|
4534
4556
|
userOrganizations: a,
|
|
4535
4557
|
start: 0,
|
|
@@ -4538,9 +4560,9 @@ function ii(e) {
|
|
|
4538
4560
|
next: s
|
|
4539
4561
|
};
|
|
4540
4562
|
}
|
|
4541
|
-
let f = o?.page ?? 0, p = o?.per_page ?? 50, m = f * p, h = (await e.select().from(
|
|
4563
|
+
let f = o?.page ?? 0, p = o?.per_page ?? 50, m = f * p, h = (await e.select().from(H).where(u).orderBy(i(H.created_at), i(H.id)).offset(m).limit(p)).map(d);
|
|
4542
4564
|
if (!s) return { userOrganizations: h };
|
|
4543
|
-
let [g] = await e.select({ count: r() }).from(
|
|
4565
|
+
let [g] = await e.select({ count: r() }).from(H).where(u);
|
|
4544
4566
|
return {
|
|
4545
4567
|
userOrganizations: h,
|
|
4546
4568
|
start: m,
|
|
@@ -4549,8 +4571,8 @@ function ii(e) {
|
|
|
4549
4571
|
};
|
|
4550
4572
|
},
|
|
4551
4573
|
async listUserOrganizations(n, i, o) {
|
|
4552
|
-
let { page: s = 0, per_page: c = 50, include_totals: l = !1 } = o || {}, u = await e.select().from(
|
|
4553
|
-
let i = await e.select().from(
|
|
4574
|
+
let { page: s = 0, per_page: c = 50, include_totals: l = !1 } = o || {}, u = await e.select().from(H).where(t(a(H.tenant_id, n), a(H.user_id, i))).offset(s * c).limit(c).all(), d = (await Promise.all(u.map(async (r) => {
|
|
4575
|
+
let i = await e.select().from(V).where(t(a(V.tenant_id, n), a(V.id, r.organization_id))).get();
|
|
4554
4576
|
if (!i) return null;
|
|
4555
4577
|
let { tenant_id: o, branding: s, metadata: c, enabled_connections: l, token_quota: u, ...d } = i;
|
|
4556
4578
|
return D({
|
|
@@ -4562,7 +4584,7 @@ function ii(e) {
|
|
|
4562
4584
|
});
|
|
4563
4585
|
}))).filter(Boolean);
|
|
4564
4586
|
if (!l) return { organizations: d };
|
|
4565
|
-
let [f] = await e.select({ count: r() }).from(
|
|
4587
|
+
let [f] = await e.select({ count: r() }).from(H).where(t(a(H.tenant_id, n), a(H.user_id, i)));
|
|
4566
4588
|
return {
|
|
4567
4589
|
organizations: d,
|
|
4568
4590
|
start: s * c,
|
|
@@ -4571,25 +4593,25 @@ function ii(e) {
|
|
|
4571
4593
|
};
|
|
4572
4594
|
},
|
|
4573
4595
|
async remove(n, r) {
|
|
4574
|
-
return (await e.delete(
|
|
4596
|
+
return (await e.delete(H).where(t(a(H.tenant_id, n), a(H.id, r))).returning()).length > 0;
|
|
4575
4597
|
}
|
|
4576
4598
|
};
|
|
4577
4599
|
}
|
|
4578
4600
|
//#endregion
|
|
4579
4601
|
//#region src/adapters/stats.ts
|
|
4580
|
-
var
|
|
4581
|
-
function
|
|
4602
|
+
var oi = ["s"], si = ["pwd_leak"];
|
|
4603
|
+
function ci(e) {
|
|
4582
4604
|
return /^\d{8}$/.test(e) ? `${e.slice(0, 4)}-${e.slice(4, 6)}-${e.slice(6, 8)}` : e;
|
|
4583
4605
|
}
|
|
4584
|
-
function
|
|
4606
|
+
function li(e) {
|
|
4585
4607
|
return {
|
|
4586
4608
|
async getDaily(n, r) {
|
|
4587
|
-
let i = /* @__PURE__ */ new Date(), o = r?.from ?
|
|
4609
|
+
let i = /* @__PURE__ */ new Date(), o = r?.from ? ci(r.from) : (/* @__PURE__ */ new Date(i.getTime() - 720 * 60 * 60 * 1e3)).toISOString().split("T")[0], s = r?.to ? ci(r.to) : i.toISOString().split("T")[0];
|
|
4588
4610
|
return (await e.select({
|
|
4589
4611
|
date: y`substr(${q.date}, 1, 10)`.as("date"),
|
|
4590
|
-
logins: y`SUM(CASE WHEN ${q.type} IN (${y.join(
|
|
4612
|
+
logins: y`SUM(CASE WHEN ${q.type} IN (${y.join(oi.map((e) => y`${e}`), y`, `)}) THEN 1 ELSE 0 END)`.as("logins"),
|
|
4591
4613
|
signups: y`SUM(CASE WHEN ${q.type} = 'ss' THEN 1 ELSE 0 END)`.as("signups"),
|
|
4592
|
-
leaked_passwords: y`SUM(CASE WHEN ${q.type} IN (${y.join(
|
|
4614
|
+
leaked_passwords: y`SUM(CASE WHEN ${q.type} IN (${y.join(si.map((e) => y`${e}`), y`, `)}) THEN 1 ELSE 0 END)`.as("leaked_passwords")
|
|
4593
4615
|
}).from(q).where(t(a(q.tenant_id, n), c(q.date, o), h(q.date, `${s}T23:59:59.999Z`))).groupBy(y`substr(${q.date}, 1, 10)`).orderBy(y`substr(${q.date}, 1, 10)`).all()).map((e) => ({
|
|
4594
4616
|
date: e.date,
|
|
4595
4617
|
logins: Number(e.logins) || 0,
|
|
@@ -4600,14 +4622,14 @@ function ci(e) {
|
|
|
4600
4622
|
}));
|
|
4601
4623
|
},
|
|
4602
4624
|
async getActiveUsers(n) {
|
|
4603
|
-
let r = (/* @__PURE__ */ new Date(Date.now() - 720 * 60 * 60 * 1e3)).toISOString(), [i] = await e.select({ count: y`COUNT(DISTINCT ${q.user_id})`.as("count") }).from(q).where(t(a(q.tenant_id, n), c(q.date, r), y`${q.type} IN (${y.join(
|
|
4625
|
+
let r = (/* @__PURE__ */ new Date(Date.now() - 720 * 60 * 60 * 1e3)).toISOString(), [i] = await e.select({ count: y`COUNT(DISTINCT ${q.user_id})`.as("count") }).from(q).where(t(a(q.tenant_id, n), c(q.date, r), y`${q.type} IN (${y.join(oi.map((e) => y`${e}`), y`, `)})`));
|
|
4604
4626
|
return Number(i?.count) || 0;
|
|
4605
4627
|
}
|
|
4606
4628
|
};
|
|
4607
4629
|
}
|
|
4608
4630
|
//#endregion
|
|
4609
4631
|
//#region src/adapters/analytics.ts
|
|
4610
|
-
var
|
|
4632
|
+
var ui = {
|
|
4611
4633
|
"active-users": ["s", "seacft"],
|
|
4612
4634
|
logins: [
|
|
4613
4635
|
"s",
|
|
@@ -4637,7 +4659,7 @@ var li = {
|
|
|
4637
4659
|
"fvr"
|
|
4638
4660
|
],
|
|
4639
4661
|
"codes-sent": ["cls", "cs"]
|
|
4640
|
-
},
|
|
4662
|
+
}, di = {
|
|
4641
4663
|
"active-users": {
|
|
4642
4664
|
alias: "active_users",
|
|
4643
4665
|
type: "UInt64",
|
|
@@ -4694,7 +4716,7 @@ var li = {
|
|
|
4694
4716
|
agg: "count"
|
|
4695
4717
|
}
|
|
4696
4718
|
};
|
|
4697
|
-
function
|
|
4719
|
+
function fi(e) {
|
|
4698
4720
|
switch (e) {
|
|
4699
4721
|
case "hour": return y`substr(${q.date}, 1, 13)`;
|
|
4700
4722
|
case "month": return y`substr(${q.date}, 1, 7)`;
|
|
@@ -4703,10 +4725,10 @@ function di(e) {
|
|
|
4703
4725
|
default: throw Error(`Unsupported interval '${e}' for SQL analytics adapter`);
|
|
4704
4726
|
}
|
|
4705
4727
|
}
|
|
4706
|
-
function
|
|
4728
|
+
function pi(e) {
|
|
4707
4729
|
return `"${e.replace(/"/g, "\"\"")}"`;
|
|
4708
4730
|
}
|
|
4709
|
-
function
|
|
4731
|
+
function mi(e) {
|
|
4710
4732
|
switch (e) {
|
|
4711
4733
|
case "connection": return q.connection;
|
|
4712
4734
|
case "client_id": return q.client_id;
|
|
@@ -4715,10 +4737,10 @@ function pi(e) {
|
|
|
4715
4737
|
case "time": throw Error("time dimension handled separately");
|
|
4716
4738
|
}
|
|
4717
4739
|
}
|
|
4718
|
-
function
|
|
4740
|
+
function hi(e) {
|
|
4719
4741
|
return {
|
|
4720
4742
|
async query(n, r, i) {
|
|
4721
|
-
let o = Date.now(), s =
|
|
4743
|
+
let o = Date.now(), s = ui[r], u = di[r], d = [
|
|
4722
4744
|
a(q.tenant_id, n),
|
|
4723
4745
|
c(q.date, i.from),
|
|
4724
4746
|
m(q.date, i.to),
|
|
@@ -4727,13 +4749,13 @@ function mi(e) {
|
|
|
4727
4749
|
i.filters.connection?.length && d.push(l(q.connection, i.filters.connection)), i.filters.client_id?.length && d.push(l(q.client_id, i.filters.client_id)), i.filters.user_type?.length && d.push(l(q.strategy_type, i.filters.user_type)), i.filters.user_id?.length && d.push(l(q.user_id, i.filters.user_id));
|
|
4728
4750
|
let f = {}, p = [], h = [];
|
|
4729
4751
|
for (let e of i.group_by) if (e === "time") {
|
|
4730
|
-
let e =
|
|
4752
|
+
let e = fi(i.interval);
|
|
4731
4753
|
f.time = e, p.push(e), h.push({
|
|
4732
4754
|
name: "time",
|
|
4733
4755
|
type: i.interval === "hour" ? "DateTime" : "Date"
|
|
4734
4756
|
});
|
|
4735
4757
|
} else {
|
|
4736
|
-
let t =
|
|
4758
|
+
let t = mi(e);
|
|
4737
4759
|
f[e] = t, p.push(t), h.push({
|
|
4738
4760
|
name: e,
|
|
4739
4761
|
type: "String"
|
|
@@ -4749,9 +4771,9 @@ function mi(e) {
|
|
|
4749
4771
|
if (i.order_by) {
|
|
4750
4772
|
let e = i.order_by.startsWith("-"), t = e ? i.order_by.slice(1) : i.order_by;
|
|
4751
4773
|
if (!_.has(t)) throw Error(`Invalid order_by column '${t}' for analytics query`);
|
|
4752
|
-
let n =
|
|
4774
|
+
let n = pi(t);
|
|
4753
4775
|
g = g.orderBy(y.raw(`${n} ${e ? "DESC" : "ASC"}`));
|
|
4754
|
-
} else g = i.group_by[0] === "time" ? g.orderBy(y.raw(`${
|
|
4776
|
+
} else g = i.group_by[0] === "time" ? g.orderBy(y.raw(`${pi("time")} ASC`)) : g.orderBy(y.raw(`${pi(u.alias)} DESC`));
|
|
4755
4777
|
g = g.limit(i.limit).offset(i.offset);
|
|
4756
4778
|
let v = (await g.all()).map((e) => {
|
|
4757
4779
|
let t = {};
|
|
@@ -4800,10 +4822,10 @@ function mi(e) {
|
|
|
4800
4822
|
}
|
|
4801
4823
|
//#endregion
|
|
4802
4824
|
//#region src/adapters/cleanup.ts
|
|
4803
|
-
var
|
|
4804
|
-
function
|
|
4825
|
+
var gi = 10080 * 60 * 1e3;
|
|
4826
|
+
function _i(e) {
|
|
4805
4827
|
return async (n) => {
|
|
4806
|
-
let r = Date.now() -
|
|
4828
|
+
let r = Date.now() - gi;
|
|
4807
4829
|
try {
|
|
4808
4830
|
let i = [v(m(N.expires_at_ts, r), m(N.idle_expires_at_ts, r))];
|
|
4809
4831
|
n?.tenant_id && i.push(a(N.tenant_id, n.tenant_id)), await e.delete(N).where(t(...i)), i = [v(m(M.expires_at_ts, r), m(M.idle_expires_at_ts, r))], n?.tenant_id && i.push(a(M.tenant_id, n.tenant_id)), n?.user_id && i.push(a(M.user_id, n.user_id)), await e.delete(M).where(t(...i)), i = [m(P.expires_at_ts, r)], n?.tenant_id && i.push(a(P.tenant_id, n.tenant_id)), await e.delete(P).where(t(...i));
|
|
@@ -4838,7 +4860,7 @@ var Q = w("tenant_operations", {
|
|
|
4838
4860
|
x("tenant_operations_tenant_id_created_at_idx").on(e.tenant_id, e.created_at),
|
|
4839
4861
|
x("tenant_operations_rollout_id_idx").on(e.rollout_id),
|
|
4840
4862
|
x("tenant_operations_status_idx").on(e.status)
|
|
4841
|
-
]),
|
|
4863
|
+
]), vi = w("tenant_operation_events", {
|
|
4842
4864
|
id: T("id", { length: 255 }).primaryKey(),
|
|
4843
4865
|
operation_id: T("operation_id", { length: 255 }).notNull(),
|
|
4844
4866
|
step: T("step", { length: 255 }).notNull(),
|
|
@@ -4869,7 +4891,7 @@ var Q = w("tenant_operations", {
|
|
|
4869
4891
|
name: "tenant_operation_rows_operation_id_constraint"
|
|
4870
4892
|
}).onDelete("cascade"),
|
|
4871
4893
|
x("tenant_operation_rows_operation_id_status_idx").on(e.operation_id, e.status)
|
|
4872
|
-
]),
|
|
4894
|
+
]), yi = w("rollouts", {
|
|
4873
4895
|
id: T("id", { length: 255 }).primaryKey(),
|
|
4874
4896
|
kind: T("kind", { length: 32 }).notNull(),
|
|
4875
4897
|
status: T("status", { length: 32 }).notNull(),
|
|
@@ -4885,7 +4907,7 @@ var Q = w("tenant_operations", {
|
|
|
4885
4907
|
});
|
|
4886
4908
|
//#endregion
|
|
4887
4909
|
//#region src/adapters/tenantOperations.ts
|
|
4888
|
-
function
|
|
4910
|
+
function bi(e) {
|
|
4889
4911
|
if (!e) return null;
|
|
4890
4912
|
try {
|
|
4891
4913
|
return JSON.parse(e);
|
|
@@ -4893,7 +4915,7 @@ function yi(e) {
|
|
|
4893
4915
|
return null;
|
|
4894
4916
|
}
|
|
4895
4917
|
}
|
|
4896
|
-
function
|
|
4918
|
+
function xi(e) {
|
|
4897
4919
|
return Pe.parse({
|
|
4898
4920
|
id: e.id,
|
|
4899
4921
|
tenant_id: e.tenant_id,
|
|
@@ -4907,8 +4929,8 @@ function bi(e) {
|
|
|
4907
4929
|
target_database_version: e.target_database_version,
|
|
4908
4930
|
error: e.error,
|
|
4909
4931
|
initiated_by: e.initiated_by,
|
|
4910
|
-
input:
|
|
4911
|
-
result:
|
|
4932
|
+
input: bi(e.input),
|
|
4933
|
+
result: bi(e.result),
|
|
4912
4934
|
claimed_by: e.claimed_by,
|
|
4913
4935
|
claim_expires_at: e.claim_expires_at,
|
|
4914
4936
|
created_at: e.created_at,
|
|
@@ -4916,7 +4938,7 @@ function bi(e) {
|
|
|
4916
4938
|
finished_at: e.finished_at
|
|
4917
4939
|
});
|
|
4918
4940
|
}
|
|
4919
|
-
function
|
|
4941
|
+
function Si(e) {
|
|
4920
4942
|
return {
|
|
4921
4943
|
async create(t) {
|
|
4922
4944
|
let n = je.parse(t), r = (/* @__PURE__ */ new Date()).toISOString(), i = {
|
|
@@ -4947,7 +4969,7 @@ function xi(e) {
|
|
|
4947
4969
|
},
|
|
4948
4970
|
async get(t) {
|
|
4949
4971
|
let n = await e.select().from(Q).where(a(Q.id, t)).limit(1);
|
|
4950
|
-
return n[0] ?
|
|
4972
|
+
return n[0] ? xi(n[0]) : null;
|
|
4951
4973
|
},
|
|
4952
4974
|
async list(n = {}) {
|
|
4953
4975
|
let r = n.page ?? 0, o = n.per_page ?? 50, s = [];
|
|
@@ -4958,7 +4980,7 @@ function xi(e) {
|
|
|
4958
4980
|
n.engine !== void 0 && s.push(a(Q.engine, n.engine)), n.updated_before !== void 0 && s.push(m(Q.updated_at, n.updated_before));
|
|
4959
4981
|
let c = await e.select().from(Q).where(s.length ? t(...s) : void 0).orderBy(i(Q.created_at), i(Q.id)).offset(r * o).limit(o);
|
|
4960
4982
|
return {
|
|
4961
|
-
operations: c.map(
|
|
4983
|
+
operations: c.map(xi),
|
|
4962
4984
|
start: r * o,
|
|
4963
4985
|
limit: o,
|
|
4964
4986
|
length: c.length
|
|
@@ -4984,7 +5006,7 @@ function xi(e) {
|
|
|
4984
5006
|
},
|
|
4985
5007
|
async listResumable(r) {
|
|
4986
5008
|
let i = (/* @__PURE__ */ new Date()).toISOString();
|
|
4987
|
-
return (await e.select().from(Q).where(t(l(Q.status, ["pending", "running"]), a(Q.kind, r.kind), v(f(Q.claimed_by), h(Q.claim_expires_at, i)))).orderBy(n(Q.created_at), n(Q.id)).limit(r.limit)).map(
|
|
5009
|
+
return (await e.select().from(Q).where(t(l(Q.status, ["pending", "running"]), a(Q.kind, r.kind), v(f(Q.claimed_by), h(Q.claim_expires_at, i)))).orderBy(n(Q.created_at), n(Q.id)).limit(r.limit)).map(xi);
|
|
4988
5010
|
},
|
|
4989
5011
|
async remove(t) {
|
|
4990
5012
|
return (await e.select({ id: Q.id }).from(Q).where(a(Q.id, t)).limit(1)).length === 0 ? !1 : (await e.delete(Q).where(a(Q.id, t)), !0);
|
|
@@ -4993,19 +5015,19 @@ function xi(e) {
|
|
|
4993
5015
|
}
|
|
4994
5016
|
//#endregion
|
|
4995
5017
|
//#region src/adapters/tenantOperationRows.ts
|
|
4996
|
-
var
|
|
4997
|
-
function
|
|
5018
|
+
var Ci = 50, wi = 50;
|
|
5019
|
+
function Ti(e) {
|
|
4998
5020
|
try {
|
|
4999
5021
|
return JSON.parse(e);
|
|
5000
5022
|
} catch {
|
|
5001
5023
|
return {};
|
|
5002
5024
|
}
|
|
5003
5025
|
}
|
|
5004
|
-
function
|
|
5026
|
+
function Ei(e) {
|
|
5005
5027
|
return Ne.parse({
|
|
5006
5028
|
operation_id: e.operation_id,
|
|
5007
5029
|
seq: e.seq,
|
|
5008
|
-
payload:
|
|
5030
|
+
payload: Ti(e.payload),
|
|
5009
5031
|
status: e.status,
|
|
5010
5032
|
error_code: e.error_code,
|
|
5011
5033
|
error_message: e.error_message,
|
|
@@ -5015,12 +5037,12 @@ function Ti(e) {
|
|
|
5015
5037
|
updated_at: e.updated_at
|
|
5016
5038
|
});
|
|
5017
5039
|
}
|
|
5018
|
-
function
|
|
5040
|
+
function Di(e, t) {
|
|
5019
5041
|
let n = [];
|
|
5020
5042
|
for (let r = 0; r < e.length; r += t) n.push(e.slice(r, r + t));
|
|
5021
5043
|
return n;
|
|
5022
5044
|
}
|
|
5023
|
-
function
|
|
5045
|
+
function Oi(e, n, r, i) {
|
|
5024
5046
|
return e.update($).set({
|
|
5025
5047
|
status: r.status,
|
|
5026
5048
|
error_code: r.error_code ?? null,
|
|
@@ -5030,7 +5052,7 @@ function Di(e, n, r, i) {
|
|
|
5030
5052
|
updated_at: i
|
|
5031
5053
|
}).where(t(a($.operation_id, n), a($.seq, r.seq), a($.status, "pending")));
|
|
5032
5054
|
}
|
|
5033
|
-
function
|
|
5055
|
+
function ki(e) {
|
|
5034
5056
|
return {
|
|
5035
5057
|
async createMany(t) {
|
|
5036
5058
|
if (t.length === 0) return 0;
|
|
@@ -5049,23 +5071,23 @@ function Oi(e) {
|
|
|
5049
5071
|
updated_at: n
|
|
5050
5072
|
};
|
|
5051
5073
|
});
|
|
5052
|
-
for (let t of
|
|
5074
|
+
for (let t of Di(r, Ci)) await e.insert($).values(t);
|
|
5053
5075
|
return r.length;
|
|
5054
5076
|
},
|
|
5055
5077
|
async claimPending(r, i) {
|
|
5056
|
-
return (await e.select().from($).where(t(a($.operation_id, r), a($.status, "pending"))).orderBy(n($.seq)).limit(i)).map(
|
|
5078
|
+
return (await e.select().from($).where(t(a($.operation_id, r), a($.status, "pending"))).orderBy(n($.seq)).limit(i)).map(Ei);
|
|
5057
5079
|
},
|
|
5058
5080
|
async recordOutcomes(n, r) {
|
|
5059
5081
|
if (r.length === 0) return 0;
|
|
5060
5082
|
let i = (/* @__PURE__ */ new Date()).toISOString(), o = r.map((e) => e.seq), s = /* @__PURE__ */ new Set();
|
|
5061
|
-
for (let r of
|
|
5083
|
+
for (let r of Di(o, wi)) {
|
|
5062
5084
|
let i = await e.select({ seq: $.seq }).from($).where(t(a($.operation_id, n), a($.status, "pending"), l($.seq, r)));
|
|
5063
5085
|
for (let e of i) s.add(e.seq);
|
|
5064
5086
|
}
|
|
5065
5087
|
let c = r.filter((e) => s.has(e.seq));
|
|
5066
5088
|
if (c.length === 0) return 0;
|
|
5067
|
-
for (let t of
|
|
5068
|
-
let [r, ...a] = t.map((t) =>
|
|
5089
|
+
for (let t of Di(c, wi)) {
|
|
5090
|
+
let [r, ...a] = t.map((t) => Oi(e, n, t, i));
|
|
5069
5091
|
r && await wt(e, [r, ...a]);
|
|
5070
5092
|
}
|
|
5071
5093
|
return c.length;
|
|
@@ -5101,7 +5123,7 @@ function Oi(e) {
|
|
|
5101
5123
|
}
|
|
5102
5124
|
let u = await e.select().from($).where(t(...c)).orderBy(n($.seq)).offset(o * s).limit(s);
|
|
5103
5125
|
return {
|
|
5104
|
-
rows: u.map(
|
|
5126
|
+
rows: u.map(Ei),
|
|
5105
5127
|
start: o * s,
|
|
5106
5128
|
limit: s,
|
|
5107
5129
|
length: u.length
|
|
@@ -5115,27 +5137,27 @@ function Oi(e) {
|
|
|
5115
5137
|
}
|
|
5116
5138
|
//#endregion
|
|
5117
5139
|
//#region src/helpers/monotonic-id.ts
|
|
5118
|
-
var
|
|
5119
|
-
function
|
|
5140
|
+
var Ai = "0123456789ABCDEFGHJKMNPQRSTVWXYZ", ji = 32, Mi = 10, Ni = 4, Pi = 10;
|
|
5141
|
+
function Fi(e, t) {
|
|
5120
5142
|
let n = "";
|
|
5121
|
-
for (let r = t; r > 0; r--) n =
|
|
5143
|
+
for (let r = t; r > 0; r--) n = Ai.charAt(e % ji) + n, e = Math.floor(e / ji);
|
|
5122
5144
|
return n;
|
|
5123
5145
|
}
|
|
5124
|
-
function
|
|
5125
|
-
let e = new Uint8Array(
|
|
5146
|
+
function Ii() {
|
|
5147
|
+
let e = new Uint8Array(Pi);
|
|
5126
5148
|
crypto.getRandomValues(e);
|
|
5127
5149
|
let t = "";
|
|
5128
|
-
for (let n = 0; n <
|
|
5150
|
+
for (let n = 0; n < Pi; n++) t += Ai.charAt(e[n] % ji);
|
|
5129
5151
|
return t;
|
|
5130
5152
|
}
|
|
5131
|
-
var
|
|
5132
|
-
function
|
|
5153
|
+
var Li = 0, Ri = 0;
|
|
5154
|
+
function zi() {
|
|
5133
5155
|
let e = Date.now();
|
|
5134
|
-
return e ===
|
|
5156
|
+
return e === Li ? Ri++ : (Li = e, Ri = 0), Fi(e, Mi) + Fi(Ri, Ni) + Ii();
|
|
5135
5157
|
}
|
|
5136
5158
|
//#endregion
|
|
5137
5159
|
//#region src/adapters/tenantOperationEvents.ts
|
|
5138
|
-
function
|
|
5160
|
+
function Bi(e) {
|
|
5139
5161
|
if (!e) return null;
|
|
5140
5162
|
try {
|
|
5141
5163
|
let t = JSON.parse(e);
|
|
@@ -5143,22 +5165,22 @@ function zi(e) {
|
|
|
5143
5165
|
} catch {}
|
|
5144
5166
|
return null;
|
|
5145
5167
|
}
|
|
5146
|
-
function
|
|
5168
|
+
function Vi(e) {
|
|
5147
5169
|
return Ae.parse({
|
|
5148
5170
|
id: e.id,
|
|
5149
5171
|
operation_id: e.operation_id,
|
|
5150
5172
|
step: e.step,
|
|
5151
5173
|
outcome: e.outcome,
|
|
5152
|
-
detail:
|
|
5174
|
+
detail: Bi(e.detail),
|
|
5153
5175
|
attempt: e.attempt,
|
|
5154
5176
|
created_at: e.created_at
|
|
5155
5177
|
});
|
|
5156
5178
|
}
|
|
5157
|
-
function
|
|
5179
|
+
function Hi(e) {
|
|
5158
5180
|
return {
|
|
5159
5181
|
async create(t) {
|
|
5160
5182
|
let n = ke.parse(t), r = {
|
|
5161
|
-
id: `evt_${
|
|
5183
|
+
id: `evt_${zi()}`,
|
|
5162
5184
|
operation_id: n.operation_id,
|
|
5163
5185
|
step: n.step,
|
|
5164
5186
|
outcome: n.outcome,
|
|
@@ -5166,7 +5188,7 @@ function Vi(e) {
|
|
|
5166
5188
|
attempt: n.attempt,
|
|
5167
5189
|
created_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
5168
5190
|
};
|
|
5169
|
-
return await e.insert(
|
|
5191
|
+
return await e.insert(vi).values(r), Ae.parse({
|
|
5170
5192
|
id: r.id,
|
|
5171
5193
|
operation_id: r.operation_id,
|
|
5172
5194
|
step: r.step,
|
|
@@ -5177,9 +5199,9 @@ function Vi(e) {
|
|
|
5177
5199
|
});
|
|
5178
5200
|
},
|
|
5179
5201
|
async listByOperation(t, r = {}) {
|
|
5180
|
-
let i = r.page ?? 0, o = r.per_page ?? 100, s = await e.select().from(
|
|
5202
|
+
let i = r.page ?? 0, o = r.per_page ?? 100, s = await e.select().from(vi).where(a(vi.operation_id, t)).orderBy(n(vi.created_at), n(vi.id)).offset(i * o).limit(o);
|
|
5181
5203
|
return {
|
|
5182
|
-
events: s.map(
|
|
5204
|
+
events: s.map(Vi),
|
|
5183
5205
|
start: i * o,
|
|
5184
5206
|
limit: o,
|
|
5185
5207
|
length: s.length
|
|
@@ -5189,7 +5211,7 @@ function Vi(e) {
|
|
|
5189
5211
|
}
|
|
5190
5212
|
//#endregion
|
|
5191
5213
|
//#region src/adapters/rollouts.ts
|
|
5192
|
-
function
|
|
5214
|
+
function Ui(e) {
|
|
5193
5215
|
if (!e) return null;
|
|
5194
5216
|
try {
|
|
5195
5217
|
return JSON.parse(e);
|
|
@@ -5197,7 +5219,7 @@ function Hi(e) {
|
|
|
5197
5219
|
return null;
|
|
5198
5220
|
}
|
|
5199
5221
|
}
|
|
5200
|
-
function
|
|
5222
|
+
function Wi(e) {
|
|
5201
5223
|
return we.parse({
|
|
5202
5224
|
id: e.id,
|
|
5203
5225
|
kind: e.kind,
|
|
@@ -5205,15 +5227,15 @@ function Ui(e) {
|
|
|
5205
5227
|
target_worker_version: e.target_worker_version,
|
|
5206
5228
|
target_database_version: e.target_database_version,
|
|
5207
5229
|
wave_size: e.wave_size,
|
|
5208
|
-
canary_tenant_ids:
|
|
5209
|
-
filter:
|
|
5230
|
+
canary_tenant_ids: Ui(e.canary_tenant_ids),
|
|
5231
|
+
filter: Ui(e.filter),
|
|
5210
5232
|
initiated_by: e.initiated_by,
|
|
5211
5233
|
created_at: e.created_at,
|
|
5212
5234
|
updated_at: e.updated_at,
|
|
5213
5235
|
finished_at: e.finished_at
|
|
5214
5236
|
});
|
|
5215
5237
|
}
|
|
5216
|
-
function
|
|
5238
|
+
function Gi(e) {
|
|
5217
5239
|
return {
|
|
5218
5240
|
async create(t) {
|
|
5219
5241
|
let n = Ce.parse(t), r = (/* @__PURE__ */ new Date()).toISOString(), i = {
|
|
@@ -5230,37 +5252,37 @@ function Wi(e) {
|
|
|
5230
5252
|
updated_at: r,
|
|
5231
5253
|
finished_at: null
|
|
5232
5254
|
};
|
|
5233
|
-
await e.insert(
|
|
5255
|
+
await e.insert(yi).values(i);
|
|
5234
5256
|
let a = await this.get(i.id);
|
|
5235
5257
|
if (!a) throw Error(`Failed to create rollout ${i.id}`);
|
|
5236
5258
|
return a;
|
|
5237
5259
|
},
|
|
5238
5260
|
async get(t) {
|
|
5239
|
-
let n = await e.select().from(
|
|
5240
|
-
return n[0] ?
|
|
5261
|
+
let n = await e.select().from(yi).where(a(yi.id, t)).limit(1);
|
|
5262
|
+
return n[0] ? Wi(n[0]) : null;
|
|
5241
5263
|
},
|
|
5242
5264
|
async list(t = {}) {
|
|
5243
|
-
let n = t.page ?? 0, r = t.per_page ?? 50, a = await e.select().from(
|
|
5265
|
+
let n = t.page ?? 0, r = t.per_page ?? 50, a = await e.select().from(yi).orderBy(i(yi.created_at), i(yi.id)).offset(n * r).limit(r);
|
|
5244
5266
|
return {
|
|
5245
|
-
rollouts: a.map(
|
|
5267
|
+
rollouts: a.map(Wi),
|
|
5246
5268
|
start: n * r,
|
|
5247
5269
|
limit: r,
|
|
5248
5270
|
length: a.length
|
|
5249
5271
|
};
|
|
5250
5272
|
},
|
|
5251
5273
|
async update(t, n) {
|
|
5252
|
-
if ((await e.select({ id:
|
|
5274
|
+
if ((await e.select({ id: yi.id }).from(yi).where(a(yi.id, t)).limit(1)).length === 0) return !1;
|
|
5253
5275
|
let r = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
|
|
5254
|
-
return n.status !== void 0 && (r.status = n.status), n.wave_size !== void 0 && (r.wave_size = n.wave_size), n.canary_tenant_ids !== void 0 && (r.canary_tenant_ids = n.canary_tenant_ids ? JSON.stringify(n.canary_tenant_ids) : null), n.filter !== void 0 && (r.filter = n.filter ? JSON.stringify(n.filter) : null), n.finished_at !== void 0 && (r.finished_at = n.finished_at), await e.update(
|
|
5276
|
+
return n.status !== void 0 && (r.status = n.status), n.wave_size !== void 0 && (r.wave_size = n.wave_size), n.canary_tenant_ids !== void 0 && (r.canary_tenant_ids = n.canary_tenant_ids ? JSON.stringify(n.canary_tenant_ids) : null), n.filter !== void 0 && (r.filter = n.filter ? JSON.stringify(n.filter) : null), n.finished_at !== void 0 && (r.finished_at = n.finished_at), await e.update(yi).set(r).where(a(yi.id, t)), !0;
|
|
5255
5277
|
},
|
|
5256
5278
|
async remove(t) {
|
|
5257
|
-
return (await e.select({ id:
|
|
5279
|
+
return (await e.select({ id: yi.id }).from(yi).where(a(yi.id, t)).limit(1)).length === 0 ? !1 : (await e.delete(yi).where(a(yi.id, t)), !0);
|
|
5258
5280
|
}
|
|
5259
5281
|
};
|
|
5260
5282
|
}
|
|
5261
5283
|
//#endregion
|
|
5262
5284
|
//#region src/adapters/index.ts
|
|
5263
|
-
function
|
|
5285
|
+
function Ki(e, t = { useTransactions: !0 }) {
|
|
5264
5286
|
let n = {
|
|
5265
5287
|
actions: bt(e),
|
|
5266
5288
|
actionExecutions: St(e),
|
|
@@ -5296,27 +5318,27 @@ function Gi(e, t = { useTransactions: !0 }) {
|
|
|
5296
5318
|
refreshTokens: hr(e),
|
|
5297
5319
|
resourceServers: xr(e),
|
|
5298
5320
|
rolePermissions: Sr(e),
|
|
5299
|
-
userPermissions:
|
|
5300
|
-
roles:
|
|
5301
|
-
sessions:
|
|
5302
|
-
sessionCleanup:
|
|
5303
|
-
tenants:
|
|
5321
|
+
userPermissions: wr(e),
|
|
5322
|
+
roles: Er(e),
|
|
5323
|
+
sessions: jr(e),
|
|
5324
|
+
sessionCleanup: _i(e),
|
|
5325
|
+
tenants: Ir(e),
|
|
5304
5326
|
tokenExchangeProfiles: ir(e),
|
|
5305
5327
|
...t.controlPlane ? {
|
|
5306
|
-
tenantOperations:
|
|
5307
|
-
tenantOperationEvents:
|
|
5308
|
-
tenantOperationRows:
|
|
5309
|
-
rollouts:
|
|
5328
|
+
tenantOperations: Si(e),
|
|
5329
|
+
tenantOperationEvents: Hi(e),
|
|
5330
|
+
tenantOperationRows: ki(e),
|
|
5331
|
+
rollouts: Gi(e)
|
|
5310
5332
|
} : {},
|
|
5311
|
-
themes:
|
|
5312
|
-
universalLoginTemplates:
|
|
5313
|
-
users:
|
|
5314
|
-
userActivity:
|
|
5315
|
-
userRoles:
|
|
5316
|
-
userOrganizations:
|
|
5317
|
-
stats:
|
|
5318
|
-
analytics:
|
|
5319
|
-
outbox:
|
|
5333
|
+
themes: zr(e),
|
|
5334
|
+
universalLoginTemplates: Br(e),
|
|
5335
|
+
users: ri(e),
|
|
5336
|
+
userActivity: Hr(e),
|
|
5337
|
+
userRoles: ii(e),
|
|
5338
|
+
userOrganizations: ai(e),
|
|
5339
|
+
stats: li(e),
|
|
5340
|
+
analytics: hi(e),
|
|
5341
|
+
outbox: Gr(e),
|
|
5320
5342
|
async transaction(r) {
|
|
5321
5343
|
if (t.useTransactions === !1 || Ct(e)) return r(n);
|
|
5322
5344
|
await e.run(y`BEGIN`);
|
|
@@ -5332,7 +5354,7 @@ function Gi(e, t = { useTransactions: !0 }) {
|
|
|
5332
5354
|
}
|
|
5333
5355
|
//#endregion
|
|
5334
5356
|
//#region src/adapters/resolveHost.ts
|
|
5335
|
-
function
|
|
5357
|
+
function qi(e) {
|
|
5336
5358
|
if (!e) return { path: "/*" };
|
|
5337
5359
|
try {
|
|
5338
5360
|
let t = JSON.parse(e), n = xe.safeParse(t);
|
|
@@ -5340,7 +5362,7 @@ function Ki(e) {
|
|
|
5340
5362
|
} catch {}
|
|
5341
5363
|
return { path: "/*" };
|
|
5342
5364
|
}
|
|
5343
|
-
function
|
|
5365
|
+
function Ji(e) {
|
|
5344
5366
|
if (!e) return [];
|
|
5345
5367
|
try {
|
|
5346
5368
|
let t = JSON.parse(e);
|
|
@@ -5355,20 +5377,20 @@ function qi(e) {
|
|
|
5355
5377
|
return [];
|
|
5356
5378
|
}
|
|
5357
5379
|
}
|
|
5358
|
-
async function
|
|
5380
|
+
async function Yi(e, r) {
|
|
5359
5381
|
let i = r.toLowerCase(), o = (await e.select({
|
|
5360
|
-
custom_domain_id:
|
|
5361
|
-
tenant_id:
|
|
5362
|
-
domain:
|
|
5363
|
-
}).from(
|
|
5382
|
+
custom_domain_id: Ke.custom_domain_id,
|
|
5383
|
+
tenant_id: Ke.tenant_id,
|
|
5384
|
+
domain: Ke.domain
|
|
5385
|
+
}).from(Ke).where(a(Ke.domain, i)).limit(1))[0];
|
|
5364
5386
|
if (!o) return null;
|
|
5365
5387
|
let s = (await e.select().from(Y).where(t(a(Y.tenant_id, o.tenant_id), a(Y.custom_domain_id, o.custom_domain_id))).orderBy(n(Y.priority), n(Y.created_at))).map((e) => ({
|
|
5366
5388
|
id: e.id,
|
|
5367
5389
|
tenant_id: e.tenant_id,
|
|
5368
5390
|
custom_domain_id: e.custom_domain_id,
|
|
5369
5391
|
priority: e.priority,
|
|
5370
|
-
match:
|
|
5371
|
-
handlers:
|
|
5392
|
+
match: qi(e.match),
|
|
5393
|
+
handlers: Ji(e.handlers),
|
|
5372
5394
|
created_at: e.created_at,
|
|
5373
5395
|
updated_at: e.updated_at
|
|
5374
5396
|
}));
|
|
@@ -5381,11 +5403,11 @@ async function Ji(e, r) {
|
|
|
5381
5403
|
}
|
|
5382
5404
|
//#endregion
|
|
5383
5405
|
//#region src/adapters/proxyData.ts
|
|
5384
|
-
function
|
|
5406
|
+
function Xi(e) {
|
|
5385
5407
|
return {
|
|
5386
5408
|
proxyRoutes: er(e),
|
|
5387
|
-
resolveHost: (t) =>
|
|
5409
|
+
resolveHost: (t) => Yi(e, t)
|
|
5388
5410
|
};
|
|
5389
5411
|
}
|
|
5390
5412
|
//#endregion
|
|
5391
|
-
export {
|
|
5413
|
+
export { Xi as createProxyDataAdapter, er as createProxyRoutesAdapter, Ki as default, ft as sqlite };
|