najm-auth 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +742 -656
- package/dist/{NajmAuthClient-D08--i69.d.ts → NajmAuthClient-B9dGk9MH.d.ts} +12 -1
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +49 -0
- package/dist/client/react/index.d.ts +41 -2
- package/dist/client/react/index.js +129 -5
- package/dist/client/server/index.d.ts +1 -1
- package/dist/client/server/index.js +49 -0
- package/dist/index.d.ts +98 -7
- package/dist/index.js +1138 -323
- package/dist/schema/pg.d.ts +222 -1
- package/dist/schema/pg.js +13 -1
- package/dist/schema/sqlite.d.ts +246 -1
- package/dist/schema/sqlite.js +12 -0
- package/package.json +13 -10
package/dist/schema/pg.d.ts
CHANGED
|
@@ -369,6 +369,116 @@ declare const usersTable: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
369
369
|
};
|
|
370
370
|
dialect: "pg";
|
|
371
371
|
}>;
|
|
372
|
+
/** External identity-provider accounts linked to Najm users. */
|
|
373
|
+
declare const oauthAccountsTable: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
374
|
+
name: "oauth_accounts";
|
|
375
|
+
schema: undefined;
|
|
376
|
+
columns: {
|
|
377
|
+
userId: drizzle_orm_pg_core.PgColumn<{
|
|
378
|
+
name: "user_id";
|
|
379
|
+
tableName: "oauth_accounts";
|
|
380
|
+
dataType: "string";
|
|
381
|
+
columnType: "PgText";
|
|
382
|
+
data: string;
|
|
383
|
+
driverParam: string;
|
|
384
|
+
notNull: true;
|
|
385
|
+
hasDefault: false;
|
|
386
|
+
isPrimaryKey: false;
|
|
387
|
+
isAutoincrement: false;
|
|
388
|
+
hasRuntimeDefault: false;
|
|
389
|
+
enumValues: [string, ...string[]];
|
|
390
|
+
baseColumn: never;
|
|
391
|
+
identity: undefined;
|
|
392
|
+
generated: undefined;
|
|
393
|
+
}, {}, {}>;
|
|
394
|
+
provider: drizzle_orm_pg_core.PgColumn<{
|
|
395
|
+
name: "provider";
|
|
396
|
+
tableName: "oauth_accounts";
|
|
397
|
+
dataType: "string";
|
|
398
|
+
columnType: "PgText";
|
|
399
|
+
data: string;
|
|
400
|
+
driverParam: string;
|
|
401
|
+
notNull: true;
|
|
402
|
+
hasDefault: false;
|
|
403
|
+
isPrimaryKey: false;
|
|
404
|
+
isAutoincrement: false;
|
|
405
|
+
hasRuntimeDefault: false;
|
|
406
|
+
enumValues: [string, ...string[]];
|
|
407
|
+
baseColumn: never;
|
|
408
|
+
identity: undefined;
|
|
409
|
+
generated: undefined;
|
|
410
|
+
}, {}, {}>;
|
|
411
|
+
providerAccountId: drizzle_orm_pg_core.PgColumn<{
|
|
412
|
+
name: "provider_account_id";
|
|
413
|
+
tableName: "oauth_accounts";
|
|
414
|
+
dataType: "string";
|
|
415
|
+
columnType: "PgText";
|
|
416
|
+
data: string;
|
|
417
|
+
driverParam: string;
|
|
418
|
+
notNull: true;
|
|
419
|
+
hasDefault: false;
|
|
420
|
+
isPrimaryKey: false;
|
|
421
|
+
isAutoincrement: false;
|
|
422
|
+
hasRuntimeDefault: false;
|
|
423
|
+
enumValues: [string, ...string[]];
|
|
424
|
+
baseColumn: never;
|
|
425
|
+
identity: undefined;
|
|
426
|
+
generated: undefined;
|
|
427
|
+
}, {}, {}>;
|
|
428
|
+
id: drizzle_orm_pg_core.PgColumn<{
|
|
429
|
+
name: "id";
|
|
430
|
+
tableName: "oauth_accounts";
|
|
431
|
+
dataType: "string";
|
|
432
|
+
columnType: "PgText";
|
|
433
|
+
data: string;
|
|
434
|
+
driverParam: string;
|
|
435
|
+
notNull: true;
|
|
436
|
+
hasDefault: true;
|
|
437
|
+
isPrimaryKey: true;
|
|
438
|
+
isAutoincrement: false;
|
|
439
|
+
hasRuntimeDefault: true;
|
|
440
|
+
enumValues: [string, ...string[]];
|
|
441
|
+
baseColumn: never;
|
|
442
|
+
identity: undefined;
|
|
443
|
+
generated: undefined;
|
|
444
|
+
}, {}, {}>;
|
|
445
|
+
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
446
|
+
name: "created_at";
|
|
447
|
+
tableName: "oauth_accounts";
|
|
448
|
+
dataType: "string";
|
|
449
|
+
columnType: "PgTimestampString";
|
|
450
|
+
data: string;
|
|
451
|
+
driverParam: string;
|
|
452
|
+
notNull: false;
|
|
453
|
+
hasDefault: true;
|
|
454
|
+
isPrimaryKey: false;
|
|
455
|
+
isAutoincrement: false;
|
|
456
|
+
hasRuntimeDefault: false;
|
|
457
|
+
enumValues: undefined;
|
|
458
|
+
baseColumn: never;
|
|
459
|
+
identity: undefined;
|
|
460
|
+
generated: undefined;
|
|
461
|
+
}, {}, {}>;
|
|
462
|
+
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
463
|
+
name: "updated_at";
|
|
464
|
+
tableName: "oauth_accounts";
|
|
465
|
+
dataType: "string";
|
|
466
|
+
columnType: "PgTimestampString";
|
|
467
|
+
data: string;
|
|
468
|
+
driverParam: string;
|
|
469
|
+
notNull: false;
|
|
470
|
+
hasDefault: true;
|
|
471
|
+
isPrimaryKey: false;
|
|
472
|
+
isAutoincrement: false;
|
|
473
|
+
hasRuntimeDefault: false;
|
|
474
|
+
enumValues: undefined;
|
|
475
|
+
baseColumn: never;
|
|
476
|
+
identity: undefined;
|
|
477
|
+
generated: undefined;
|
|
478
|
+
}, {}, {}>;
|
|
479
|
+
};
|
|
480
|
+
dialect: "pg";
|
|
481
|
+
}>;
|
|
372
482
|
/**
|
|
373
483
|
* Permissions table - Defines granular permissions
|
|
374
484
|
*/
|
|
@@ -1036,6 +1146,115 @@ declare const authSchema: {
|
|
|
1036
1146
|
};
|
|
1037
1147
|
dialect: "pg";
|
|
1038
1148
|
}>;
|
|
1149
|
+
readonly oauthAccounts: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
1150
|
+
name: "oauth_accounts";
|
|
1151
|
+
schema: undefined;
|
|
1152
|
+
columns: {
|
|
1153
|
+
userId: drizzle_orm_pg_core.PgColumn<{
|
|
1154
|
+
name: "user_id";
|
|
1155
|
+
tableName: "oauth_accounts";
|
|
1156
|
+
dataType: "string";
|
|
1157
|
+
columnType: "PgText";
|
|
1158
|
+
data: string;
|
|
1159
|
+
driverParam: string;
|
|
1160
|
+
notNull: true;
|
|
1161
|
+
hasDefault: false;
|
|
1162
|
+
isPrimaryKey: false;
|
|
1163
|
+
isAutoincrement: false;
|
|
1164
|
+
hasRuntimeDefault: false;
|
|
1165
|
+
enumValues: [string, ...string[]];
|
|
1166
|
+
baseColumn: never;
|
|
1167
|
+
identity: undefined;
|
|
1168
|
+
generated: undefined;
|
|
1169
|
+
}, {}, {}>;
|
|
1170
|
+
provider: drizzle_orm_pg_core.PgColumn<{
|
|
1171
|
+
name: "provider";
|
|
1172
|
+
tableName: "oauth_accounts";
|
|
1173
|
+
dataType: "string";
|
|
1174
|
+
columnType: "PgText";
|
|
1175
|
+
data: string;
|
|
1176
|
+
driverParam: string;
|
|
1177
|
+
notNull: true;
|
|
1178
|
+
hasDefault: false;
|
|
1179
|
+
isPrimaryKey: false;
|
|
1180
|
+
isAutoincrement: false;
|
|
1181
|
+
hasRuntimeDefault: false;
|
|
1182
|
+
enumValues: [string, ...string[]];
|
|
1183
|
+
baseColumn: never;
|
|
1184
|
+
identity: undefined;
|
|
1185
|
+
generated: undefined;
|
|
1186
|
+
}, {}, {}>;
|
|
1187
|
+
providerAccountId: drizzle_orm_pg_core.PgColumn<{
|
|
1188
|
+
name: "provider_account_id";
|
|
1189
|
+
tableName: "oauth_accounts";
|
|
1190
|
+
dataType: "string";
|
|
1191
|
+
columnType: "PgText";
|
|
1192
|
+
data: string;
|
|
1193
|
+
driverParam: string;
|
|
1194
|
+
notNull: true;
|
|
1195
|
+
hasDefault: false;
|
|
1196
|
+
isPrimaryKey: false;
|
|
1197
|
+
isAutoincrement: false;
|
|
1198
|
+
hasRuntimeDefault: false;
|
|
1199
|
+
enumValues: [string, ...string[]];
|
|
1200
|
+
baseColumn: never;
|
|
1201
|
+
identity: undefined;
|
|
1202
|
+
generated: undefined;
|
|
1203
|
+
}, {}, {}>;
|
|
1204
|
+
id: drizzle_orm_pg_core.PgColumn<{
|
|
1205
|
+
name: "id";
|
|
1206
|
+
tableName: "oauth_accounts";
|
|
1207
|
+
dataType: "string";
|
|
1208
|
+
columnType: "PgText";
|
|
1209
|
+
data: string;
|
|
1210
|
+
driverParam: string;
|
|
1211
|
+
notNull: true;
|
|
1212
|
+
hasDefault: true;
|
|
1213
|
+
isPrimaryKey: true;
|
|
1214
|
+
isAutoincrement: false;
|
|
1215
|
+
hasRuntimeDefault: true;
|
|
1216
|
+
enumValues: [string, ...string[]];
|
|
1217
|
+
baseColumn: never;
|
|
1218
|
+
identity: undefined;
|
|
1219
|
+
generated: undefined;
|
|
1220
|
+
}, {}, {}>;
|
|
1221
|
+
createdAt: drizzle_orm_pg_core.PgColumn<{
|
|
1222
|
+
name: "created_at";
|
|
1223
|
+
tableName: "oauth_accounts";
|
|
1224
|
+
dataType: "string";
|
|
1225
|
+
columnType: "PgTimestampString";
|
|
1226
|
+
data: string;
|
|
1227
|
+
driverParam: string;
|
|
1228
|
+
notNull: false;
|
|
1229
|
+
hasDefault: true;
|
|
1230
|
+
isPrimaryKey: false;
|
|
1231
|
+
isAutoincrement: false;
|
|
1232
|
+
hasRuntimeDefault: false;
|
|
1233
|
+
enumValues: undefined;
|
|
1234
|
+
baseColumn: never;
|
|
1235
|
+
identity: undefined;
|
|
1236
|
+
generated: undefined;
|
|
1237
|
+
}, {}, {}>;
|
|
1238
|
+
updatedAt: drizzle_orm_pg_core.PgColumn<{
|
|
1239
|
+
name: "updated_at";
|
|
1240
|
+
tableName: "oauth_accounts";
|
|
1241
|
+
dataType: "string";
|
|
1242
|
+
columnType: "PgTimestampString";
|
|
1243
|
+
data: string;
|
|
1244
|
+
driverParam: string;
|
|
1245
|
+
notNull: false;
|
|
1246
|
+
hasDefault: true;
|
|
1247
|
+
isPrimaryKey: false;
|
|
1248
|
+
isAutoincrement: false;
|
|
1249
|
+
hasRuntimeDefault: false;
|
|
1250
|
+
enumValues: undefined;
|
|
1251
|
+
baseColumn: never;
|
|
1252
|
+
identity: undefined;
|
|
1253
|
+
generated: undefined;
|
|
1254
|
+
}, {}, {}>;
|
|
1255
|
+
};
|
|
1256
|
+
dialect: "pg";
|
|
1257
|
+
}>;
|
|
1039
1258
|
readonly tokens: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
1040
1259
|
name: "tokens";
|
|
1041
1260
|
schema: undefined;
|
|
@@ -1526,6 +1745,8 @@ declare const authSchema: {
|
|
|
1526
1745
|
};
|
|
1527
1746
|
type User = typeof usersTable.$inferSelect;
|
|
1528
1747
|
type NewUser = typeof usersTable.$inferInsert;
|
|
1748
|
+
type OAuthAccount = typeof oauthAccountsTable.$inferSelect;
|
|
1749
|
+
type NewOAuthAccount = typeof oauthAccountsTable.$inferInsert;
|
|
1529
1750
|
type RoleEntity = typeof rolesTable.$inferSelect;
|
|
1530
1751
|
type NewRoleEntity = typeof rolesTable.$inferInsert;
|
|
1531
1752
|
type Permission = typeof permissionsTable.$inferSelect;
|
|
@@ -1535,4 +1756,4 @@ type NewToken = typeof tokensTable.$inferInsert;
|
|
|
1535
1756
|
type RolePermission = typeof rolePermissionsTable.$inferSelect;
|
|
1536
1757
|
type NewRolePermission = typeof rolePermissionsTable.$inferInsert;
|
|
1537
1758
|
|
|
1538
|
-
export { type NewPermission, type NewRoleEntity, type NewRolePermission, type NewToken, type NewUser, type Permission, type RoleEntity, type RolePermission, type Token, type User, authSchema, baseFields, permissionsTable, rolePermissionsTable, rolesTable, tokenStatusEnum, tokenTypeEnum, tokensTable, userStatusEnum, usersTable };
|
|
1759
|
+
export { type NewOAuthAccount, type NewPermission, type NewRoleEntity, type NewRolePermission, type NewToken, type NewUser, type OAuthAccount, type Permission, type RoleEntity, type RolePermission, type Token, type User, authSchema, baseFields, oauthAccountsTable, permissionsTable, rolePermissionsTable, rolesTable, tokenStatusEnum, tokenTypeEnum, tokensTable, userStatusEnum, usersTable };
|
package/dist/schema/pg.js
CHANGED
|
@@ -2,7 +2,7 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
3
|
|
|
4
4
|
// src/schema/pg.ts
|
|
5
|
-
import { pgTable, text, boolean, timestamp, pgEnum, primaryKey, integer, index } from "drizzle-orm/pg-core";
|
|
5
|
+
import { pgTable, text, boolean, timestamp, pgEnum, primaryKey, integer, index, uniqueIndex } from "drizzle-orm/pg-core";
|
|
6
6
|
import { sql } from "drizzle-orm";
|
|
7
7
|
import { nanoid } from "nanoid";
|
|
8
8
|
|
|
@@ -42,6 +42,16 @@ var usersTable = pgTable("users", {
|
|
|
42
42
|
}, (table) => ({
|
|
43
43
|
roleIdx: index("users_role_id_idx").on(table.roleId)
|
|
44
44
|
}));
|
|
45
|
+
var oauthAccountsTable = pgTable("oauth_accounts", {
|
|
46
|
+
...baseFields(10),
|
|
47
|
+
userId: text("user_id").notNull().references(() => usersTable.id, { onDelete: "cascade" }),
|
|
48
|
+
provider: text("provider").notNull(),
|
|
49
|
+
providerAccountId: text("provider_account_id").notNull()
|
|
50
|
+
}, (table) => ({
|
|
51
|
+
providerAccountUnique: uniqueIndex("oauth_accounts_provider_account_unique").on(table.provider, table.providerAccountId),
|
|
52
|
+
userProviderUnique: uniqueIndex("oauth_accounts_user_provider_unique").on(table.userId, table.provider),
|
|
53
|
+
userIdIdx: index("oauth_accounts_user_id_idx").on(table.userId)
|
|
54
|
+
}));
|
|
45
55
|
var permissionsTable = pgTable("permissions", {
|
|
46
56
|
...baseFields(5),
|
|
47
57
|
name: text("name").notNull().unique(),
|
|
@@ -73,6 +83,7 @@ var rolePermissionsTable = pgTable("role_permissions", {
|
|
|
73
83
|
}));
|
|
74
84
|
var authSchema = {
|
|
75
85
|
users: usersTable,
|
|
86
|
+
oauthAccounts: oauthAccountsTable,
|
|
76
87
|
tokens: tokensTable,
|
|
77
88
|
roles: rolesTable,
|
|
78
89
|
permissions: permissionsTable,
|
|
@@ -81,6 +92,7 @@ var authSchema = {
|
|
|
81
92
|
export {
|
|
82
93
|
authSchema,
|
|
83
94
|
baseFields,
|
|
95
|
+
oauthAccountsTable,
|
|
84
96
|
permissionsTable,
|
|
85
97
|
rolePermissionsTable,
|
|
86
98
|
rolesTable,
|
package/dist/schema/sqlite.d.ts
CHANGED
|
@@ -401,6 +401,128 @@ declare const usersTable: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
401
401
|
};
|
|
402
402
|
dialect: "sqlite";
|
|
403
403
|
}>;
|
|
404
|
+
/** External identity-provider accounts linked to Najm users. */
|
|
405
|
+
declare const oauthAccountsTable: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
406
|
+
name: "oauth_accounts";
|
|
407
|
+
schema: undefined;
|
|
408
|
+
columns: {
|
|
409
|
+
userId: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
410
|
+
name: "user_id";
|
|
411
|
+
tableName: "oauth_accounts";
|
|
412
|
+
dataType: "string";
|
|
413
|
+
columnType: "SQLiteText";
|
|
414
|
+
data: string;
|
|
415
|
+
driverParam: string;
|
|
416
|
+
notNull: true;
|
|
417
|
+
hasDefault: false;
|
|
418
|
+
isPrimaryKey: false;
|
|
419
|
+
isAutoincrement: false;
|
|
420
|
+
hasRuntimeDefault: false;
|
|
421
|
+
enumValues: [string, ...string[]];
|
|
422
|
+
baseColumn: never;
|
|
423
|
+
identity: undefined;
|
|
424
|
+
generated: undefined;
|
|
425
|
+
}, {}, {
|
|
426
|
+
length: number;
|
|
427
|
+
}>;
|
|
428
|
+
provider: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
429
|
+
name: "provider";
|
|
430
|
+
tableName: "oauth_accounts";
|
|
431
|
+
dataType: "string";
|
|
432
|
+
columnType: "SQLiteText";
|
|
433
|
+
data: string;
|
|
434
|
+
driverParam: string;
|
|
435
|
+
notNull: true;
|
|
436
|
+
hasDefault: false;
|
|
437
|
+
isPrimaryKey: false;
|
|
438
|
+
isAutoincrement: false;
|
|
439
|
+
hasRuntimeDefault: false;
|
|
440
|
+
enumValues: [string, ...string[]];
|
|
441
|
+
baseColumn: never;
|
|
442
|
+
identity: undefined;
|
|
443
|
+
generated: undefined;
|
|
444
|
+
}, {}, {
|
|
445
|
+
length: number;
|
|
446
|
+
}>;
|
|
447
|
+
providerAccountId: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
448
|
+
name: "provider_account_id";
|
|
449
|
+
tableName: "oauth_accounts";
|
|
450
|
+
dataType: "string";
|
|
451
|
+
columnType: "SQLiteText";
|
|
452
|
+
data: string;
|
|
453
|
+
driverParam: string;
|
|
454
|
+
notNull: true;
|
|
455
|
+
hasDefault: false;
|
|
456
|
+
isPrimaryKey: false;
|
|
457
|
+
isAutoincrement: false;
|
|
458
|
+
hasRuntimeDefault: false;
|
|
459
|
+
enumValues: [string, ...string[]];
|
|
460
|
+
baseColumn: never;
|
|
461
|
+
identity: undefined;
|
|
462
|
+
generated: undefined;
|
|
463
|
+
}, {}, {
|
|
464
|
+
length: number;
|
|
465
|
+
}>;
|
|
466
|
+
id: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
467
|
+
name: "id";
|
|
468
|
+
tableName: "oauth_accounts";
|
|
469
|
+
dataType: "string";
|
|
470
|
+
columnType: "SQLiteText";
|
|
471
|
+
data: string;
|
|
472
|
+
driverParam: string;
|
|
473
|
+
notNull: true;
|
|
474
|
+
hasDefault: true;
|
|
475
|
+
isPrimaryKey: true;
|
|
476
|
+
isAutoincrement: false;
|
|
477
|
+
hasRuntimeDefault: true;
|
|
478
|
+
enumValues: [string, ...string[]];
|
|
479
|
+
baseColumn: never;
|
|
480
|
+
identity: undefined;
|
|
481
|
+
generated: undefined;
|
|
482
|
+
}, {}, {
|
|
483
|
+
length: number;
|
|
484
|
+
}>;
|
|
485
|
+
createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
486
|
+
name: "created_at";
|
|
487
|
+
tableName: "oauth_accounts";
|
|
488
|
+
dataType: "string";
|
|
489
|
+
columnType: "SQLiteText";
|
|
490
|
+
data: string;
|
|
491
|
+
driverParam: string;
|
|
492
|
+
notNull: false;
|
|
493
|
+
hasDefault: true;
|
|
494
|
+
isPrimaryKey: false;
|
|
495
|
+
isAutoincrement: false;
|
|
496
|
+
hasRuntimeDefault: true;
|
|
497
|
+
enumValues: [string, ...string[]];
|
|
498
|
+
baseColumn: never;
|
|
499
|
+
identity: undefined;
|
|
500
|
+
generated: undefined;
|
|
501
|
+
}, {}, {
|
|
502
|
+
length: number;
|
|
503
|
+
}>;
|
|
504
|
+
updatedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
505
|
+
name: "updated_at";
|
|
506
|
+
tableName: "oauth_accounts";
|
|
507
|
+
dataType: "string";
|
|
508
|
+
columnType: "SQLiteText";
|
|
509
|
+
data: string;
|
|
510
|
+
driverParam: string;
|
|
511
|
+
notNull: false;
|
|
512
|
+
hasDefault: true;
|
|
513
|
+
isPrimaryKey: false;
|
|
514
|
+
isAutoincrement: false;
|
|
515
|
+
hasRuntimeDefault: true;
|
|
516
|
+
enumValues: [string, ...string[]];
|
|
517
|
+
baseColumn: never;
|
|
518
|
+
identity: undefined;
|
|
519
|
+
generated: undefined;
|
|
520
|
+
}, {}, {
|
|
521
|
+
length: number;
|
|
522
|
+
}>;
|
|
523
|
+
};
|
|
524
|
+
dialect: "sqlite";
|
|
525
|
+
}>;
|
|
404
526
|
/**
|
|
405
527
|
* Permissions table - Defines granular permissions
|
|
406
528
|
*/
|
|
@@ -1177,6 +1299,127 @@ declare const authSchema: {
|
|
|
1177
1299
|
};
|
|
1178
1300
|
dialect: "sqlite";
|
|
1179
1301
|
}>;
|
|
1302
|
+
readonly oauthAccounts: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
1303
|
+
name: "oauth_accounts";
|
|
1304
|
+
schema: undefined;
|
|
1305
|
+
columns: {
|
|
1306
|
+
userId: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
1307
|
+
name: "user_id";
|
|
1308
|
+
tableName: "oauth_accounts";
|
|
1309
|
+
dataType: "string";
|
|
1310
|
+
columnType: "SQLiteText";
|
|
1311
|
+
data: string;
|
|
1312
|
+
driverParam: string;
|
|
1313
|
+
notNull: true;
|
|
1314
|
+
hasDefault: false;
|
|
1315
|
+
isPrimaryKey: false;
|
|
1316
|
+
isAutoincrement: false;
|
|
1317
|
+
hasRuntimeDefault: false;
|
|
1318
|
+
enumValues: [string, ...string[]];
|
|
1319
|
+
baseColumn: never;
|
|
1320
|
+
identity: undefined;
|
|
1321
|
+
generated: undefined;
|
|
1322
|
+
}, {}, {
|
|
1323
|
+
length: number;
|
|
1324
|
+
}>;
|
|
1325
|
+
provider: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
1326
|
+
name: "provider";
|
|
1327
|
+
tableName: "oauth_accounts";
|
|
1328
|
+
dataType: "string";
|
|
1329
|
+
columnType: "SQLiteText";
|
|
1330
|
+
data: string;
|
|
1331
|
+
driverParam: string;
|
|
1332
|
+
notNull: true;
|
|
1333
|
+
hasDefault: false;
|
|
1334
|
+
isPrimaryKey: false;
|
|
1335
|
+
isAutoincrement: false;
|
|
1336
|
+
hasRuntimeDefault: false;
|
|
1337
|
+
enumValues: [string, ...string[]];
|
|
1338
|
+
baseColumn: never;
|
|
1339
|
+
identity: undefined;
|
|
1340
|
+
generated: undefined;
|
|
1341
|
+
}, {}, {
|
|
1342
|
+
length: number;
|
|
1343
|
+
}>;
|
|
1344
|
+
providerAccountId: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
1345
|
+
name: "provider_account_id";
|
|
1346
|
+
tableName: "oauth_accounts";
|
|
1347
|
+
dataType: "string";
|
|
1348
|
+
columnType: "SQLiteText";
|
|
1349
|
+
data: string;
|
|
1350
|
+
driverParam: string;
|
|
1351
|
+
notNull: true;
|
|
1352
|
+
hasDefault: false;
|
|
1353
|
+
isPrimaryKey: false;
|
|
1354
|
+
isAutoincrement: false;
|
|
1355
|
+
hasRuntimeDefault: false;
|
|
1356
|
+
enumValues: [string, ...string[]];
|
|
1357
|
+
baseColumn: never;
|
|
1358
|
+
identity: undefined;
|
|
1359
|
+
generated: undefined;
|
|
1360
|
+
}, {}, {
|
|
1361
|
+
length: number;
|
|
1362
|
+
}>;
|
|
1363
|
+
id: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
1364
|
+
name: "id";
|
|
1365
|
+
tableName: "oauth_accounts";
|
|
1366
|
+
dataType: "string";
|
|
1367
|
+
columnType: "SQLiteText";
|
|
1368
|
+
data: string;
|
|
1369
|
+
driverParam: string;
|
|
1370
|
+
notNull: true;
|
|
1371
|
+
hasDefault: true;
|
|
1372
|
+
isPrimaryKey: true;
|
|
1373
|
+
isAutoincrement: false;
|
|
1374
|
+
hasRuntimeDefault: true;
|
|
1375
|
+
enumValues: [string, ...string[]];
|
|
1376
|
+
baseColumn: never;
|
|
1377
|
+
identity: undefined;
|
|
1378
|
+
generated: undefined;
|
|
1379
|
+
}, {}, {
|
|
1380
|
+
length: number;
|
|
1381
|
+
}>;
|
|
1382
|
+
createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
1383
|
+
name: "created_at";
|
|
1384
|
+
tableName: "oauth_accounts";
|
|
1385
|
+
dataType: "string";
|
|
1386
|
+
columnType: "SQLiteText";
|
|
1387
|
+
data: string;
|
|
1388
|
+
driverParam: string;
|
|
1389
|
+
notNull: false;
|
|
1390
|
+
hasDefault: true;
|
|
1391
|
+
isPrimaryKey: false;
|
|
1392
|
+
isAutoincrement: false;
|
|
1393
|
+
hasRuntimeDefault: true;
|
|
1394
|
+
enumValues: [string, ...string[]];
|
|
1395
|
+
baseColumn: never;
|
|
1396
|
+
identity: undefined;
|
|
1397
|
+
generated: undefined;
|
|
1398
|
+
}, {}, {
|
|
1399
|
+
length: number;
|
|
1400
|
+
}>;
|
|
1401
|
+
updatedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
1402
|
+
name: "updated_at";
|
|
1403
|
+
tableName: "oauth_accounts";
|
|
1404
|
+
dataType: "string";
|
|
1405
|
+
columnType: "SQLiteText";
|
|
1406
|
+
data: string;
|
|
1407
|
+
driverParam: string;
|
|
1408
|
+
notNull: false;
|
|
1409
|
+
hasDefault: true;
|
|
1410
|
+
isPrimaryKey: false;
|
|
1411
|
+
isAutoincrement: false;
|
|
1412
|
+
hasRuntimeDefault: true;
|
|
1413
|
+
enumValues: [string, ...string[]];
|
|
1414
|
+
baseColumn: never;
|
|
1415
|
+
identity: undefined;
|
|
1416
|
+
generated: undefined;
|
|
1417
|
+
}, {}, {
|
|
1418
|
+
length: number;
|
|
1419
|
+
}>;
|
|
1420
|
+
};
|
|
1421
|
+
dialect: "sqlite";
|
|
1422
|
+
}>;
|
|
1180
1423
|
readonly tokens: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
1181
1424
|
name: "tokens";
|
|
1182
1425
|
schema: undefined;
|
|
@@ -1761,6 +2004,8 @@ declare const authSchema: {
|
|
|
1761
2004
|
};
|
|
1762
2005
|
type User = typeof usersTable.$inferSelect;
|
|
1763
2006
|
type NewUser = typeof usersTable.$inferInsert;
|
|
2007
|
+
type OAuthAccount = typeof oauthAccountsTable.$inferSelect;
|
|
2008
|
+
type NewOAuthAccount = typeof oauthAccountsTable.$inferInsert;
|
|
1764
2009
|
type RoleEntity = typeof rolesTable.$inferSelect;
|
|
1765
2010
|
type NewRoleEntity = typeof rolesTable.$inferInsert;
|
|
1766
2011
|
type Permission = typeof permissionsTable.$inferSelect;
|
|
@@ -1770,4 +2015,4 @@ type NewToken = typeof tokensTable.$inferInsert;
|
|
|
1770
2015
|
type RolePermission = typeof rolePermissionsTable.$inferSelect;
|
|
1771
2016
|
type NewRolePermission = typeof rolePermissionsTable.$inferInsert;
|
|
1772
2017
|
|
|
1773
|
-
export { type NewPermission, type NewRoleEntity, type NewRolePermission, type NewToken, type NewUser, type Permission, type RoleEntity, type RolePermission, type Token, type User, authSchema, baseFields, permissionsTable, rolePermissionsTable, rolesTable, tokensTable, usersTable };
|
|
2018
|
+
export { type NewOAuthAccount, type NewPermission, type NewRoleEntity, type NewRolePermission, type NewToken, type NewUser, type OAuthAccount, type Permission, type RoleEntity, type RolePermission, type Token, type User, authSchema, baseFields, oauthAccountsTable, permissionsTable, rolePermissionsTable, rolesTable, tokensTable, usersTable };
|
package/dist/schema/sqlite.js
CHANGED
|
@@ -32,6 +32,16 @@ var usersTable = sqliteTable("users", {
|
|
|
32
32
|
}, (table) => ({
|
|
33
33
|
roleIdx: index("users_role_id_idx").on(table.roleId)
|
|
34
34
|
}));
|
|
35
|
+
var oauthAccountsTable = sqliteTable("oauth_accounts", {
|
|
36
|
+
...baseFields(10),
|
|
37
|
+
userId: text("user_id").notNull().references(() => usersTable.id, { onDelete: "cascade" }),
|
|
38
|
+
provider: text("provider").notNull(),
|
|
39
|
+
providerAccountId: text("provider_account_id").notNull()
|
|
40
|
+
}, (table) => ({
|
|
41
|
+
providerAccountUnique: uniqueIndex("oauth_accounts_provider_account_unique").on(table.provider, table.providerAccountId),
|
|
42
|
+
userProviderUnique: uniqueIndex("oauth_accounts_user_provider_unique").on(table.userId, table.provider),
|
|
43
|
+
userIdIdx: index("oauth_accounts_user_id_idx").on(table.userId)
|
|
44
|
+
}));
|
|
35
45
|
var permissionsTable = sqliteTable("permissions", {
|
|
36
46
|
...baseFields(5),
|
|
37
47
|
name: text("name").notNull().unique(),
|
|
@@ -63,6 +73,7 @@ var rolePermissionsTable = sqliteTable("role_permissions", {
|
|
|
63
73
|
}));
|
|
64
74
|
var authSchema = {
|
|
65
75
|
users: usersTable,
|
|
76
|
+
oauthAccounts: oauthAccountsTable,
|
|
66
77
|
tokens: tokensTable,
|
|
67
78
|
roles: rolesTable,
|
|
68
79
|
permissions: permissionsTable,
|
|
@@ -71,6 +82,7 @@ var authSchema = {
|
|
|
71
82
|
export {
|
|
72
83
|
authSchema,
|
|
73
84
|
baseFields,
|
|
85
|
+
oauthAccountsTable,
|
|
74
86
|
permissionsTable,
|
|
75
87
|
rolePermissionsTable,
|
|
76
88
|
rolesTable,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "najm-auth",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "Authentication and authorization library for najm framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -64,25 +64,28 @@
|
|
|
64
64
|
"author": "",
|
|
65
65
|
"license": "MIT",
|
|
66
66
|
"devDependencies": {
|
|
67
|
+
"@testing-library/react": "^16.3.2",
|
|
67
68
|
"@types/jsonwebtoken": "^9.0.10",
|
|
68
69
|
"@types/node": "^25.0.2",
|
|
69
70
|
"drizzle-kit": "^0.31.8",
|
|
70
71
|
"drizzle-orm": "^0.45.1",
|
|
72
|
+
"happy-dom": "^17.6.3",
|
|
71
73
|
"tsup": "^8.5.1",
|
|
72
74
|
"typescript": "^5.9.3"
|
|
73
75
|
},
|
|
74
76
|
"dependencies": {
|
|
75
77
|
"bcryptjs": "^3.0.2",
|
|
76
|
-
"najm-cookies": "^2.0.
|
|
77
|
-
"najm-core": "^2.0.
|
|
78
|
-
"najm-database": "^2.0.
|
|
79
|
-
"najm-guard": "^2.0.
|
|
80
|
-
"najm-i18n": "^2.0.
|
|
81
|
-
"najm-cache": "^2.0.
|
|
82
|
-
"najm-email": "^2.0.
|
|
83
|
-
"najm-rate": "^2.0.
|
|
84
|
-
"najm-validation": "^2.0.
|
|
78
|
+
"najm-cookies": "^2.0.2",
|
|
79
|
+
"najm-core": "^2.0.4",
|
|
80
|
+
"najm-database": "^2.0.3",
|
|
81
|
+
"najm-guard": "^2.0.2",
|
|
82
|
+
"najm-i18n": "^2.0.2",
|
|
83
|
+
"najm-cache": "^2.0.2",
|
|
84
|
+
"najm-email": "^2.0.2",
|
|
85
|
+
"najm-rate": "^2.0.2",
|
|
86
|
+
"najm-validation": "^2.0.2",
|
|
85
87
|
"jsonwebtoken": "^9.0.3",
|
|
88
|
+
"jose": "^6.1.3",
|
|
86
89
|
"lodash.isempty": "^4.4.0",
|
|
87
90
|
"nanoid": "^5.1.6",
|
|
88
91
|
"reflect-metadata": "^0.2.2",
|