@vitnode/core 1.2.0-canary.16 → 1.2.0-canary.18
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/scripts/scripts.js +5 -7
- package/dist/scripts/shared/file-utils.d.ts.map +1 -1
- package/dist/src/api/config.js +3 -3
- package/dist/src/api/lib/check-plugin-id.js +1 -1
- package/dist/src/api/lib/plugin.js +1 -1
- package/dist/src/api/lib/route.js +1 -1
- package/dist/src/api/middlewares/global/global.js +3 -3
- package/dist/src/api/models/device.js +3 -3
- package/dist/src/api/models/session-admin.js +3 -3
- package/dist/src/api/models/session.js +3 -3
- package/dist/src/api/models/sso.js +4 -4
- package/dist/src/api/models/user/get-user-by-id.js +1 -1
- package/dist/src/api/models/user/sign-in-with-passwords.js +2 -2
- package/dist/src/api/models/user/sign-up.js +5 -5
- package/dist/src/api/models/user.js +3 -3
- package/dist/src/api/modules/admin/admin.module.js +4 -4
- package/dist/src/api/modules/admin/routes/session.route.js +2 -2
- package/dist/src/api/modules/admin/users/routes/list.route.js +4 -4
- package/dist/src/api/modules/admin/users/routes/users.route.js +4 -4
- package/dist/src/api/modules/admin/users/users.admin.module.js +3 -3
- package/dist/src/api/modules/middleware/middleware.module.js +3 -3
- package/dist/src/api/modules/middleware/route.js +3 -3
- package/dist/src/api/modules/users/avatar-color.js +1 -1
- package/dist/src/api/modules/users/routes/session.route.js +3 -3
- package/dist/src/api/modules/users/routes/sign-in.route.js +5 -5
- package/dist/src/api/modules/users/routes/sign-out.route.js +4 -4
- package/dist/src/api/modules/users/routes/sign-up.route.js +4 -4
- package/dist/src/api/modules/users/routes/test.route.js +2 -2
- package/dist/src/api/modules/users/sso/routes/callback.route.js +4 -4
- package/dist/src/api/modules/users/sso/routes/create-url.route.js +3 -3
- package/dist/src/api/modules/users/sso/sso.module.js +4 -4
- package/dist/src/api/modules/users/users.module.js +8 -8
- package/dist/src/api/plugin.js +5 -5
- package/dist/src/api/plugins/sso/discord.js +1 -1
- package/dist/src/api/plugins/sso/facebook.js +1 -1
- package/dist/src/api/plugins/sso/google.js +1 -1
- package/dist/src/app/login/page.js +1 -1
- package/dist/src/app/login/sso/[providerId]/page.js +1 -1
- package/dist/src/app/register/page.js +1 -1
- package/dist/src/app_admin/core/page.js +1 -1
- package/dist/src/app_admin/core/test/page.js +1 -1
- package/dist/src/app_admin/core/users/page.js +3 -3
- package/dist/src/components/avatar.js +1 -1
- package/dist/src/components/date-format.js +1 -1
- package/dist/src/components/form/auto-form.js +5 -5
- package/dist/src/components/form/common/desc.js +1 -1
- package/dist/src/components/form/common/label.js +1 -1
- package/dist/src/components/form/fields/checkbox.js +4 -4
- package/dist/src/components/form/fields/combobox.js +8 -8
- package/dist/src/components/form/fields/input.js +4 -4
- package/dist/src/components/form/fields/item.js +2 -2
- package/dist/src/components/form/fields/radio-group.js +5 -5
- package/dist/src/components/form/fields/select.js +5 -5
- package/dist/src/components/form/fields/switch.js +4 -4
- package/dist/src/components/form/fields/textarea.js +4 -4
- package/dist/src/components/logo-vitnode.js +1 -1
- package/dist/src/components/switchers/theme-switcher.js +1 -1
- package/dist/src/components/table/content.js +4 -4
- package/dist/src/components/table/data-table.js +4 -4
- package/dist/src/components/table/order-table-head.js +3 -3
- package/dist/src/components/table/pagination.js +4 -4
- package/dist/src/components/ui/accordion.js +1 -1
- package/dist/src/components/ui/alert-dialog.js +2 -2
- package/dist/src/components/ui/alert.js +1 -1
- package/dist/src/components/ui/badge.js +1 -1
- package/dist/src/components/ui/button.js +2 -2
- package/dist/src/components/ui/card.js +1 -1
- package/dist/src/components/ui/checkbox.js +1 -1
- package/dist/src/components/ui/command.js +2 -2
- package/dist/src/components/ui/context-menu.js +1 -1
- package/dist/src/components/ui/dialog.js +2 -2
- package/dist/src/components/ui/drawer.js +1 -1
- package/dist/src/components/ui/dropdown-menu.js +1 -1
- package/dist/src/components/ui/form.js +5 -5
- package/dist/src/components/ui/header-content.js +1 -1
- package/dist/src/components/ui/hover-card.js +1 -1
- package/dist/src/components/ui/input-otp.js +1 -1
- package/dist/src/components/ui/input.js +1 -1
- package/dist/src/components/ui/label.js +1 -1
- package/dist/src/components/ui/loader.js +1 -1
- package/dist/src/components/ui/menubar.js +1 -1
- package/dist/src/components/ui/navigation-menu.js +1 -1
- package/dist/src/components/ui/popover.js +1 -1
- package/dist/src/components/ui/progress.js +1 -1
- package/dist/src/components/ui/radio-group.js +1 -1
- package/dist/src/components/ui/select.js +1 -1
- package/dist/src/components/ui/separator.js +1 -1
- package/dist/src/components/ui/sheet.js +1 -1
- package/dist/src/components/ui/sidebar.js +8 -8
- package/dist/src/components/ui/skeleton.js +1 -1
- package/dist/src/components/ui/slider.js +1 -1
- package/dist/src/components/ui/sonner.js +1 -1
- package/dist/src/components/ui/switch.js +1 -1
- package/dist/src/components/ui/table.js +1 -1
- package/dist/src/components/ui/tabs.js +1 -1
- package/dist/src/components/ui/textarea.js +1 -1
- package/dist/src/components/ui/toggle-group.js +2 -2
- package/dist/src/components/ui/toggle.js +1 -1
- package/dist/src/components/ui/tooltip.js +1 -1
- package/dist/src/database/admins.js +3 -3
- package/dist/src/database/moderators.js +2 -2
- package/dist/src/database/sessions.js +1 -1
- package/dist/src/database/users.js +2 -2
- package/dist/src/drizzle.config.d.ts.map +1 -1
- package/dist/src/drizzle.config.js +4 -6
- package/dist/src/lib/api/get-middleware-api.js +2 -2
- package/dist/src/lib/api/get-session-admin-api.js +3 -3
- package/dist/src/lib/api/get-session-api.js +2 -2
- package/dist/src/lib/colors.test.js +1 -1
- package/dist/src/lib/fetcher/cookie-from-string-to-object.test.js +1 -1
- package/dist/src/lib/fetcher/helpers.js +1 -1
- package/dist/src/lib/fetcher/helpers.test.js +1 -1
- package/dist/src/lib/fetcher.js +2 -2
- package/dist/src/lib/helpers/auto-form.test.js +1 -1
- package/dist/src/lib/special-characters.test.js +1 -1
- package/dist/src/views/admin/layouts/admin-layout.js +7 -7
- package/dist/src/views/admin/layouts/sidebar/nav/item.js +5 -5
- package/dist/src/views/admin/layouts/sidebar/nav/nav.js +2 -2
- package/dist/src/views/admin/layouts/sidebar/sidebar.js +5 -5
- package/dist/src/views/admin/layouts/sidebar/sign-out.js +2 -2
- package/dist/src/views/admin/layouts/user-bar/client.js +3 -3
- package/dist/src/views/admin/layouts/user-bar/user-bar.js +4 -4
- package/dist/src/views/admin/sign-in/sign-in-admin-view.js +4 -4
- package/dist/src/views/admin/views/core/dashboard/dashboard-admin-view.js +4 -4
- package/dist/src/views/admin/views/core/test.js +8 -8
- package/dist/src/views/admin/views/core/users/users-admin-view.js +6 -6
- package/dist/src/views/auth/components/password-input.js +4 -4
- package/dist/src/views/auth/sign-in/form/form.js +4 -4
- package/dist/src/views/auth/sign-in/form/hooks/mutation-api.js +3 -3
- package/dist/src/views/auth/sign-in/form/hooks/use-form.js +1 -1
- package/dist/src/views/auth/sign-in/sign-in-view.js +5 -5
- package/dist/src/views/auth/sign-up/form/form.js +7 -7
- package/dist/src/views/auth/sign-up/form/hooks/mutation-api.js +2 -2
- package/dist/src/views/auth/sign-up/form/hooks/use-form.js +1 -1
- package/dist/src/views/auth/sign-up/sign-up-view.js +6 -6
- package/dist/src/views/auth/sso/buttons/client.js +2 -2
- package/dist/src/views/auth/sso/buttons/mutation-api.js +3 -3
- package/dist/src/views/auth/sso/buttons/sso-buttons.js +3 -3
- package/dist/src/views/auth/sso/callback/callback-sso-view.js +2 -2
- package/dist/src/views/auth/sso/callback/client/client.js +4 -4
- package/dist/src/views/auth/sso/callback/client/mutation-api.js +2 -2
- package/dist/src/views/error/back-button.js +2 -2
- package/dist/src/views/error/error-view.js +4 -4
- package/dist/src/views/error/global-error-view.js +2 -2
- package/dist/src/views/layouts/provider.js +2 -2
- package/dist/src/views/layouts/root-layout.js +2 -2
- package/dist/src/views/layouts/theme/header/header.js +5 -5
- package/dist/src/views/layouts/theme/header/user/auth/auth.js +5 -5
- package/dist/src/views/layouts/theme/header/user/auth/client.js +3 -3
- package/dist/src/views/layouts/theme/header/user/auth/log-out-mutation-api.js +3 -3
- package/dist/src/views/layouts/theme/header/user/user.js +5 -5
- package/dist/src/views/layouts/theme/layout.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/drizzle.config.ts +4 -8
- package/src/database/admins.ts +0 -87
- package/src/database/languages.ts +0 -54
- package/src/database/moderators.ts +0 -42
- package/src/database/roles.ts +0 -15
- package/src/database/sessions.ts +0 -59
- package/src/database/users.ts +0 -142
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitnode/core",
|
|
3
|
-
"version": "1.2.0-canary.
|
|
3
|
+
"version": "1.2.0-canary.18",
|
|
4
4
|
"description": "Core package for VitNode, providing essential functionalities and configurations.",
|
|
5
5
|
"author": "VitNode Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
"core"
|
|
20
20
|
],
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@hono/swagger-ui": "^0.5.1",
|
|
23
22
|
"@hono/zod-openapi": "^0.19.8",
|
|
24
23
|
"@hono/zod-validator": "^0.7.0",
|
|
25
24
|
"@hookform/resolvers": "^5.1.0",
|
|
@@ -36,7 +35,6 @@
|
|
|
36
35
|
"@vitest/coverage-v8": "^3.2.2",
|
|
37
36
|
"chokidar": "^4.0.3",
|
|
38
37
|
"concurrently": "^9.1.2",
|
|
39
|
-
"dotenv": "^16.5.0",
|
|
40
38
|
"drizzle-kit": "^0.31.1",
|
|
41
39
|
"drizzle-orm": "^0.44.2",
|
|
42
40
|
"eslint": "^9.28.0",
|
|
@@ -59,7 +57,7 @@
|
|
|
59
57
|
"vite-tsconfig-paths": "^5.1.4",
|
|
60
58
|
"vitest": "^3.2.2",
|
|
61
59
|
"zod": "^3.25.56",
|
|
62
|
-
"@vitnode/eslint-config": "1.2.0-canary.
|
|
60
|
+
"@vitnode/eslint-config": "1.2.0-canary.18"
|
|
63
61
|
},
|
|
64
62
|
"bin": {
|
|
65
63
|
"vitnode": "./dist/scripts/scripts.js"
|
|
@@ -81,11 +79,13 @@
|
|
|
81
79
|
"type": "module",
|
|
82
80
|
"dependencies": {
|
|
83
81
|
"@dnd-kit/core": "^6.3.1",
|
|
82
|
+
"@hono/swagger-ui": "^0.5.2",
|
|
84
83
|
"@tanstack/react-query": "^5.80.6",
|
|
85
84
|
"cache-manager": "^6.4.3",
|
|
86
85
|
"class-variance-authority": "^0.7.1",
|
|
87
86
|
"clsx": "^2.1.1",
|
|
88
87
|
"cmdk": "^1.1.1",
|
|
88
|
+
"dotenv": "^16.5.0",
|
|
89
89
|
"input-otp": "^1.4.2",
|
|
90
90
|
"next-themes": "^0.4.6",
|
|
91
91
|
"nodemailer": "^7.0.3",
|
package/src/drizzle.config.ts
CHANGED
|
@@ -20,6 +20,7 @@ export const defineVitNodeDrizzleConfig = ({
|
|
|
20
20
|
process.cwd(),
|
|
21
21
|
'node_modules',
|
|
22
22
|
itemId,
|
|
23
|
+
'dist',
|
|
23
24
|
'src',
|
|
24
25
|
'database',
|
|
25
26
|
);
|
|
@@ -32,16 +33,11 @@ export const defineVitNodeDrizzleConfig = ({
|
|
|
32
33
|
// Check if there are any .ts files in the directory
|
|
33
34
|
try {
|
|
34
35
|
const files = readdirSync(pluginPath);
|
|
35
|
-
const hasSchemaFiles = files.some(
|
|
36
|
-
|
|
37
|
-
);
|
|
38
|
-
|
|
39
|
-
if (!hasSchemaFiles) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
36
|
+
const hasSchemaFiles = files.some(file => file.endsWith('.js'));
|
|
37
|
+
if (!hasSchemaFiles) return null;
|
|
42
38
|
|
|
43
39
|
// Return glob pattern for schema files
|
|
44
|
-
return join(pluginPath, '*.
|
|
40
|
+
return join(pluginPath, '*.js').replace(/\\/g, '/');
|
|
45
41
|
} catch {
|
|
46
42
|
return null;
|
|
47
43
|
}
|
package/src/database/admins.ts
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { relations } from 'drizzle-orm';
|
|
2
|
-
import { index, pgTable } from 'drizzle-orm/pg-core';
|
|
3
|
-
|
|
4
|
-
import { core_roles } from './roles';
|
|
5
|
-
import { core_sessions_known_devices } from './sessions';
|
|
6
|
-
import { core_users } from './users';
|
|
7
|
-
|
|
8
|
-
export const core_admin_permissions = pgTable(
|
|
9
|
-
'core_admin_permissions',
|
|
10
|
-
t => ({
|
|
11
|
-
id: t.serial().primaryKey(),
|
|
12
|
-
roleId: t.integer().references(() => core_roles.id, {
|
|
13
|
-
onDelete: 'cascade',
|
|
14
|
-
}),
|
|
15
|
-
userId: t.integer().references(() => core_users.id, {
|
|
16
|
-
onDelete: 'cascade',
|
|
17
|
-
}),
|
|
18
|
-
createdAt: t.timestamp().notNull().defaultNow(),
|
|
19
|
-
updatedAt: t
|
|
20
|
-
.timestamp()
|
|
21
|
-
.notNull()
|
|
22
|
-
.$onUpdate(() => new Date()),
|
|
23
|
-
protected: t.boolean().notNull().default(false),
|
|
24
|
-
// data: t.jsonb().$type<{ permissions: PermissionsStaffArgs[] }>().default({
|
|
25
|
-
// permissions: [],
|
|
26
|
-
// }),
|
|
27
|
-
}),
|
|
28
|
-
t => [
|
|
29
|
-
index('core_admin_permissions_role_id_idx').on(t.roleId),
|
|
30
|
-
index('core_admin_permissions_user_id_idx').on(t.userId),
|
|
31
|
-
],
|
|
32
|
-
).enableRLS();
|
|
33
|
-
|
|
34
|
-
export const core_admin_permissions_relations = relations(
|
|
35
|
-
core_admin_permissions,
|
|
36
|
-
({ one }) => ({
|
|
37
|
-
group: one(core_roles, {
|
|
38
|
-
fields: [core_admin_permissions.roleId],
|
|
39
|
-
references: [core_roles.id],
|
|
40
|
-
}),
|
|
41
|
-
user: one(core_users, {
|
|
42
|
-
fields: [core_admin_permissions.userId],
|
|
43
|
-
references: [core_users.id],
|
|
44
|
-
}),
|
|
45
|
-
}),
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
export const core_admin_sessions = pgTable(
|
|
49
|
-
'core_admin_sessions',
|
|
50
|
-
t => ({
|
|
51
|
-
id: t.serial().primaryKey(),
|
|
52
|
-
token: t.varchar({ length: 255 }).notNull().unique(),
|
|
53
|
-
userId: t
|
|
54
|
-
.integer()
|
|
55
|
-
.notNull()
|
|
56
|
-
.references(() => core_users.id, {
|
|
57
|
-
onDelete: 'cascade',
|
|
58
|
-
}),
|
|
59
|
-
createdAt: t.timestamp().notNull().defaultNow(),
|
|
60
|
-
lastSeen: t.timestamp().notNull().defaultNow(),
|
|
61
|
-
expiresAt: t.timestamp().notNull(),
|
|
62
|
-
deviceId: t
|
|
63
|
-
.integer()
|
|
64
|
-
.references(() => core_sessions_known_devices.id, {
|
|
65
|
-
onDelete: 'cascade',
|
|
66
|
-
})
|
|
67
|
-
.notNull(),
|
|
68
|
-
}),
|
|
69
|
-
t => [
|
|
70
|
-
index('core_admin_sessions_token_idx').on(t.token),
|
|
71
|
-
index('core_admin_sessions_user_id_idx').on(t.userId),
|
|
72
|
-
],
|
|
73
|
-
).enableRLS();
|
|
74
|
-
|
|
75
|
-
export const core_admin_sessions_relations = relations(
|
|
76
|
-
core_admin_sessions,
|
|
77
|
-
({ one }) => ({
|
|
78
|
-
user: one(core_users, {
|
|
79
|
-
fields: [core_admin_sessions.userId],
|
|
80
|
-
references: [core_users.id],
|
|
81
|
-
}),
|
|
82
|
-
device: one(core_sessions_known_devices, {
|
|
83
|
-
fields: [core_admin_sessions.deviceId],
|
|
84
|
-
references: [core_sessions_known_devices.id],
|
|
85
|
-
}),
|
|
86
|
-
}),
|
|
87
|
-
);
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { relations } from 'drizzle-orm';
|
|
2
|
-
import { index, pgTable } from 'drizzle-orm/pg-core';
|
|
3
|
-
|
|
4
|
-
export const core_languages = pgTable(
|
|
5
|
-
'core_languages',
|
|
6
|
-
t => ({
|
|
7
|
-
id: t.serial().primaryKey(),
|
|
8
|
-
code: t.varchar({ length: 32 }).notNull().unique(),
|
|
9
|
-
name: t.varchar({ length: 255 }).notNull(),
|
|
10
|
-
timezone: t.varchar({ length: 255 }).notNull().default('UTC'),
|
|
11
|
-
protected: t.boolean().notNull().default(false),
|
|
12
|
-
default: t.boolean().notNull().default(false),
|
|
13
|
-
enabled: t.boolean().notNull().default(true),
|
|
14
|
-
createdAt: t.timestamp().notNull().defaultNow(),
|
|
15
|
-
updatedAt: t
|
|
16
|
-
.timestamp()
|
|
17
|
-
.notNull()
|
|
18
|
-
.$onUpdate(() => new Date()),
|
|
19
|
-
time24: t.boolean().notNull().default(false),
|
|
20
|
-
}),
|
|
21
|
-
t => [
|
|
22
|
-
index('core_languages_code_idx').on(t.code),
|
|
23
|
-
index('core_languages_name_idx').on(t.name),
|
|
24
|
-
],
|
|
25
|
-
).enableRLS();
|
|
26
|
-
|
|
27
|
-
export const core_languages_words = pgTable(
|
|
28
|
-
'core_languages_words',
|
|
29
|
-
t => ({
|
|
30
|
-
id: t.serial().primaryKey(),
|
|
31
|
-
languageCode: t
|
|
32
|
-
.varchar()
|
|
33
|
-
.notNull()
|
|
34
|
-
.references(() => core_languages.code, {
|
|
35
|
-
onDelete: 'cascade',
|
|
36
|
-
}),
|
|
37
|
-
pluginCode: t.varchar({ length: 50 }).notNull(),
|
|
38
|
-
itemId: t.integer().notNull(),
|
|
39
|
-
value: t.text().notNull(),
|
|
40
|
-
tableName: t.varchar({ length: 255 }).notNull(),
|
|
41
|
-
variable: t.varchar({ length: 255 }).notNull(),
|
|
42
|
-
}),
|
|
43
|
-
t => [index('core_languages_words_lang_code_idx').on(t.languageCode)],
|
|
44
|
-
).enableRLS();
|
|
45
|
-
|
|
46
|
-
export const core_languages_words_relations = relations(
|
|
47
|
-
core_languages_words,
|
|
48
|
-
({ one }) => ({
|
|
49
|
-
language: one(core_languages, {
|
|
50
|
-
fields: [core_languages_words.languageCode],
|
|
51
|
-
references: [core_languages.code],
|
|
52
|
-
}),
|
|
53
|
-
}),
|
|
54
|
-
);
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { relations } from 'drizzle-orm';
|
|
2
|
-
import { index, pgTable } from 'drizzle-orm/pg-core';
|
|
3
|
-
|
|
4
|
-
import { core_roles } from './roles';
|
|
5
|
-
import { core_users } from './users';
|
|
6
|
-
|
|
7
|
-
export const core_moderators_permissions = pgTable(
|
|
8
|
-
'core_moderators_permissions',
|
|
9
|
-
t => ({
|
|
10
|
-
id: t.serial().primaryKey(),
|
|
11
|
-
roleId: t.integer().references(() => core_roles.id, {
|
|
12
|
-
onDelete: 'cascade',
|
|
13
|
-
}),
|
|
14
|
-
userId: t.integer().references(() => core_users.id, {
|
|
15
|
-
onDelete: 'cascade',
|
|
16
|
-
}),
|
|
17
|
-
createdAt: t.timestamp().notNull().defaultNow(),
|
|
18
|
-
updatedAt: t
|
|
19
|
-
.timestamp()
|
|
20
|
-
.notNull()
|
|
21
|
-
.$onUpdate(() => new Date()),
|
|
22
|
-
protected: t.boolean().notNull().default(false),
|
|
23
|
-
}),
|
|
24
|
-
t => [
|
|
25
|
-
index('core_moderators_permissions_role_id_idx').on(t.roleId),
|
|
26
|
-
index('core_moderators_permissions_user_id_idx').on(t.userId),
|
|
27
|
-
],
|
|
28
|
-
).enableRLS();
|
|
29
|
-
|
|
30
|
-
export const core_moderators_permissions_relations = relations(
|
|
31
|
-
core_moderators_permissions,
|
|
32
|
-
({ one }) => ({
|
|
33
|
-
group: one(core_roles, {
|
|
34
|
-
fields: [core_moderators_permissions.roleId],
|
|
35
|
-
references: [core_roles.id],
|
|
36
|
-
}),
|
|
37
|
-
user: one(core_users, {
|
|
38
|
-
fields: [core_moderators_permissions.userId],
|
|
39
|
-
references: [core_users.id],
|
|
40
|
-
}),
|
|
41
|
-
}),
|
|
42
|
-
);
|
package/src/database/roles.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { pgTable } from 'drizzle-orm/pg-core';
|
|
2
|
-
|
|
3
|
-
export const core_roles = pgTable('core_roles', t => ({
|
|
4
|
-
id: t.serial().primaryKey(),
|
|
5
|
-
createdAt: t.timestamp().notNull().defaultNow(),
|
|
6
|
-
updatedAt: t
|
|
7
|
-
.timestamp()
|
|
8
|
-
.notNull()
|
|
9
|
-
.$onUpdate(() => new Date()),
|
|
10
|
-
protected: t.boolean().notNull().default(false),
|
|
11
|
-
default: t.boolean().notNull().default(false),
|
|
12
|
-
root: t.boolean().notNull().default(false),
|
|
13
|
-
guest: t.boolean().notNull().default(false),
|
|
14
|
-
color: t.varchar({ length: 19 }),
|
|
15
|
-
})).enableRLS();
|
package/src/database/sessions.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { relations } from 'drizzle-orm';
|
|
2
|
-
import { index, pgTable } from 'drizzle-orm/pg-core';
|
|
3
|
-
|
|
4
|
-
import { core_users } from './users';
|
|
5
|
-
|
|
6
|
-
export const core_sessions = pgTable(
|
|
7
|
-
'core_sessions',
|
|
8
|
-
t => ({
|
|
9
|
-
id: t.serial().primaryKey(),
|
|
10
|
-
token: t.varchar({ length: 255 }).notNull().unique(),
|
|
11
|
-
userId: t
|
|
12
|
-
.integer()
|
|
13
|
-
.notNull()
|
|
14
|
-
.references(() => core_users.id, {
|
|
15
|
-
onDelete: 'cascade',
|
|
16
|
-
}),
|
|
17
|
-
createdAt: t.timestamp().notNull().defaultNow(),
|
|
18
|
-
expiresAt: t.timestamp().notNull(),
|
|
19
|
-
deviceId: t
|
|
20
|
-
.integer()
|
|
21
|
-
.references(() => core_sessions_known_devices.id, {
|
|
22
|
-
onDelete: 'cascade',
|
|
23
|
-
})
|
|
24
|
-
.notNull(),
|
|
25
|
-
}),
|
|
26
|
-
t => [index('core_sessions_user_id_idx').on(t.userId)],
|
|
27
|
-
).enableRLS();
|
|
28
|
-
|
|
29
|
-
export const core_sessions_relations = relations(core_sessions, ({ one }) => ({
|
|
30
|
-
user: one(core_users, {
|
|
31
|
-
fields: [core_sessions.userId],
|
|
32
|
-
references: [core_users.id],
|
|
33
|
-
}),
|
|
34
|
-
device: one(core_sessions_known_devices, {
|
|
35
|
-
fields: [core_sessions.deviceId],
|
|
36
|
-
references: [core_sessions_known_devices.id],
|
|
37
|
-
}),
|
|
38
|
-
}));
|
|
39
|
-
|
|
40
|
-
export const core_sessions_known_devices = pgTable(
|
|
41
|
-
'core_sessions_known_devices',
|
|
42
|
-
t => ({
|
|
43
|
-
id: t.serial().primaryKey(),
|
|
44
|
-
ipAddress: t.varchar({ length: 40 }).notNull(),
|
|
45
|
-
userAgent: t.text().notNull(),
|
|
46
|
-
lastSeen: t.timestamp().notNull().defaultNow(),
|
|
47
|
-
}),
|
|
48
|
-
t => [index('core_sessions_known_devices_ip_address_idx').on(t.ipAddress)],
|
|
49
|
-
).enableRLS();
|
|
50
|
-
|
|
51
|
-
export const core_sessions_known_devices_relations = relations(
|
|
52
|
-
core_sessions_known_devices,
|
|
53
|
-
({ one }) => ({
|
|
54
|
-
session: one(core_sessions, {
|
|
55
|
-
fields: [core_sessions_known_devices.id],
|
|
56
|
-
references: [core_sessions.deviceId],
|
|
57
|
-
}),
|
|
58
|
-
}),
|
|
59
|
-
);
|
package/src/database/users.ts
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { relations } from 'drizzle-orm';
|
|
2
|
-
import { index, pgTable } from 'drizzle-orm/pg-core';
|
|
3
|
-
|
|
4
|
-
import { core_languages } from './languages';
|
|
5
|
-
import { core_roles } from './roles';
|
|
6
|
-
|
|
7
|
-
export const core_users = pgTable(
|
|
8
|
-
'core_users',
|
|
9
|
-
t => ({
|
|
10
|
-
id: t.serial().primaryKey(),
|
|
11
|
-
nameCode: t.varchar({ length: 255 }).notNull().unique(),
|
|
12
|
-
name: t.varchar({ length: 255 }).notNull().unique(),
|
|
13
|
-
email: t.varchar({ length: 255 }).notNull().unique(),
|
|
14
|
-
password: t.varchar(),
|
|
15
|
-
createdAt: t.timestamp().notNull().defaultNow(),
|
|
16
|
-
newsletter: t.boolean().notNull().default(false),
|
|
17
|
-
avatarColor: t.varchar({ length: 6 }).notNull(),
|
|
18
|
-
emailVerified: t.boolean().notNull().default(false),
|
|
19
|
-
roleId: t
|
|
20
|
-
.integer()
|
|
21
|
-
.references(() => core_roles.id)
|
|
22
|
-
.notNull(),
|
|
23
|
-
birthday: t.timestamp(),
|
|
24
|
-
ipAddress: t.varchar({ length: 40 }).notNull(),
|
|
25
|
-
language: t
|
|
26
|
-
.varchar({ length: 32 })
|
|
27
|
-
.notNull()
|
|
28
|
-
.default('en')
|
|
29
|
-
.references(() => core_languages.code, {
|
|
30
|
-
onDelete: 'set default',
|
|
31
|
-
}),
|
|
32
|
-
}),
|
|
33
|
-
t => [
|
|
34
|
-
index('core_users_name_code_idx').on(t.nameCode),
|
|
35
|
-
index('core_users_name_idx').on(t.name),
|
|
36
|
-
index('core_users_email_idx').on(t.email),
|
|
37
|
-
],
|
|
38
|
-
).enableRLS();
|
|
39
|
-
|
|
40
|
-
export const core_users_relations = relations(core_users, ({ one, many }) => ({
|
|
41
|
-
group: one(core_roles, {
|
|
42
|
-
fields: [core_users.roleId],
|
|
43
|
-
references: [core_roles.id],
|
|
44
|
-
}),
|
|
45
|
-
language: one(core_languages, {
|
|
46
|
-
fields: [core_users.language],
|
|
47
|
-
references: [core_languages.code],
|
|
48
|
-
}),
|
|
49
|
-
confirm_email: one(core_users_confirm_emails, {
|
|
50
|
-
fields: [core_users.id],
|
|
51
|
-
references: [core_users_confirm_emails.userId],
|
|
52
|
-
}),
|
|
53
|
-
sso: many(core_users_sso),
|
|
54
|
-
forgot_password: one(core_users_forgot_password, {
|
|
55
|
-
fields: [core_users.id],
|
|
56
|
-
references: [core_users_forgot_password.userId],
|
|
57
|
-
}),
|
|
58
|
-
}));
|
|
59
|
-
|
|
60
|
-
export const core_users_sso = pgTable(
|
|
61
|
-
'core_users_sso',
|
|
62
|
-
t => ({
|
|
63
|
-
userId: t
|
|
64
|
-
.integer()
|
|
65
|
-
.references(() => core_users.id, {
|
|
66
|
-
onDelete: 'cascade',
|
|
67
|
-
})
|
|
68
|
-
.notNull(),
|
|
69
|
-
providerId: t.varchar({ length: 255 }).notNull(),
|
|
70
|
-
providerAccountId: t.varchar({ length: 255 }).notNull(),
|
|
71
|
-
createdAt: t.timestamp().notNull().defaultNow(),
|
|
72
|
-
updatedAt: t
|
|
73
|
-
.timestamp()
|
|
74
|
-
.notNull()
|
|
75
|
-
.$onUpdate(() => new Date()),
|
|
76
|
-
}),
|
|
77
|
-
t => [index('core_users_sso_user_id_idx').on(t.userId)],
|
|
78
|
-
).enableRLS();
|
|
79
|
-
|
|
80
|
-
export const core_users_sso_relations = relations(
|
|
81
|
-
core_users_sso,
|
|
82
|
-
({ one }) => ({
|
|
83
|
-
user: one(core_users, {
|
|
84
|
-
fields: [core_users_sso.userId],
|
|
85
|
-
references: [core_users.id],
|
|
86
|
-
}),
|
|
87
|
-
}),
|
|
88
|
-
);
|
|
89
|
-
|
|
90
|
-
export const core_users_confirm_emails = pgTable(
|
|
91
|
-
'core_users_confirm_emails',
|
|
92
|
-
t => ({
|
|
93
|
-
id: t.serial().primaryKey(),
|
|
94
|
-
userId: t
|
|
95
|
-
.integer()
|
|
96
|
-
.references(() => core_users.id, {
|
|
97
|
-
onDelete: 'cascade',
|
|
98
|
-
})
|
|
99
|
-
.notNull(),
|
|
100
|
-
token: t.varchar({ length: 100 }).notNull().unique(),
|
|
101
|
-
createdAt: t.timestamp().notNull().defaultNow(),
|
|
102
|
-
expires: t.timestamp().notNull(),
|
|
103
|
-
}),
|
|
104
|
-
).enableRLS();
|
|
105
|
-
|
|
106
|
-
export const core_users_confirm_emails_relations = relations(
|
|
107
|
-
core_users_confirm_emails,
|
|
108
|
-
({ one }) => ({
|
|
109
|
-
user: one(core_users, {
|
|
110
|
-
fields: [core_users_confirm_emails.userId],
|
|
111
|
-
references: [core_users.id],
|
|
112
|
-
}),
|
|
113
|
-
}),
|
|
114
|
-
);
|
|
115
|
-
|
|
116
|
-
export const core_users_forgot_password = pgTable(
|
|
117
|
-
'core_users_forgot_password',
|
|
118
|
-
t => ({
|
|
119
|
-
id: t.serial().primaryKey(),
|
|
120
|
-
userId: t
|
|
121
|
-
.integer()
|
|
122
|
-
.references(() => core_users.id, {
|
|
123
|
-
onDelete: 'cascade',
|
|
124
|
-
})
|
|
125
|
-
.notNull()
|
|
126
|
-
.unique(),
|
|
127
|
-
token: t.varchar({ length: 100 }).notNull().unique(),
|
|
128
|
-
ip_address: t.varchar({ length: 40 }).notNull(),
|
|
129
|
-
createdAt: t.timestamp().notNull().defaultNow(),
|
|
130
|
-
expiresAt: t.timestamp().notNull(),
|
|
131
|
-
}),
|
|
132
|
-
).enableRLS();
|
|
133
|
-
|
|
134
|
-
export const core_users_forgot_password_relations = relations(
|
|
135
|
-
core_users_forgot_password,
|
|
136
|
-
({ one }) => ({
|
|
137
|
-
user: one(core_users, {
|
|
138
|
-
fields: [core_users_forgot_password.userId],
|
|
139
|
-
references: [core_users.id],
|
|
140
|
-
}),
|
|
141
|
-
}),
|
|
142
|
-
);
|