najm-auth 1.1.39 → 1.1.41
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 +12 -12
- package/dist/index.d.ts +99 -18
- package/dist/index.js +209 -166
- package/dist/schema/pg.d.ts +2 -2
- package/dist/schema/pg.js +3 -2
- package/dist/schema/sqlite.d.ts +2 -2
- package/dist/schema/sqlite.js +3 -2
- package/package.json +10 -15
- package/dist/schema/mysql.d.ts +0 -1535
- package/dist/schema/mysql.js +0 -85
package/dist/schema/mysql.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/schema/mysql.ts
|
|
5
|
-
import { mysqlTable, varchar, boolean, timestamp, mysqlEnum, primaryKey, int, index } from "drizzle-orm/mysql-core";
|
|
6
|
-
import { sql } from "drizzle-orm";
|
|
7
|
-
import { nanoid } from "nanoid";
|
|
8
|
-
|
|
9
|
-
// src/schema/constants.ts
|
|
10
|
-
var USER_STATUS = ["active", "inactive", "pending"];
|
|
11
|
-
var TOKEN_STATUS = ["active", "revoked", "expired"];
|
|
12
|
-
var TOKEN_TYPE = ["access", "refresh"];
|
|
13
|
-
|
|
14
|
-
// src/schema/mysql.ts
|
|
15
|
-
var baseFields = /* @__PURE__ */ __name((idLength = 5) => ({
|
|
16
|
-
id: varchar("id", { length: 21 }).primaryKey().$defaultFn(() => nanoid(idLength)),
|
|
17
|
-
createdAt: timestamp("created_at", { mode: "string" }).defaultNow(),
|
|
18
|
-
updatedAt: timestamp("updated_at", { mode: "string" }).defaultNow().$onUpdate(() => sql`CURRENT_TIMESTAMP`)
|
|
19
|
-
}), "baseFields");
|
|
20
|
-
var rolesTable = mysqlTable("roles", {
|
|
21
|
-
...baseFields(5),
|
|
22
|
-
name: varchar("name", { length: 255 }).notNull(),
|
|
23
|
-
description: varchar("description", { length: 1e3 })
|
|
24
|
-
});
|
|
25
|
-
var usersTable = mysqlTable("users", {
|
|
26
|
-
...baseFields(8),
|
|
27
|
-
name: varchar("name", { length: 255 }),
|
|
28
|
-
email: varchar("email", { length: 255 }).notNull().unique(),
|
|
29
|
-
emailVerified: boolean("email_verified").default(false),
|
|
30
|
-
phone: varchar("phone", { length: 255 }).unique(),
|
|
31
|
-
phoneVerified: boolean("phone_verified").default(false),
|
|
32
|
-
password: varchar("password", { length: 255 }).notNull(),
|
|
33
|
-
image: varchar("image", { length: 255 }).default("noavatar.png"),
|
|
34
|
-
status: mysqlEnum("status", [...USER_STATUS]).default("pending"),
|
|
35
|
-
roleId: varchar("role_id", { length: 21 }).references(() => rolesTable.id),
|
|
36
|
-
lastLogin: timestamp("last_login", { mode: "string" }),
|
|
37
|
-
failedLoginAttempts: int("failed_login_attempts").default(0),
|
|
38
|
-
lockoutUntil: timestamp("lockout_until", { mode: "string" })
|
|
39
|
-
}, (table) => ({
|
|
40
|
-
roleIdx: index("users_role_id_idx").on(table.roleId)
|
|
41
|
-
}));
|
|
42
|
-
var permissionsTable = mysqlTable("permissions", {
|
|
43
|
-
...baseFields(5),
|
|
44
|
-
name: varchar("name", { length: 255 }).notNull().unique(),
|
|
45
|
-
description: varchar("description", { length: 1e3 }),
|
|
46
|
-
resource: varchar("resource", { length: 255 }).notNull(),
|
|
47
|
-
action: varchar("action", { length: 255 }).notNull()
|
|
48
|
-
});
|
|
49
|
-
var tokensTable = mysqlTable("tokens", {
|
|
50
|
-
...baseFields(10),
|
|
51
|
-
userId: varchar("user_id", { length: 21 }).references(() => usersTable.id, { onDelete: "cascade" }).unique().notNull(),
|
|
52
|
-
token: varchar("token", { length: 500 }).notNull(),
|
|
53
|
-
tokenFamily: varchar("token_family", { length: 16 }),
|
|
54
|
-
previousHash: varchar("previous_hash", { length: 500 }),
|
|
55
|
-
previousValidUntil: timestamp("previous_valid_until", { mode: "string" }),
|
|
56
|
-
previousUsedAt: timestamp("previous_used_at", { mode: "string" }),
|
|
57
|
-
type: mysqlEnum("type", [...TOKEN_TYPE]).default("refresh"),
|
|
58
|
-
status: mysqlEnum("status", [...TOKEN_STATUS]).default("active"),
|
|
59
|
-
expiresAt: timestamp("expires_at", { mode: "string" }).notNull()
|
|
60
|
-
}, (table) => ({
|
|
61
|
-
expiresAtIdx: index("tokens_expires_at_idx").on(table.expiresAt)
|
|
62
|
-
}));
|
|
63
|
-
var rolePermissionsTable = mysqlTable("role_permissions", {
|
|
64
|
-
roleId: varchar("role_id", { length: 21 }).notNull().references(() => rolesTable.id, { onDelete: "cascade" }),
|
|
65
|
-
permissionId: varchar("permission_id", { length: 21 }).notNull().references(() => permissionsTable.id, { onDelete: "cascade" }),
|
|
66
|
-
createdAt: timestamp("created_at", { mode: "string" }).defaultNow()
|
|
67
|
-
}, (table) => ({
|
|
68
|
-
pk: primaryKey({ columns: [table.roleId, table.permissionId] })
|
|
69
|
-
}));
|
|
70
|
-
var authSchema = {
|
|
71
|
-
users: usersTable,
|
|
72
|
-
tokens: tokensTable,
|
|
73
|
-
roles: rolesTable,
|
|
74
|
-
permissions: permissionsTable,
|
|
75
|
-
rolePermissions: rolePermissionsTable
|
|
76
|
-
};
|
|
77
|
-
export {
|
|
78
|
-
authSchema,
|
|
79
|
-
baseFields,
|
|
80
|
-
permissionsTable,
|
|
81
|
-
rolePermissionsTable,
|
|
82
|
-
rolesTable,
|
|
83
|
-
tokensTable,
|
|
84
|
-
usersTable
|
|
85
|
-
};
|