@authhero/drizzle 1.10.0 → 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 +283 -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 [];
|
|
@@ -4174,10 +4193,10 @@ function Wr(e) {
|
|
|
4174
4193
|
}
|
|
4175
4194
|
//#endregion
|
|
4176
4195
|
//#region src/adapters/users.ts
|
|
4177
|
-
function
|
|
4178
|
-
return (n?.outboxEvents ?? []).map((n) =>
|
|
4196
|
+
function Kr(e, t, n) {
|
|
4197
|
+
return (n?.outboxEvents ?? []).map((n) => Wr(e, n.id, t, n));
|
|
4179
4198
|
}
|
|
4180
|
-
var
|
|
4199
|
+
var qr = [
|
|
4181
4200
|
"user_id",
|
|
4182
4201
|
"email",
|
|
4183
4202
|
"email_verified",
|
|
@@ -4199,23 +4218,23 @@ var Kr = [
|
|
|
4199
4218
|
"login_count",
|
|
4200
4219
|
"created_at",
|
|
4201
4220
|
"updated_at"
|
|
4202
|
-
],
|
|
4221
|
+
], Jr = [
|
|
4203
4222
|
"email",
|
|
4204
4223
|
"name",
|
|
4205
4224
|
"phone_number",
|
|
4206
4225
|
"user_id"
|
|
4207
|
-
],
|
|
4226
|
+
], Yr = new Set([
|
|
4208
4227
|
"last_login",
|
|
4209
4228
|
"last_ip",
|
|
4210
4229
|
"login_count"
|
|
4211
|
-
]),
|
|
4230
|
+
]), Xr = o(A), Zr = o(He), Qr = Object.fromEntries(qr.map((e) => [e, e === "login_count" ? {
|
|
4212
4231
|
coalesce: He.login_count,
|
|
4213
4232
|
defaultValue: 0
|
|
4214
|
-
} :
|
|
4215
|
-
function
|
|
4233
|
+
} : Yr.has(e) ? Zr[e] : Xr[e]]));
|
|
4234
|
+
function $r() {
|
|
4216
4235
|
return t(a(He.tenant_id, A.tenant_id), a(He.user_id, A.user_id));
|
|
4217
4236
|
}
|
|
4218
|
-
function
|
|
4237
|
+
function ei(e, t) {
|
|
4219
4238
|
return {
|
|
4220
4239
|
...e,
|
|
4221
4240
|
last_login: t?.last_login,
|
|
@@ -4223,7 +4242,7 @@ function $r(e, t) {
|
|
|
4223
4242
|
login_count: t?.login_count ?? 0
|
|
4224
4243
|
};
|
|
4225
4244
|
}
|
|
4226
|
-
function
|
|
4245
|
+
function ti(e, t) {
|
|
4227
4246
|
let n = {
|
|
4228
4247
|
connection: e.connection,
|
|
4229
4248
|
provider: e.provider,
|
|
@@ -4236,8 +4255,8 @@ function ei(e, t) {
|
|
|
4236
4255
|
...typeof e.profileData == "string" ? Z(e.profileData, {}) : {}
|
|
4237
4256
|
}, n;
|
|
4238
4257
|
}
|
|
4239
|
-
function
|
|
4240
|
-
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));
|
|
4241
4260
|
return D({
|
|
4242
4261
|
...f,
|
|
4243
4262
|
email: e.email || "",
|
|
@@ -4251,7 +4270,7 @@ function ti(e, t = []) {
|
|
|
4251
4270
|
identities: [p, ...m]
|
|
4252
4271
|
});
|
|
4253
4272
|
}
|
|
4254
|
-
function
|
|
4273
|
+
function ri(e) {
|
|
4255
4274
|
let o = async (t, n, r) => {
|
|
4256
4275
|
let i = (/* @__PURE__ */ new Date()).toISOString(), a = {
|
|
4257
4276
|
user_id: n.user_id,
|
|
@@ -4305,12 +4324,12 @@ function ni(e) {
|
|
|
4305
4324
|
created_at: i,
|
|
4306
4325
|
updated_at: i
|
|
4307
4326
|
}));
|
|
4308
|
-
for (let n of
|
|
4327
|
+
for (let n of Kr(e, t, r)) c.push(n);
|
|
4309
4328
|
c.length > 1 ? await wt(e, c) : await e.insert(A).values(a);
|
|
4310
4329
|
} catch (e) {
|
|
4311
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" }));
|
|
4312
4331
|
}
|
|
4313
|
-
return
|
|
4332
|
+
return ni({
|
|
4314
4333
|
...a,
|
|
4315
4334
|
last_login: n.last_login,
|
|
4316
4335
|
last_ip: n.last_ip,
|
|
@@ -4321,10 +4340,10 @@ function ni(e) {
|
|
|
4321
4340
|
create: o,
|
|
4322
4341
|
rawCreate: o,
|
|
4323
4342
|
async get(n, r) {
|
|
4324
|
-
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();
|
|
4325
4344
|
if (!i) return null;
|
|
4326
4345
|
let o = await e.select().from(A).where(t(a(A.tenant_id, n), a(A.linked_to, r))).all();
|
|
4327
|
-
return
|
|
4346
|
+
return ni(ei(i.users, i.user_activity), o);
|
|
4328
4347
|
},
|
|
4329
4348
|
async update(n, r, i, o) {
|
|
4330
4349
|
let s = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
|
|
@@ -4351,8 +4370,8 @@ function ni(e) {
|
|
|
4351
4370
|
"zoneinfo"
|
|
4352
4371
|
]) i[e] !== void 0 && (s[e] = i[e]);
|
|
4353
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));
|
|
4354
|
-
let c = e.update(A).set(s).where(t(a(A.tenant_id, n), a(A.user_id, r))).returning(), l =
|
|
4355
|
-
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, {
|
|
4356
4375
|
last_login: i.last_login,
|
|
4357
4376
|
last_ip: i.last_ip,
|
|
4358
4377
|
login_count: i.login_count
|
|
@@ -4361,15 +4380,15 @@ function ni(e) {
|
|
|
4361
4380
|
async list(o, s) {
|
|
4362
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)];
|
|
4363
4382
|
if (m) {
|
|
4364
|
-
let e = Te(m,
|
|
4383
|
+
let e = Te(m, qr);
|
|
4365
4384
|
if (e) {
|
|
4366
|
-
let t = _t(
|
|
4385
|
+
let t = _t(Qr, e, Jr);
|
|
4367
4386
|
t && h.push(t);
|
|
4368
4387
|
}
|
|
4369
4388
|
}
|
|
4370
4389
|
let g = t(...h), _ = async (n) => {
|
|
4371
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))) : [];
|
|
4372
|
-
return n.map((e) =>
|
|
4391
|
+
return n.map((e) => ni(e, i.filter((t) => t.linked_to === e.user_id)));
|
|
4373
4392
|
};
|
|
4374
4393
|
if (kt(s)) {
|
|
4375
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` });
|
|
@@ -4378,7 +4397,7 @@ function ni(e) {
|
|
|
4378
4397
|
idColumn: A.user_id,
|
|
4379
4398
|
sortOrder: n,
|
|
4380
4399
|
sortKey: `created_at:${n}`
|
|
4381
|
-
}, 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);
|
|
4382
4401
|
return {
|
|
4383
4402
|
users: l,
|
|
4384
4403
|
start: 0,
|
|
@@ -4387,15 +4406,15 @@ function ni(e) {
|
|
|
4387
4406
|
next: c
|
|
4388
4407
|
};
|
|
4389
4408
|
}
|
|
4390
|
-
let v = e.select().from(A).leftJoin(He,
|
|
4409
|
+
let v = e.select().from(A).leftJoin(He, $r()).where(g).$dynamic();
|
|
4391
4410
|
if (p?.sort_by) {
|
|
4392
|
-
let e =
|
|
4411
|
+
let e = Qr[p.sort_by];
|
|
4393
4412
|
if (e) {
|
|
4394
4413
|
let t = ht(e) ? gt(e) : e;
|
|
4395
4414
|
v = v.orderBy(p.sort_order === "desc" ? i(t) : n(t));
|
|
4396
4415
|
}
|
|
4397
4416
|
}
|
|
4398
|
-
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)));
|
|
4399
4418
|
if (!ee) return { users: b };
|
|
4400
4419
|
let [te] = ee;
|
|
4401
4420
|
return {
|
|
@@ -4413,7 +4432,7 @@ function ni(e) {
|
|
|
4413
4432
|
e.delete(A).where(t(a(A.tenant_id, n), l(A.user_id, c))),
|
|
4414
4433
|
e.delete(A).where(t(a(A.tenant_id, n), a(A.user_id, r))).returning()
|
|
4415
4434
|
], f = d.length - 1;
|
|
4416
|
-
if (s) for (let t of
|
|
4435
|
+
if (s) for (let t of Kr(e, n, i)) d.push(t);
|
|
4417
4436
|
let p = (await wt(e, d))[f];
|
|
4418
4437
|
return Array.isArray(p) && p.length > 0;
|
|
4419
4438
|
},
|
|
@@ -4425,7 +4444,7 @@ function ni(e) {
|
|
|
4425
4444
|
}
|
|
4426
4445
|
//#endregion
|
|
4427
4446
|
//#region src/adapters/userRoles.ts
|
|
4428
|
-
function
|
|
4447
|
+
function ii(e) {
|
|
4429
4448
|
return {
|
|
4430
4449
|
async create(t, n, r, i) {
|
|
4431
4450
|
try {
|
|
@@ -4447,7 +4466,7 @@ function ri(e) {
|
|
|
4447
4466
|
o !== void 0 && s.push(a(G.organization_id, o));
|
|
4448
4467
|
let c = await e.select({ role_id: G.role_id }).from(G).where(t(...s)).all();
|
|
4449
4468
|
return c.length === 0 ? [] : (await Promise.all(c.map(async (r) => {
|
|
4450
|
-
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();
|
|
4451
4470
|
if (!i) return null;
|
|
4452
4471
|
let { tenant_id: o, is_system: s, metadata: c, ...l } = i;
|
|
4453
4472
|
return D({
|
|
@@ -4488,7 +4507,7 @@ function ri(e) {
|
|
|
4488
4507
|
}
|
|
4489
4508
|
//#endregion
|
|
4490
4509
|
//#region src/adapters/userOrganizations.ts
|
|
4491
|
-
function
|
|
4510
|
+
function ai(e) {
|
|
4492
4511
|
return {
|
|
4493
4512
|
async create(t, n) {
|
|
4494
4513
|
let r = (/* @__PURE__ */ new Date()).toISOString(), i = {
|
|
@@ -4500,7 +4519,7 @@ function ii(e) {
|
|
|
4500
4519
|
updated_at: r
|
|
4501
4520
|
};
|
|
4502
4521
|
try {
|
|
4503
|
-
await e.insert(
|
|
4522
|
+
await e.insert(H).values(i);
|
|
4504
4523
|
} catch (e) {
|
|
4505
4524
|
throw e?.message?.includes("UNIQUE constraint") || e?.message?.includes("duplicate key") ? new Le(409, { message: "User organization already exists" }) : e;
|
|
4506
4525
|
}
|
|
@@ -4508,19 +4527,19 @@ function ii(e) {
|
|
|
4508
4527
|
return o;
|
|
4509
4528
|
},
|
|
4510
4529
|
async get(n, r) {
|
|
4511
|
-
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();
|
|
4512
4531
|
if (!i) return null;
|
|
4513
4532
|
let { tenant_id: o, ...s } = i;
|
|
4514
4533
|
return s;
|
|
4515
4534
|
},
|
|
4516
4535
|
async update(n, r, i) {
|
|
4517
4536
|
let o = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
|
|
4518
|
-
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;
|
|
4519
4538
|
},
|
|
4520
4539
|
async list(n, o) {
|
|
4521
|
-
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;
|
|
4522
4541
|
if (c) {
|
|
4523
|
-
let e = _t(
|
|
4542
|
+
let e = _t(H, c, ["user_id", "organization_id"]);
|
|
4524
4543
|
e && (u = t(l, e));
|
|
4525
4544
|
}
|
|
4526
4545
|
let d = (e) => {
|
|
@@ -4529,10 +4548,10 @@ function ii(e) {
|
|
|
4529
4548
|
};
|
|
4530
4549
|
if (kt(o)) {
|
|
4531
4550
|
let n = {
|
|
4532
|
-
sortColumn:
|
|
4533
|
-
idColumn:
|
|
4551
|
+
sortColumn: H.created_at,
|
|
4552
|
+
idColumn: H.id,
|
|
4534
4553
|
sortOrder: "desc"
|
|
4535
|
-
}, 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");
|
|
4536
4555
|
return {
|
|
4537
4556
|
userOrganizations: a,
|
|
4538
4557
|
start: 0,
|
|
@@ -4541,9 +4560,9 @@ function ii(e) {
|
|
|
4541
4560
|
next: s
|
|
4542
4561
|
};
|
|
4543
4562
|
}
|
|
4544
|
-
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);
|
|
4545
4564
|
if (!s) return { userOrganizations: h };
|
|
4546
|
-
let [g] = await e.select({ count: r() }).from(
|
|
4565
|
+
let [g] = await e.select({ count: r() }).from(H).where(u);
|
|
4547
4566
|
return {
|
|
4548
4567
|
userOrganizations: h,
|
|
4549
4568
|
start: m,
|
|
@@ -4552,8 +4571,8 @@ function ii(e) {
|
|
|
4552
4571
|
};
|
|
4553
4572
|
},
|
|
4554
4573
|
async listUserOrganizations(n, i, o) {
|
|
4555
|
-
let { page: s = 0, per_page: c = 50, include_totals: l = !1 } = o || {}, u = await e.select().from(
|
|
4556
|
-
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();
|
|
4557
4576
|
if (!i) return null;
|
|
4558
4577
|
let { tenant_id: o, branding: s, metadata: c, enabled_connections: l, token_quota: u, ...d } = i;
|
|
4559
4578
|
return D({
|
|
@@ -4565,7 +4584,7 @@ function ii(e) {
|
|
|
4565
4584
|
});
|
|
4566
4585
|
}))).filter(Boolean);
|
|
4567
4586
|
if (!l) return { organizations: d };
|
|
4568
|
-
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)));
|
|
4569
4588
|
return {
|
|
4570
4589
|
organizations: d,
|
|
4571
4590
|
start: s * c,
|
|
@@ -4574,25 +4593,25 @@ function ii(e) {
|
|
|
4574
4593
|
};
|
|
4575
4594
|
},
|
|
4576
4595
|
async remove(n, r) {
|
|
4577
|
-
return (await e.delete(
|
|
4596
|
+
return (await e.delete(H).where(t(a(H.tenant_id, n), a(H.id, r))).returning()).length > 0;
|
|
4578
4597
|
}
|
|
4579
4598
|
};
|
|
4580
4599
|
}
|
|
4581
4600
|
//#endregion
|
|
4582
4601
|
//#region src/adapters/stats.ts
|
|
4583
|
-
var
|
|
4584
|
-
function
|
|
4602
|
+
var oi = ["s"], si = ["pwd_leak"];
|
|
4603
|
+
function ci(e) {
|
|
4585
4604
|
return /^\d{8}$/.test(e) ? `${e.slice(0, 4)}-${e.slice(4, 6)}-${e.slice(6, 8)}` : e;
|
|
4586
4605
|
}
|
|
4587
|
-
function
|
|
4606
|
+
function li(e) {
|
|
4588
4607
|
return {
|
|
4589
4608
|
async getDaily(n, r) {
|
|
4590
|
-
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];
|
|
4591
4610
|
return (await e.select({
|
|
4592
4611
|
date: y`substr(${q.date}, 1, 10)`.as("date"),
|
|
4593
|
-
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"),
|
|
4594
4613
|
signups: y`SUM(CASE WHEN ${q.type} = 'ss' THEN 1 ELSE 0 END)`.as("signups"),
|
|
4595
|
-
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")
|
|
4596
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) => ({
|
|
4597
4616
|
date: e.date,
|
|
4598
4617
|
logins: Number(e.logins) || 0,
|
|
@@ -4603,14 +4622,14 @@ function ci(e) {
|
|
|
4603
4622
|
}));
|
|
4604
4623
|
},
|
|
4605
4624
|
async getActiveUsers(n) {
|
|
4606
|
-
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`, `)})`));
|
|
4607
4626
|
return Number(i?.count) || 0;
|
|
4608
4627
|
}
|
|
4609
4628
|
};
|
|
4610
4629
|
}
|
|
4611
4630
|
//#endregion
|
|
4612
4631
|
//#region src/adapters/analytics.ts
|
|
4613
|
-
var
|
|
4632
|
+
var ui = {
|
|
4614
4633
|
"active-users": ["s", "seacft"],
|
|
4615
4634
|
logins: [
|
|
4616
4635
|
"s",
|
|
@@ -4640,7 +4659,7 @@ var li = {
|
|
|
4640
4659
|
"fvr"
|
|
4641
4660
|
],
|
|
4642
4661
|
"codes-sent": ["cls", "cs"]
|
|
4643
|
-
},
|
|
4662
|
+
}, di = {
|
|
4644
4663
|
"active-users": {
|
|
4645
4664
|
alias: "active_users",
|
|
4646
4665
|
type: "UInt64",
|
|
@@ -4697,7 +4716,7 @@ var li = {
|
|
|
4697
4716
|
agg: "count"
|
|
4698
4717
|
}
|
|
4699
4718
|
};
|
|
4700
|
-
function
|
|
4719
|
+
function fi(e) {
|
|
4701
4720
|
switch (e) {
|
|
4702
4721
|
case "hour": return y`substr(${q.date}, 1, 13)`;
|
|
4703
4722
|
case "month": return y`substr(${q.date}, 1, 7)`;
|
|
@@ -4706,10 +4725,10 @@ function di(e) {
|
|
|
4706
4725
|
default: throw Error(`Unsupported interval '${e}' for SQL analytics adapter`);
|
|
4707
4726
|
}
|
|
4708
4727
|
}
|
|
4709
|
-
function
|
|
4728
|
+
function pi(e) {
|
|
4710
4729
|
return `"${e.replace(/"/g, "\"\"")}"`;
|
|
4711
4730
|
}
|
|
4712
|
-
function
|
|
4731
|
+
function mi(e) {
|
|
4713
4732
|
switch (e) {
|
|
4714
4733
|
case "connection": return q.connection;
|
|
4715
4734
|
case "client_id": return q.client_id;
|
|
@@ -4718,10 +4737,10 @@ function pi(e) {
|
|
|
4718
4737
|
case "time": throw Error("time dimension handled separately");
|
|
4719
4738
|
}
|
|
4720
4739
|
}
|
|
4721
|
-
function
|
|
4740
|
+
function hi(e) {
|
|
4722
4741
|
return {
|
|
4723
4742
|
async query(n, r, i) {
|
|
4724
|
-
let o = Date.now(), s =
|
|
4743
|
+
let o = Date.now(), s = ui[r], u = di[r], d = [
|
|
4725
4744
|
a(q.tenant_id, n),
|
|
4726
4745
|
c(q.date, i.from),
|
|
4727
4746
|
m(q.date, i.to),
|
|
@@ -4730,13 +4749,13 @@ function mi(e) {
|
|
|
4730
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));
|
|
4731
4750
|
let f = {}, p = [], h = [];
|
|
4732
4751
|
for (let e of i.group_by) if (e === "time") {
|
|
4733
|
-
let e =
|
|
4752
|
+
let e = fi(i.interval);
|
|
4734
4753
|
f.time = e, p.push(e), h.push({
|
|
4735
4754
|
name: "time",
|
|
4736
4755
|
type: i.interval === "hour" ? "DateTime" : "Date"
|
|
4737
4756
|
});
|
|
4738
4757
|
} else {
|
|
4739
|
-
let t =
|
|
4758
|
+
let t = mi(e);
|
|
4740
4759
|
f[e] = t, p.push(t), h.push({
|
|
4741
4760
|
name: e,
|
|
4742
4761
|
type: "String"
|
|
@@ -4752,9 +4771,9 @@ function mi(e) {
|
|
|
4752
4771
|
if (i.order_by) {
|
|
4753
4772
|
let e = i.order_by.startsWith("-"), t = e ? i.order_by.slice(1) : i.order_by;
|
|
4754
4773
|
if (!_.has(t)) throw Error(`Invalid order_by column '${t}' for analytics query`);
|
|
4755
|
-
let n =
|
|
4774
|
+
let n = pi(t);
|
|
4756
4775
|
g = g.orderBy(y.raw(`${n} ${e ? "DESC" : "ASC"}`));
|
|
4757
|
-
} 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`));
|
|
4758
4777
|
g = g.limit(i.limit).offset(i.offset);
|
|
4759
4778
|
let v = (await g.all()).map((e) => {
|
|
4760
4779
|
let t = {};
|
|
@@ -4803,10 +4822,10 @@ function mi(e) {
|
|
|
4803
4822
|
}
|
|
4804
4823
|
//#endregion
|
|
4805
4824
|
//#region src/adapters/cleanup.ts
|
|
4806
|
-
var
|
|
4807
|
-
function
|
|
4825
|
+
var gi = 10080 * 60 * 1e3;
|
|
4826
|
+
function _i(e) {
|
|
4808
4827
|
return async (n) => {
|
|
4809
|
-
let r = Date.now() -
|
|
4828
|
+
let r = Date.now() - gi;
|
|
4810
4829
|
try {
|
|
4811
4830
|
let i = [v(m(N.expires_at_ts, r), m(N.idle_expires_at_ts, r))];
|
|
4812
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));
|
|
@@ -4841,7 +4860,7 @@ var Q = w("tenant_operations", {
|
|
|
4841
4860
|
x("tenant_operations_tenant_id_created_at_idx").on(e.tenant_id, e.created_at),
|
|
4842
4861
|
x("tenant_operations_rollout_id_idx").on(e.rollout_id),
|
|
4843
4862
|
x("tenant_operations_status_idx").on(e.status)
|
|
4844
|
-
]),
|
|
4863
|
+
]), vi = w("tenant_operation_events", {
|
|
4845
4864
|
id: T("id", { length: 255 }).primaryKey(),
|
|
4846
4865
|
operation_id: T("operation_id", { length: 255 }).notNull(),
|
|
4847
4866
|
step: T("step", { length: 255 }).notNull(),
|
|
@@ -4872,7 +4891,7 @@ var Q = w("tenant_operations", {
|
|
|
4872
4891
|
name: "tenant_operation_rows_operation_id_constraint"
|
|
4873
4892
|
}).onDelete("cascade"),
|
|
4874
4893
|
x("tenant_operation_rows_operation_id_status_idx").on(e.operation_id, e.status)
|
|
4875
|
-
]),
|
|
4894
|
+
]), yi = w("rollouts", {
|
|
4876
4895
|
id: T("id", { length: 255 }).primaryKey(),
|
|
4877
4896
|
kind: T("kind", { length: 32 }).notNull(),
|
|
4878
4897
|
status: T("status", { length: 32 }).notNull(),
|
|
@@ -4888,7 +4907,7 @@ var Q = w("tenant_operations", {
|
|
|
4888
4907
|
});
|
|
4889
4908
|
//#endregion
|
|
4890
4909
|
//#region src/adapters/tenantOperations.ts
|
|
4891
|
-
function
|
|
4910
|
+
function bi(e) {
|
|
4892
4911
|
if (!e) return null;
|
|
4893
4912
|
try {
|
|
4894
4913
|
return JSON.parse(e);
|
|
@@ -4896,7 +4915,7 @@ function yi(e) {
|
|
|
4896
4915
|
return null;
|
|
4897
4916
|
}
|
|
4898
4917
|
}
|
|
4899
|
-
function
|
|
4918
|
+
function xi(e) {
|
|
4900
4919
|
return Pe.parse({
|
|
4901
4920
|
id: e.id,
|
|
4902
4921
|
tenant_id: e.tenant_id,
|
|
@@ -4910,8 +4929,8 @@ function bi(e) {
|
|
|
4910
4929
|
target_database_version: e.target_database_version,
|
|
4911
4930
|
error: e.error,
|
|
4912
4931
|
initiated_by: e.initiated_by,
|
|
4913
|
-
input:
|
|
4914
|
-
result:
|
|
4932
|
+
input: bi(e.input),
|
|
4933
|
+
result: bi(e.result),
|
|
4915
4934
|
claimed_by: e.claimed_by,
|
|
4916
4935
|
claim_expires_at: e.claim_expires_at,
|
|
4917
4936
|
created_at: e.created_at,
|
|
@@ -4919,7 +4938,7 @@ function bi(e) {
|
|
|
4919
4938
|
finished_at: e.finished_at
|
|
4920
4939
|
});
|
|
4921
4940
|
}
|
|
4922
|
-
function
|
|
4941
|
+
function Si(e) {
|
|
4923
4942
|
return {
|
|
4924
4943
|
async create(t) {
|
|
4925
4944
|
let n = je.parse(t), r = (/* @__PURE__ */ new Date()).toISOString(), i = {
|
|
@@ -4950,7 +4969,7 @@ function xi(e) {
|
|
|
4950
4969
|
},
|
|
4951
4970
|
async get(t) {
|
|
4952
4971
|
let n = await e.select().from(Q).where(a(Q.id, t)).limit(1);
|
|
4953
|
-
return n[0] ?
|
|
4972
|
+
return n[0] ? xi(n[0]) : null;
|
|
4954
4973
|
},
|
|
4955
4974
|
async list(n = {}) {
|
|
4956
4975
|
let r = n.page ?? 0, o = n.per_page ?? 50, s = [];
|
|
@@ -4961,7 +4980,7 @@ function xi(e) {
|
|
|
4961
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));
|
|
4962
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);
|
|
4963
4982
|
return {
|
|
4964
|
-
operations: c.map(
|
|
4983
|
+
operations: c.map(xi),
|
|
4965
4984
|
start: r * o,
|
|
4966
4985
|
limit: o,
|
|
4967
4986
|
length: c.length
|
|
@@ -4987,7 +5006,7 @@ function xi(e) {
|
|
|
4987
5006
|
},
|
|
4988
5007
|
async listResumable(r) {
|
|
4989
5008
|
let i = (/* @__PURE__ */ new Date()).toISOString();
|
|
4990
|
-
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);
|
|
4991
5010
|
},
|
|
4992
5011
|
async remove(t) {
|
|
4993
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);
|
|
@@ -4996,19 +5015,19 @@ function xi(e) {
|
|
|
4996
5015
|
}
|
|
4997
5016
|
//#endregion
|
|
4998
5017
|
//#region src/adapters/tenantOperationRows.ts
|
|
4999
|
-
var
|
|
5000
|
-
function
|
|
5018
|
+
var Ci = 50, wi = 50;
|
|
5019
|
+
function Ti(e) {
|
|
5001
5020
|
try {
|
|
5002
5021
|
return JSON.parse(e);
|
|
5003
5022
|
} catch {
|
|
5004
5023
|
return {};
|
|
5005
5024
|
}
|
|
5006
5025
|
}
|
|
5007
|
-
function
|
|
5026
|
+
function Ei(e) {
|
|
5008
5027
|
return Ne.parse({
|
|
5009
5028
|
operation_id: e.operation_id,
|
|
5010
5029
|
seq: e.seq,
|
|
5011
|
-
payload:
|
|
5030
|
+
payload: Ti(e.payload),
|
|
5012
5031
|
status: e.status,
|
|
5013
5032
|
error_code: e.error_code,
|
|
5014
5033
|
error_message: e.error_message,
|
|
@@ -5018,12 +5037,12 @@ function Ti(e) {
|
|
|
5018
5037
|
updated_at: e.updated_at
|
|
5019
5038
|
});
|
|
5020
5039
|
}
|
|
5021
|
-
function
|
|
5040
|
+
function Di(e, t) {
|
|
5022
5041
|
let n = [];
|
|
5023
5042
|
for (let r = 0; r < e.length; r += t) n.push(e.slice(r, r + t));
|
|
5024
5043
|
return n;
|
|
5025
5044
|
}
|
|
5026
|
-
function
|
|
5045
|
+
function Oi(e, n, r, i) {
|
|
5027
5046
|
return e.update($).set({
|
|
5028
5047
|
status: r.status,
|
|
5029
5048
|
error_code: r.error_code ?? null,
|
|
@@ -5033,7 +5052,7 @@ function Di(e, n, r, i) {
|
|
|
5033
5052
|
updated_at: i
|
|
5034
5053
|
}).where(t(a($.operation_id, n), a($.seq, r.seq), a($.status, "pending")));
|
|
5035
5054
|
}
|
|
5036
|
-
function
|
|
5055
|
+
function ki(e) {
|
|
5037
5056
|
return {
|
|
5038
5057
|
async createMany(t) {
|
|
5039
5058
|
if (t.length === 0) return 0;
|
|
@@ -5052,23 +5071,23 @@ function Oi(e) {
|
|
|
5052
5071
|
updated_at: n
|
|
5053
5072
|
};
|
|
5054
5073
|
});
|
|
5055
|
-
for (let t of
|
|
5074
|
+
for (let t of Di(r, Ci)) await e.insert($).values(t);
|
|
5056
5075
|
return r.length;
|
|
5057
5076
|
},
|
|
5058
5077
|
async claimPending(r, i) {
|
|
5059
|
-
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);
|
|
5060
5079
|
},
|
|
5061
5080
|
async recordOutcomes(n, r) {
|
|
5062
5081
|
if (r.length === 0) return 0;
|
|
5063
5082
|
let i = (/* @__PURE__ */ new Date()).toISOString(), o = r.map((e) => e.seq), s = /* @__PURE__ */ new Set();
|
|
5064
|
-
for (let r of
|
|
5083
|
+
for (let r of Di(o, wi)) {
|
|
5065
5084
|
let i = await e.select({ seq: $.seq }).from($).where(t(a($.operation_id, n), a($.status, "pending"), l($.seq, r)));
|
|
5066
5085
|
for (let e of i) s.add(e.seq);
|
|
5067
5086
|
}
|
|
5068
5087
|
let c = r.filter((e) => s.has(e.seq));
|
|
5069
5088
|
if (c.length === 0) return 0;
|
|
5070
|
-
for (let t of
|
|
5071
|
-
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));
|
|
5072
5091
|
r && await wt(e, [r, ...a]);
|
|
5073
5092
|
}
|
|
5074
5093
|
return c.length;
|
|
@@ -5104,7 +5123,7 @@ function Oi(e) {
|
|
|
5104
5123
|
}
|
|
5105
5124
|
let u = await e.select().from($).where(t(...c)).orderBy(n($.seq)).offset(o * s).limit(s);
|
|
5106
5125
|
return {
|
|
5107
|
-
rows: u.map(
|
|
5126
|
+
rows: u.map(Ei),
|
|
5108
5127
|
start: o * s,
|
|
5109
5128
|
limit: s,
|
|
5110
5129
|
length: u.length
|
|
@@ -5118,27 +5137,27 @@ function Oi(e) {
|
|
|
5118
5137
|
}
|
|
5119
5138
|
//#endregion
|
|
5120
5139
|
//#region src/helpers/monotonic-id.ts
|
|
5121
|
-
var
|
|
5122
|
-
function
|
|
5140
|
+
var Ai = "0123456789ABCDEFGHJKMNPQRSTVWXYZ", ji = 32, Mi = 10, Ni = 4, Pi = 10;
|
|
5141
|
+
function Fi(e, t) {
|
|
5123
5142
|
let n = "";
|
|
5124
|
-
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);
|
|
5125
5144
|
return n;
|
|
5126
5145
|
}
|
|
5127
|
-
function
|
|
5128
|
-
let e = new Uint8Array(
|
|
5146
|
+
function Ii() {
|
|
5147
|
+
let e = new Uint8Array(Pi);
|
|
5129
5148
|
crypto.getRandomValues(e);
|
|
5130
5149
|
let t = "";
|
|
5131
|
-
for (let n = 0; n <
|
|
5150
|
+
for (let n = 0; n < Pi; n++) t += Ai.charAt(e[n] % ji);
|
|
5132
5151
|
return t;
|
|
5133
5152
|
}
|
|
5134
|
-
var
|
|
5135
|
-
function
|
|
5153
|
+
var Li = 0, Ri = 0;
|
|
5154
|
+
function zi() {
|
|
5136
5155
|
let e = Date.now();
|
|
5137
|
-
return e ===
|
|
5156
|
+
return e === Li ? Ri++ : (Li = e, Ri = 0), Fi(e, Mi) + Fi(Ri, Ni) + Ii();
|
|
5138
5157
|
}
|
|
5139
5158
|
//#endregion
|
|
5140
5159
|
//#region src/adapters/tenantOperationEvents.ts
|
|
5141
|
-
function
|
|
5160
|
+
function Bi(e) {
|
|
5142
5161
|
if (!e) return null;
|
|
5143
5162
|
try {
|
|
5144
5163
|
let t = JSON.parse(e);
|
|
@@ -5146,22 +5165,22 @@ function zi(e) {
|
|
|
5146
5165
|
} catch {}
|
|
5147
5166
|
return null;
|
|
5148
5167
|
}
|
|
5149
|
-
function
|
|
5168
|
+
function Vi(e) {
|
|
5150
5169
|
return Ae.parse({
|
|
5151
5170
|
id: e.id,
|
|
5152
5171
|
operation_id: e.operation_id,
|
|
5153
5172
|
step: e.step,
|
|
5154
5173
|
outcome: e.outcome,
|
|
5155
|
-
detail:
|
|
5174
|
+
detail: Bi(e.detail),
|
|
5156
5175
|
attempt: e.attempt,
|
|
5157
5176
|
created_at: e.created_at
|
|
5158
5177
|
});
|
|
5159
5178
|
}
|
|
5160
|
-
function
|
|
5179
|
+
function Hi(e) {
|
|
5161
5180
|
return {
|
|
5162
5181
|
async create(t) {
|
|
5163
5182
|
let n = ke.parse(t), r = {
|
|
5164
|
-
id: `evt_${
|
|
5183
|
+
id: `evt_${zi()}`,
|
|
5165
5184
|
operation_id: n.operation_id,
|
|
5166
5185
|
step: n.step,
|
|
5167
5186
|
outcome: n.outcome,
|
|
@@ -5169,7 +5188,7 @@ function Vi(e) {
|
|
|
5169
5188
|
attempt: n.attempt,
|
|
5170
5189
|
created_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
5171
5190
|
};
|
|
5172
|
-
return await e.insert(
|
|
5191
|
+
return await e.insert(vi).values(r), Ae.parse({
|
|
5173
5192
|
id: r.id,
|
|
5174
5193
|
operation_id: r.operation_id,
|
|
5175
5194
|
step: r.step,
|
|
@@ -5180,9 +5199,9 @@ function Vi(e) {
|
|
|
5180
5199
|
});
|
|
5181
5200
|
},
|
|
5182
5201
|
async listByOperation(t, r = {}) {
|
|
5183
|
-
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);
|
|
5184
5203
|
return {
|
|
5185
|
-
events: s.map(
|
|
5204
|
+
events: s.map(Vi),
|
|
5186
5205
|
start: i * o,
|
|
5187
5206
|
limit: o,
|
|
5188
5207
|
length: s.length
|
|
@@ -5192,7 +5211,7 @@ function Vi(e) {
|
|
|
5192
5211
|
}
|
|
5193
5212
|
//#endregion
|
|
5194
5213
|
//#region src/adapters/rollouts.ts
|
|
5195
|
-
function
|
|
5214
|
+
function Ui(e) {
|
|
5196
5215
|
if (!e) return null;
|
|
5197
5216
|
try {
|
|
5198
5217
|
return JSON.parse(e);
|
|
@@ -5200,7 +5219,7 @@ function Hi(e) {
|
|
|
5200
5219
|
return null;
|
|
5201
5220
|
}
|
|
5202
5221
|
}
|
|
5203
|
-
function
|
|
5222
|
+
function Wi(e) {
|
|
5204
5223
|
return we.parse({
|
|
5205
5224
|
id: e.id,
|
|
5206
5225
|
kind: e.kind,
|
|
@@ -5208,15 +5227,15 @@ function Ui(e) {
|
|
|
5208
5227
|
target_worker_version: e.target_worker_version,
|
|
5209
5228
|
target_database_version: e.target_database_version,
|
|
5210
5229
|
wave_size: e.wave_size,
|
|
5211
|
-
canary_tenant_ids:
|
|
5212
|
-
filter:
|
|
5230
|
+
canary_tenant_ids: Ui(e.canary_tenant_ids),
|
|
5231
|
+
filter: Ui(e.filter),
|
|
5213
5232
|
initiated_by: e.initiated_by,
|
|
5214
5233
|
created_at: e.created_at,
|
|
5215
5234
|
updated_at: e.updated_at,
|
|
5216
5235
|
finished_at: e.finished_at
|
|
5217
5236
|
});
|
|
5218
5237
|
}
|
|
5219
|
-
function
|
|
5238
|
+
function Gi(e) {
|
|
5220
5239
|
return {
|
|
5221
5240
|
async create(t) {
|
|
5222
5241
|
let n = Ce.parse(t), r = (/* @__PURE__ */ new Date()).toISOString(), i = {
|
|
@@ -5233,37 +5252,37 @@ function Wi(e) {
|
|
|
5233
5252
|
updated_at: r,
|
|
5234
5253
|
finished_at: null
|
|
5235
5254
|
};
|
|
5236
|
-
await e.insert(
|
|
5255
|
+
await e.insert(yi).values(i);
|
|
5237
5256
|
let a = await this.get(i.id);
|
|
5238
5257
|
if (!a) throw Error(`Failed to create rollout ${i.id}`);
|
|
5239
5258
|
return a;
|
|
5240
5259
|
},
|
|
5241
5260
|
async get(t) {
|
|
5242
|
-
let n = await e.select().from(
|
|
5243
|
-
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;
|
|
5244
5263
|
},
|
|
5245
5264
|
async list(t = {}) {
|
|
5246
|
-
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);
|
|
5247
5266
|
return {
|
|
5248
|
-
rollouts: a.map(
|
|
5267
|
+
rollouts: a.map(Wi),
|
|
5249
5268
|
start: n * r,
|
|
5250
5269
|
limit: r,
|
|
5251
5270
|
length: a.length
|
|
5252
5271
|
};
|
|
5253
5272
|
},
|
|
5254
5273
|
async update(t, n) {
|
|
5255
|
-
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;
|
|
5256
5275
|
let r = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
|
|
5257
|
-
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;
|
|
5258
5277
|
},
|
|
5259
5278
|
async remove(t) {
|
|
5260
|
-
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);
|
|
5261
5280
|
}
|
|
5262
5281
|
};
|
|
5263
5282
|
}
|
|
5264
5283
|
//#endregion
|
|
5265
5284
|
//#region src/adapters/index.ts
|
|
5266
|
-
function
|
|
5285
|
+
function Ki(e, t = { useTransactions: !0 }) {
|
|
5267
5286
|
let n = {
|
|
5268
5287
|
actions: bt(e),
|
|
5269
5288
|
actionExecutions: St(e),
|
|
@@ -5299,27 +5318,27 @@ function Gi(e, t = { useTransactions: !0 }) {
|
|
|
5299
5318
|
refreshTokens: hr(e),
|
|
5300
5319
|
resourceServers: xr(e),
|
|
5301
5320
|
rolePermissions: Sr(e),
|
|
5302
|
-
userPermissions:
|
|
5303
|
-
roles:
|
|
5304
|
-
sessions:
|
|
5305
|
-
sessionCleanup:
|
|
5306
|
-
tenants:
|
|
5321
|
+
userPermissions: wr(e),
|
|
5322
|
+
roles: Er(e),
|
|
5323
|
+
sessions: jr(e),
|
|
5324
|
+
sessionCleanup: _i(e),
|
|
5325
|
+
tenants: Ir(e),
|
|
5307
5326
|
tokenExchangeProfiles: ir(e),
|
|
5308
5327
|
...t.controlPlane ? {
|
|
5309
|
-
tenantOperations:
|
|
5310
|
-
tenantOperationEvents:
|
|
5311
|
-
tenantOperationRows:
|
|
5312
|
-
rollouts:
|
|
5328
|
+
tenantOperations: Si(e),
|
|
5329
|
+
tenantOperationEvents: Hi(e),
|
|
5330
|
+
tenantOperationRows: ki(e),
|
|
5331
|
+
rollouts: Gi(e)
|
|
5313
5332
|
} : {},
|
|
5314
|
-
themes:
|
|
5315
|
-
universalLoginTemplates:
|
|
5316
|
-
users:
|
|
5317
|
-
userActivity:
|
|
5318
|
-
userRoles:
|
|
5319
|
-
userOrganizations:
|
|
5320
|
-
stats:
|
|
5321
|
-
analytics:
|
|
5322
|
-
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),
|
|
5323
5342
|
async transaction(r) {
|
|
5324
5343
|
if (t.useTransactions === !1 || Ct(e)) return r(n);
|
|
5325
5344
|
await e.run(y`BEGIN`);
|
|
@@ -5335,7 +5354,7 @@ function Gi(e, t = { useTransactions: !0 }) {
|
|
|
5335
5354
|
}
|
|
5336
5355
|
//#endregion
|
|
5337
5356
|
//#region src/adapters/resolveHost.ts
|
|
5338
|
-
function
|
|
5357
|
+
function qi(e) {
|
|
5339
5358
|
if (!e) return { path: "/*" };
|
|
5340
5359
|
try {
|
|
5341
5360
|
let t = JSON.parse(e), n = xe.safeParse(t);
|
|
@@ -5343,7 +5362,7 @@ function Ki(e) {
|
|
|
5343
5362
|
} catch {}
|
|
5344
5363
|
return { path: "/*" };
|
|
5345
5364
|
}
|
|
5346
|
-
function
|
|
5365
|
+
function Ji(e) {
|
|
5347
5366
|
if (!e) return [];
|
|
5348
5367
|
try {
|
|
5349
5368
|
let t = JSON.parse(e);
|
|
@@ -5358,20 +5377,20 @@ function qi(e) {
|
|
|
5358
5377
|
return [];
|
|
5359
5378
|
}
|
|
5360
5379
|
}
|
|
5361
|
-
async function
|
|
5380
|
+
async function Yi(e, r) {
|
|
5362
5381
|
let i = r.toLowerCase(), o = (await e.select({
|
|
5363
|
-
custom_domain_id:
|
|
5364
|
-
tenant_id:
|
|
5365
|
-
domain:
|
|
5366
|
-
}).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];
|
|
5367
5386
|
if (!o) return null;
|
|
5368
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) => ({
|
|
5369
5388
|
id: e.id,
|
|
5370
5389
|
tenant_id: e.tenant_id,
|
|
5371
5390
|
custom_domain_id: e.custom_domain_id,
|
|
5372
5391
|
priority: e.priority,
|
|
5373
|
-
match:
|
|
5374
|
-
handlers:
|
|
5392
|
+
match: qi(e.match),
|
|
5393
|
+
handlers: Ji(e.handlers),
|
|
5375
5394
|
created_at: e.created_at,
|
|
5376
5395
|
updated_at: e.updated_at
|
|
5377
5396
|
}));
|
|
@@ -5384,11 +5403,11 @@ async function Ji(e, r) {
|
|
|
5384
5403
|
}
|
|
5385
5404
|
//#endregion
|
|
5386
5405
|
//#region src/adapters/proxyData.ts
|
|
5387
|
-
function
|
|
5406
|
+
function Xi(e) {
|
|
5388
5407
|
return {
|
|
5389
5408
|
proxyRoutes: er(e),
|
|
5390
|
-
resolveHost: (t) =>
|
|
5409
|
+
resolveHost: (t) => Yi(e, t)
|
|
5391
5410
|
};
|
|
5392
5411
|
}
|
|
5393
5412
|
//#endregion
|
|
5394
|
-
export {
|
|
5413
|
+
export { Xi as createProxyDataAdapter, er as createProxyRoutesAdapter, Ki as default, ft as sqlite };
|