@monkeyplus/flow 6.0.37 → 6.0.38
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/cms/dist/assets/AuthForm-D9zqy79A.js +1 -0
- package/cms/dist/assets/Button-BxK__vWW.js +3 -0
- package/cms/dist/assets/Checkbox-ZAz-DF2K.js +1 -0
- package/cms/dist/assets/Cms-C6Sdowsy.js +1 -0
- package/cms/dist/assets/Cms-Dy96x5P5.js +1 -0
- package/cms/dist/assets/Cms.vue_vue_type_script_setup_true_lang-DibRYDhk.js +1 -0
- package/cms/dist/assets/Collection-CeT7sqBS.js +1 -0
- package/cms/dist/assets/Collection-CkmskhNr.js +1 -0
- package/cms/dist/assets/Collection.vue_vue_type_script_setup_true_lang-CLuwC8Uj.js +4 -0
- package/cms/dist/assets/DropdownMenu-D5x3rHhs.js +1 -0
- package/cms/dist/assets/Entry-C0oNgptm.js +1 -0
- package/cms/dist/assets/Entry-DK9arl_r.js +1 -0
- package/cms/dist/assets/Entry-DiaxpV9P.js +1 -0
- package/cms/dist/assets/Entry-DnIfmeOq.js +1 -0
- package/cms/dist/assets/Entry.vue_vue_type_script_setup_true_lang-DQpUwjD1.js +1 -0
- package/cms/dist/assets/Entry.vue_vue_type_script_setup_true_lang-Lpiwz51b.js +1 -0
- package/cms/dist/assets/Fields-25hjY31I.js +210 -0
- package/cms/dist/assets/Fields-CnUfMg91.css +1 -0
- package/cms/dist/assets/FormField-j7eHJ9wN.js +1 -0
- package/cms/dist/assets/Input-1aJl-rMT.js +1 -0
- package/cms/dist/assets/Main-I4OsPHC_.js +1 -0
- package/cms/dist/assets/Media-BiUrdhiy.js +64 -0
- package/cms/dist/assets/Modal-CL4NZ42V.js +1 -0
- package/cms/dist/assets/Page-C2SS3gyg.js +1 -0
- package/cms/dist/assets/PageSideForm-BZD26RtU.js +1 -0
- package/cms/dist/assets/PageSideForm-CEDt6M5O.js +1 -0
- package/cms/dist/assets/Pages-BQ95j-9A.js +1 -0
- package/cms/dist/assets/Pages-Ci78caHB.js +1 -0
- package/cms/dist/assets/Preview-DV3zHCWR.js +1 -0
- package/cms/dist/assets/RovingFocusGroup-CnDWyi3J.js +1 -0
- package/cms/dist/assets/RovingFocusItem-VyijGu8z.js +1 -0
- package/cms/dist/assets/Settings-BygzRFRi.js +1 -0
- package/cms/dist/assets/Sidebar-RRp6XCg_.js +1 -0
- package/cms/dist/assets/TooltipProvider-B0Lr7v95.js +1 -0
- package/cms/dist/assets/app-DFMmXmuL.js +1 -0
- package/cms/dist/assets/app-DyuvC6pP.js +1 -0
- package/cms/dist/assets/app.vue_vue_type_script_setup_true_lang-a-0WngBC.js +13 -0
- package/cms/dist/assets/auth-DCLgP-Ce.js +3 -0
- package/cms/dist/assets/cms-BfAB9urh.js +1 -0
- package/cms/dist/assets/dist-gC8hGhMx.js +1 -0
- package/cms/dist/assets/index-B-MXuuNZ.css +2 -0
- package/cms/dist/assets/index.spa-_gVd6eNI.js +18 -0
- package/cms/dist/assets/index.vue_vue_type_script_setup_true_lang-mq8D_l8z.js +1 -0
- package/cms/dist/assets/not-found-DKsTsHpk.js +1 -0
- package/cms/dist/assets/not-found-DclK62tc.js +1 -0
- package/cms/dist/assets/pages-DLGXw_J5.js +1 -0
- package/cms/dist/assets/pages-DhCx_5RP.js +1 -0
- package/cms/dist/assets/preview-EralP1Qk.js +1 -0
- package/cms/dist/assets/useCmsBreadcrumb-Cvg0a25f.js +1 -0
- package/cms/dist/assets/useOverlay-42WuI5Jo.js +1 -0
- package/cms/dist/assets/usePortal-BkuxWRnT.js +1 -0
- package/cms/dist/assets/useToast-CDyjwefJ.js +1 -0
- package/cms/dist/assets/utils-DsgHgvSL.js +1 -0
- package/cms/dist/assets/virtualizer-IKP0IcQd.js +1 -0
- package/cms/dist/index.spa.html +13 -0
- package/cms/server/database/schema.d.ts +257 -261
- package/cms/server/database/schema.mjs +58 -38
- package/cms/server/middleware/auth.d.ts +2 -0
- package/cms/server/middleware/auth.mjs +18 -0
- package/cms/server/plugins/migrate.d.ts +2 -0
- package/cms/server/plugins/migrate.mjs +16 -0
- package/cms/server/routes/api/auth/init/index.get.d.ts +2 -0
- package/cms/server/routes/api/auth/init/index.get.mjs +8 -0
- package/cms/server/routes/api/auth/init/index.post.d.ts +2 -0
- package/cms/server/routes/api/auth/init/index.post.mjs +18 -0
- package/cms/server/routes/api/repos/remote/[repo]/files/[branch]/index.mjs +5 -1
- package/cms/server/utils/auth.d.ts +1139 -0
- package/cms/server/utils/auth.mjs +79 -8
- package/cms/server/utils/db.d.ts +4 -2
- package/cms/server/utils/db.mjs +7 -4
- package/cms/server/utils/github.d.ts +0 -1
- package/cms/server/utils/github.mjs +15 -25
- package/modules/cms/server/api/admin.mjs +2 -1
- package/package.json +2 -2
|
@@ -1,43 +1,63 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export const
|
|
1
|
+
import { boolean, index, snakeCase, text, timestamp } from "drizzle-orm/pg-core";
|
|
2
|
+
export const auth = snakeCase.schema("auth");
|
|
3
|
+
export const user = auth.table("user", {
|
|
3
4
|
id: text("id").primaryKey(),
|
|
4
5
|
name: text("name").notNull(),
|
|
5
6
|
email: text("email").notNull().unique(),
|
|
6
|
-
emailVerified:
|
|
7
|
+
emailVerified: boolean("email_verified").default(false).notNull(),
|
|
7
8
|
image: text("image"),
|
|
8
|
-
createdAt:
|
|
9
|
-
updatedAt:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
updatedAt: integer("updatedAt", { mode: "timestamp" }).notNull(),
|
|
17
|
-
ipAddress: text("ipAddress"),
|
|
18
|
-
userAgent: text("userAgent"),
|
|
19
|
-
userId: text("userId").notNull().references(() => user.id)
|
|
20
|
-
});
|
|
21
|
-
export const account = sqliteTable("account", {
|
|
22
|
-
id: text("id").primaryKey(),
|
|
23
|
-
accountId: text("accountId").notNull(),
|
|
24
|
-
providerId: text("providerId").notNull(),
|
|
25
|
-
userId: text("userId").notNull().references(() => user.id),
|
|
26
|
-
accessToken: text("accessToken"),
|
|
27
|
-
refreshToken: text("refreshToken"),
|
|
28
|
-
idToken: text("idToken"),
|
|
29
|
-
accessTokenExpiresAt: integer("accessTokenExpiresAt", { mode: "timestamp" }),
|
|
30
|
-
refreshTokenExpiresAt: integer("refreshTokenExpiresAt", { mode: "timestamp" }),
|
|
31
|
-
scope: text("scope"),
|
|
32
|
-
password: text("password"),
|
|
33
|
-
createdAt: integer("createdAt", { mode: "timestamp" }).notNull(),
|
|
34
|
-
updatedAt: integer("updatedAt", { mode: "timestamp" }).notNull()
|
|
35
|
-
});
|
|
36
|
-
export const verification = sqliteTable("verification", {
|
|
37
|
-
id: text("id").primaryKey(),
|
|
38
|
-
identifier: text("identifier").notNull(),
|
|
39
|
-
value: text("value").notNull(),
|
|
40
|
-
expiresAt: integer("expiresAt", { mode: "timestamp" }).notNull(),
|
|
41
|
-
createdAt: integer("createdAt", { mode: "timestamp" }).notNull(),
|
|
42
|
-
updatedAt: integer("updatedAt", { mode: "timestamp" }).notNull()
|
|
9
|
+
createdAt: timestamp("created_at").defaultNow().notNull(),
|
|
10
|
+
updatedAt: timestamp("updated_at").defaultNow().$onUpdate(() => /* @__PURE__ */ new Date()).notNull(),
|
|
11
|
+
role: text("role"),
|
|
12
|
+
banned: boolean("banned").default(false),
|
|
13
|
+
banReason: text("ban_reason"),
|
|
14
|
+
banExpires: timestamp("ban_expires"),
|
|
15
|
+
username: text("username").unique(),
|
|
16
|
+
displayUsername: text("display_username")
|
|
43
17
|
});
|
|
18
|
+
export const session = auth.table(
|
|
19
|
+
"session",
|
|
20
|
+
{
|
|
21
|
+
id: text("id").primaryKey(),
|
|
22
|
+
expiresAt: timestamp("expires_at").notNull(),
|
|
23
|
+
token: text("token").notNull().unique(),
|
|
24
|
+
createdAt: timestamp("created_at").defaultNow().notNull(),
|
|
25
|
+
updatedAt: timestamp("updated_at").$onUpdate(() => /* @__PURE__ */ new Date()).notNull(),
|
|
26
|
+
ipAddress: text("ip_address"),
|
|
27
|
+
userAgent: text("user_agent"),
|
|
28
|
+
userId: text("user_id").notNull().references(() => user.id, { onDelete: "cascade" }),
|
|
29
|
+
impersonatedBy: text("impersonated_by")
|
|
30
|
+
},
|
|
31
|
+
(table) => [index("session_userId_idx").on(table.userId)]
|
|
32
|
+
);
|
|
33
|
+
export const account = auth.table(
|
|
34
|
+
"account",
|
|
35
|
+
{
|
|
36
|
+
id: text("id").primaryKey(),
|
|
37
|
+
accountId: text("account_id").notNull(),
|
|
38
|
+
providerId: text("provider_id").notNull(),
|
|
39
|
+
userId: text("user_id").notNull().references(() => user.id, { onDelete: "cascade" }),
|
|
40
|
+
accessToken: text("access_token"),
|
|
41
|
+
refreshToken: text("refresh_token"),
|
|
42
|
+
idToken: text("id_token"),
|
|
43
|
+
accessTokenExpiresAt: timestamp("access_token_expires_at"),
|
|
44
|
+
refreshTokenExpiresAt: timestamp("refresh_token_expires_at"),
|
|
45
|
+
scope: text("scope"),
|
|
46
|
+
password: text("password"),
|
|
47
|
+
createdAt: timestamp("created_at").defaultNow().notNull(),
|
|
48
|
+
updatedAt: timestamp("updated_at").$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
|
|
49
|
+
},
|
|
50
|
+
(table) => [index("account_userId_idx").on(table.userId)]
|
|
51
|
+
);
|
|
52
|
+
export const verification = auth.table(
|
|
53
|
+
"verification",
|
|
54
|
+
{
|
|
55
|
+
id: text("id").primaryKey(),
|
|
56
|
+
identifier: text("identifier").notNull(),
|
|
57
|
+
value: text("value").notNull(),
|
|
58
|
+
expiresAt: timestamp("expires_at").notNull(),
|
|
59
|
+
createdAt: timestamp("created_at").defaultNow().notNull(),
|
|
60
|
+
updatedAt: timestamp("updated_at").defaultNow().$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
|
|
61
|
+
},
|
|
62
|
+
(table) => [index("verification_identifier_idx").on(table.identifier)]
|
|
63
|
+
);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { defineHandler, HTTPError } from "nitro";
|
|
2
|
+
import { auth } from "#cms-utils/auth";
|
|
3
|
+
export default defineHandler(async (event) => {
|
|
4
|
+
if (event.url.pathname.startsWith("/api/repos") || event.url.pathname.startsWith("/api/draft")) {
|
|
5
|
+
const session = await auth.api.getSession({
|
|
6
|
+
headers: event.req.headers
|
|
7
|
+
});
|
|
8
|
+
if (!session?.user) {
|
|
9
|
+
return new HTTPError({
|
|
10
|
+
statusCode: 401,
|
|
11
|
+
statusMessage: "Unauthorized"
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
event.context.user = session.user;
|
|
15
|
+
event.context.session = session.session;
|
|
16
|
+
event.context.auth = session;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import { migrate } from "drizzle-orm/node-postgres/migrator";
|
|
3
|
+
import { definePlugin } from "nitro";
|
|
4
|
+
import { db } from "../utils/db.mjs";
|
|
5
|
+
export default definePlugin(async (nitroApp) => {
|
|
6
|
+
if (process.env.NODE_ENV === "production" || process.env.RUN_MIGRATIONS === "true") {
|
|
7
|
+
console.log("[Migrations] Iniciando ejecuci\xF3n de migraciones de la base de datos...");
|
|
8
|
+
try {
|
|
9
|
+
await migrate(db, { migrationsFolder: "./drizzle" });
|
|
10
|
+
console.log("[Migrations] Migraciones completadas exitosamente.");
|
|
11
|
+
} catch (error) {
|
|
12
|
+
console.error("[Migrations] Error cr\xEDtico al ejecutar las migraciones:", error);
|
|
13
|
+
process.exit(1);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { defineEventHandler, readBody } from "nitro/h3";
|
|
2
|
+
import { auth } from "#cms-utils/auth";
|
|
3
|
+
import { db } from "#cms-utils/db";
|
|
4
|
+
export default defineEventHandler(async (event) => {
|
|
5
|
+
const user = await db.query.user.findFirst();
|
|
6
|
+
if (user) {
|
|
7
|
+
throw new Error("User already exists");
|
|
8
|
+
}
|
|
9
|
+
const body = await readBody(event);
|
|
10
|
+
const newUser = await auth.api.createUser({
|
|
11
|
+
body: {
|
|
12
|
+
...body,
|
|
13
|
+
role: "admin"
|
|
14
|
+
// username
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
return newUser;
|
|
18
|
+
});
|
|
@@ -12,7 +12,11 @@ export default defineHandler(async (event) => {
|
|
|
12
12
|
const branch = event.context.params.branch;
|
|
13
13
|
const query = getQuery(event);
|
|
14
14
|
if (query.file) {
|
|
15
|
-
|
|
15
|
+
if (query.invalidate && event.req.method === "PATCH") {
|
|
16
|
+
await ghRepoFile.invalidate(repo, query.file, branch);
|
|
17
|
+
return await ghRepoFile(repo, query.file, branch, true);
|
|
18
|
+
}
|
|
19
|
+
return await ghRepoFile(repo, query.file, branch, false);
|
|
16
20
|
}
|
|
17
21
|
if (!query.folder) {
|
|
18
22
|
return new HTTPError({
|