@sixb/sqlite 0.1.13 → 0.1.14
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/auth-storage/auth-storage.d.ts +2 -1
- package/dist/auth-storage/auth-storage.d.ts.map +1 -1
- package/dist/auth-storage/rows.d.ts +1 -1
- package/dist/auth-storage/rows.d.ts.map +1 -1
- package/dist/index.js +55 -47
- package/dist/index.js.map +5 -5
- package/dist/migrations.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/auth-storage/auth-storage.ts +44 -79
- package/src/auth-storage/rows.ts +1 -1
- package/src/migrations/050-directory-group-memberships.sql +21 -0
- package/src/migrations.ts +4 -0
|
@@ -41,7 +41,8 @@ export declare class SqliteAuthStorage implements AuthStorage {
|
|
|
41
41
|
private assertOidcAttemptUsable;
|
|
42
42
|
private insertUser;
|
|
43
43
|
private acceptInvitationAndApplyGroups;
|
|
44
|
-
private
|
|
44
|
+
private applyGroups;
|
|
45
|
+
private syncDirectoryGroups;
|
|
45
46
|
private createSignInSession;
|
|
46
47
|
private consumeOidcAttempt;
|
|
47
48
|
private upsertIdentity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-storage.d.ts","sourceRoot":"","sources":["../../src/auth-storage/auth-storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,gCAAgC,EAChC,iCAAiC,EACjC,4BAA4B,EAC5B,uBAAuB,EACvB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"auth-storage.d.ts","sourceRoot":"","sources":["../../src/auth-storage/auth-storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,gCAAgC,EAChC,iCAAiC,EACjC,4BAA4B,EAC5B,uBAAuB,EACvB,oBAAoB,EAMpB,iCAAiC,EAEjC,UAAU,EACX,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAEL,kCAAkC,EACnC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,uCAAuC,EAAE,MAAM,iBAAiB,CAAA;AAGzE,OAAO,EAAE,4CAA4C,EAAE,MAAM,qCAAqC,CAAA;AAClG,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAoBnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAM7C,MAAM,WAAW,wBAAwB;IACvC,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,qBAAqB,CAAA;CACnC;AAED,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAU;IAE7B,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAA;IAChD,QAAQ,CAAC,eAAe,EAAE,6BAA6B,CAAA;IACvD,QAAQ,CAAC,8BAA8B,EAAE,4CAA4C,CAAA;IACrF,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,0BAA0B,CAAA;IACjD,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAA;IAC/C,QAAQ,CAAC,gBAAgB,EAAE,8BAA8B,CAAA;IACzD,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAA;IAC7C,QAAQ,CAAC,yBAAyB,EAAE,uCAAuC,CAAA;IAC3E,QAAQ,CAAC,oBAAoB,EAAE,kCAAkC,CAAA;gBAErD,OAAO,GAAE,wBAA6B;IAqB5C,2BAA2B,CAC/B,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,iCAAiC,CAAC;IA6BvC,uBAAuB,CAC3B,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAkI1B,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgKjF,4BAA4B,CAChC,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,UAAU,CAAC;IAuCtB,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,UAAU;IAqDlB,OAAO,CAAC,8BAA8B;IAkDtC,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,cAAc;CAgDvB"}
|
|
@@ -35,7 +35,7 @@ export interface SqliteAuthServiceAccountGroupMembershipRow {
|
|
|
35
35
|
readonly project_id: string;
|
|
36
36
|
readonly service_account_id: string;
|
|
37
37
|
readonly group_id: string;
|
|
38
|
-
readonly source:
|
|
38
|
+
readonly source: ServiceAccountGroupMembershipRecord["source"];
|
|
39
39
|
readonly created_at: string;
|
|
40
40
|
}
|
|
41
41
|
export interface SqliteAuthSessionRow {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../src/auth-storage/rows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EACV,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,8BAA8B,EAC9B,mCAAmC,EACnC,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,UAAU,EACX,MAAM,oBAAoB,CAAA;AAE3B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;IACrC,QAAQ,CAAC,yBAAyB,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAC5D,QAAQ,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/C,QAAQ,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../src/auth-storage/rows.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4333,6 +4333,30 @@ ALTER TABLE auth_device_authorizations DROP COLUMN token_name;
|
|
|
4333
4333
|
ALTER TABLE auth_device_authorizations DROP COLUMN token_expires_at;
|
|
4334
4334
|
`;
|
|
4335
4335
|
|
|
4336
|
+
// src/migrations/050-directory-group-memberships.sql
|
|
4337
|
+
var _050_directory_group_memberships_default = `-- A membership the identity provider owns is recorded with source 'directory' and synced to the
|
|
4338
|
+
-- provider's groups on every sign-in. Service accounts never sign in, so their table is unchanged.
|
|
4339
|
+
-- SQLite cannot change a CHECK constraint in place, so the table is rebuilt.
|
|
4340
|
+
CREATE TABLE auth_group_memberships_next (
|
|
4341
|
+
project_id TEXT NOT NULL,
|
|
4342
|
+
user_id TEXT NOT NULL,
|
|
4343
|
+
group_id TEXT NOT NULL,
|
|
4344
|
+
source TEXT NOT NULL CHECK (source IN ('invitation', 'manual', 'agent', 'directory')),
|
|
4345
|
+
created_at TEXT NOT NULL,
|
|
4346
|
+
PRIMARY KEY (project_id, user_id, group_id)
|
|
4347
|
+
);
|
|
4348
|
+
|
|
4349
|
+
INSERT INTO auth_group_memberships_next (project_id, user_id, group_id, source, created_at)
|
|
4350
|
+
SELECT project_id, user_id, group_id, source, created_at
|
|
4351
|
+
FROM auth_group_memberships;
|
|
4352
|
+
|
|
4353
|
+
DROP TABLE auth_group_memberships;
|
|
4354
|
+
ALTER TABLE auth_group_memberships_next RENAME TO auth_group_memberships;
|
|
4355
|
+
|
|
4356
|
+
CREATE INDEX idx_auth_group_memberships_group
|
|
4357
|
+
ON auth_group_memberships(project_id, group_id);
|
|
4358
|
+
`;
|
|
4359
|
+
|
|
4336
4360
|
// src/migrations/037-execution-requester-groups.sql
|
|
4337
4361
|
var _037_execution_requester_groups_default = `ALTER TABLE executions ADD COLUMN requester_group_ids TEXT NOT NULL DEFAULT '[]';
|
|
4338
4362
|
|
|
@@ -4536,7 +4560,8 @@ var sqliteStorageMigrations = defineMigrations({
|
|
|
4536
4560
|
sqliteSql("046-workflow-intervention-principals", _046_workflow_intervention_principals_default),
|
|
4537
4561
|
sqliteSql("047-ontology-commit-attribution", _047_ontology_commit_attribution_default),
|
|
4538
4562
|
sqliteSql("048-file-upload-sessions", _048_file_upload_sessions_default),
|
|
4539
|
-
sqliteSql("049-native-sessions", _049_native_sessions_default)
|
|
4563
|
+
sqliteSql("049-native-sessions", _049_native_sessions_default),
|
|
4564
|
+
sqliteSql("050-directory-group-memberships", _050_directory_group_memberships_default)
|
|
4540
4565
|
]
|
|
4541
4566
|
});
|
|
4542
4567
|
function sqliteStoragePath(basePath) {
|
|
@@ -9135,17 +9160,6 @@ class SqliteAuthStorage {
|
|
|
9135
9160
|
error: new AuthStorageError11("user_creation_not_allowed", `[Sixb] Magic link '${input.magicLinkId}' cannot create a user for project '${projectId}'.`)
|
|
9136
9161
|
};
|
|
9137
9162
|
}
|
|
9138
|
-
if (shouldCreateUser && !activeInvitation && input.allowUserCreationWithoutInvitation && input.requireNoActiveUsersForUserCreation && hasActiveUsers(this.db, projectId)) {
|
|
9139
|
-
consumeMagicLink(this.db, {
|
|
9140
|
-
projectId,
|
|
9141
|
-
id: input.magicLinkId,
|
|
9142
|
-
tokenHash: input.tokenHash,
|
|
9143
|
-
consumedAt: completedAt
|
|
9144
|
-
});
|
|
9145
|
-
return {
|
|
9146
|
-
error: new AuthStorageError11("user_creation_not_allowed", `[Sixb] Magic link '${input.magicLinkId}' cannot create a user for project '${projectId}'.`)
|
|
9147
|
-
};
|
|
9148
|
-
}
|
|
9149
9163
|
validateCompleteSessionInput(this.db, projectId, input.session);
|
|
9150
9164
|
assertSignInSessionAudience(projectId, input.session.audience, magicLink.audience);
|
|
9151
9165
|
let newUserId;
|
|
@@ -9175,8 +9189,9 @@ class SqliteAuthStorage {
|
|
|
9175
9189
|
projectId,
|
|
9176
9190
|
user
|
|
9177
9191
|
});
|
|
9178
|
-
const groupMemberships = this.
|
|
9192
|
+
const groupMemberships = this.applyGroups({
|
|
9179
9193
|
completedAt,
|
|
9194
|
+
source: "manual",
|
|
9180
9195
|
existing: invitation.groupMemberships,
|
|
9181
9196
|
groupIds: manualGroupIds,
|
|
9182
9197
|
projectId,
|
|
@@ -9230,36 +9245,18 @@ class SqliteAuthStorage {
|
|
|
9230
9245
|
error: new AuthStorageError11("missing_user", `[Sixb] User '${identity.user_id}' not found for linked OIDC identity.`)
|
|
9231
9246
|
};
|
|
9232
9247
|
}
|
|
9233
|
-
if (!identity && userRow && (!input.autoLinkByVerifiedEmail || !input.emailVerified)) {
|
|
9234
|
-
this.consumeOidcAttempt(input, completedAt, projectId);
|
|
9235
|
-
return {
|
|
9236
|
-
error: new AuthStorageError11("email_link_not_allowed", `[Sixb] OIDC identity cannot auto-link to user '${userRow.id}' for project '${projectId}'.`)
|
|
9237
|
-
};
|
|
9238
|
-
}
|
|
9239
9248
|
if (userRow?.status === "suspended") {
|
|
9240
9249
|
this.consumeOidcAttempt(input, completedAt, projectId);
|
|
9241
9250
|
return {
|
|
9242
9251
|
error: new AuthStorageError11("suspended_user", `[Sixb] User '${userRow.id}' is suspended for project '${projectId}'.`)
|
|
9243
9252
|
};
|
|
9244
9253
|
}
|
|
9245
|
-
if (shouldCreateUser && !input.emailVerified) {
|
|
9246
|
-
this.consumeOidcAttempt(input, completedAt, projectId);
|
|
9247
|
-
return {
|
|
9248
|
-
error: new AuthStorageError11("user_creation_not_allowed", `[Sixb] OIDC authorization attempt '${input.oidcAuthorizationAttemptId}' cannot create a user for project '${projectId}'.`)
|
|
9249
|
-
};
|
|
9250
|
-
}
|
|
9251
9254
|
if (shouldCreateUser && !activeInvitation && !input.allowUserCreationWithoutInvitation) {
|
|
9252
9255
|
this.consumeOidcAttempt(input, completedAt, projectId);
|
|
9253
9256
|
return {
|
|
9254
9257
|
error: new AuthStorageError11("user_creation_not_allowed", `[Sixb] OIDC authorization attempt '${input.oidcAuthorizationAttemptId}' cannot create a user for project '${projectId}'.`)
|
|
9255
9258
|
};
|
|
9256
9259
|
}
|
|
9257
|
-
if (shouldCreateUser && !activeInvitation && input.allowUserCreationWithoutInvitation && input.requireNoActiveUsersForUserCreation && hasActiveUsers(this.db, projectId)) {
|
|
9258
|
-
this.consumeOidcAttempt(input, completedAt, projectId);
|
|
9259
|
-
return {
|
|
9260
|
-
error: new AuthStorageError11("user_creation_not_allowed", `[Sixb] OIDC authorization attempt '${input.oidcAuthorizationAttemptId}' cannot create a user for project '${projectId}'.`)
|
|
9261
|
-
};
|
|
9262
|
-
}
|
|
9263
9260
|
validateCompleteSessionInput(this.db, projectId, input.session);
|
|
9264
9261
|
assertSignInSessionAudience(projectId, input.session.audience, attempt.audience);
|
|
9265
9262
|
let newUserId;
|
|
@@ -9297,10 +9294,17 @@ class SqliteAuthStorage {
|
|
|
9297
9294
|
projectId,
|
|
9298
9295
|
user
|
|
9299
9296
|
});
|
|
9300
|
-
const groupMemberships = this.
|
|
9297
|
+
const groupMemberships = this.syncDirectoryGroups({
|
|
9301
9298
|
completedAt,
|
|
9302
|
-
existing:
|
|
9303
|
-
|
|
9299
|
+
existing: this.applyGroups({
|
|
9300
|
+
completedAt,
|
|
9301
|
+
source: "manual",
|
|
9302
|
+
existing: invitation.groupMemberships,
|
|
9303
|
+
groupIds: manualGroupIds,
|
|
9304
|
+
projectId,
|
|
9305
|
+
userId: user.id
|
|
9306
|
+
}),
|
|
9307
|
+
groupIds: input.directoryGroupIds,
|
|
9304
9308
|
projectId,
|
|
9305
9309
|
userId: user.id
|
|
9306
9310
|
});
|
|
@@ -9440,19 +9444,33 @@ class SqliteAuthStorage {
|
|
|
9440
9444
|
}));
|
|
9441
9445
|
return { invitation, groupMemberships };
|
|
9442
9446
|
}
|
|
9443
|
-
|
|
9447
|
+
applyGroups(input) {
|
|
9444
9448
|
const groupMemberships = [...input.existing];
|
|
9445
9449
|
for (const groupId of input.groupIds) {
|
|
9446
9450
|
groupMemberships.push(upsertGroupMembership(this.db, {
|
|
9447
9451
|
projectId: input.projectId,
|
|
9448
9452
|
userId: input.userId,
|
|
9449
9453
|
groupId,
|
|
9450
|
-
source:
|
|
9454
|
+
source: input.source,
|
|
9451
9455
|
createdAt: input.completedAt
|
|
9452
9456
|
}));
|
|
9453
9457
|
}
|
|
9454
9458
|
return groupMemberships;
|
|
9455
9459
|
}
|
|
9460
|
+
syncDirectoryGroups(input) {
|
|
9461
|
+
if (!input.groupIds) {
|
|
9462
|
+
return input.existing;
|
|
9463
|
+
}
|
|
9464
|
+
const groupIds = normalizeGroupIds(input.groupIds);
|
|
9465
|
+
this.db.query(`
|
|
9466
|
+
DELETE FROM auth_group_memberships
|
|
9467
|
+
WHERE project_id = ?
|
|
9468
|
+
AND user_id = ?
|
|
9469
|
+
AND source = 'directory'
|
|
9470
|
+
AND group_id NOT IN (${groupIds.map(() => "?").join(", ")})
|
|
9471
|
+
`).run(input.projectId, input.userId, ...groupIds);
|
|
9472
|
+
return this.applyGroups({ ...input, groupIds, source: "directory" });
|
|
9473
|
+
}
|
|
9456
9474
|
createSignInSession(input) {
|
|
9457
9475
|
return createSession(this.db, {
|
|
9458
9476
|
id: input.session.id,
|
|
@@ -9504,16 +9522,6 @@ class SqliteAuthStorage {
|
|
|
9504
9522
|
});
|
|
9505
9523
|
}
|
|
9506
9524
|
}
|
|
9507
|
-
function hasActiveUsers(db, projectId) {
|
|
9508
|
-
const row = db.query(`
|
|
9509
|
-
SELECT 1 AS active
|
|
9510
|
-
FROM auth_users
|
|
9511
|
-
WHERE project_id = ?
|
|
9512
|
-
AND status = 'active'
|
|
9513
|
-
LIMIT 1
|
|
9514
|
-
`).get(projectId);
|
|
9515
|
-
return row !== null;
|
|
9516
|
-
}
|
|
9517
9525
|
function assertSignInSessionAudience(projectId, sessionAudience, storedAudience) {
|
|
9518
9526
|
if (sessionAudience === storedAudience) {
|
|
9519
9527
|
return;
|
|
@@ -17937,4 +17945,4 @@ export {
|
|
|
17937
17945
|
migrateSqliteStorage
|
|
17938
17946
|
};
|
|
17939
17947
|
|
|
17940
|
-
//# debugId=
|
|
17948
|
+
//# debugId=9F25188860B63C3464756E2164756E21
|