@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,16 +1,87 @@
|
|
|
1
|
+
import process from "node:process";
|
|
1
2
|
import { betterAuth } from "better-auth";
|
|
2
3
|
import { drizzleAdapter } from "better-auth/adapters/drizzle";
|
|
4
|
+
import { admin, username } from "better-auth/plugins";
|
|
5
|
+
import nodemailer from "nodemailer";
|
|
3
6
|
import * as schema from "../database/schema.mjs";
|
|
4
7
|
import { db } from "./db.mjs";
|
|
8
|
+
const transporter = nodemailer.createTransport({
|
|
9
|
+
host: process.env.SMTP_ADDRESS,
|
|
10
|
+
port: Number(process.env.SMTP_PORT) || 587,
|
|
11
|
+
// secure: true, // true for 465, false for other ports
|
|
12
|
+
auth: {
|
|
13
|
+
user: process.env.SMTP_USERNAME,
|
|
14
|
+
pass: process.env.SMTP_PASSWORD
|
|
15
|
+
}
|
|
16
|
+
});
|
|
5
17
|
export const auth = betterAuth({
|
|
18
|
+
baseURL: process.env.URL,
|
|
6
19
|
database: drizzleAdapter(db, {
|
|
7
|
-
provider: "
|
|
20
|
+
provider: "pg",
|
|
8
21
|
schema
|
|
9
|
-
})
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
// }
|
|
15
|
-
//
|
|
22
|
+
}),
|
|
23
|
+
// hooks: {
|
|
24
|
+
// before: createAuthMiddleware(async (ctx) => {
|
|
25
|
+
// if (ctx.path !== '/sign-up/email') {
|
|
26
|
+
// return;
|
|
27
|
+
// }
|
|
28
|
+
// const user = await db.query.users.findFirst({
|
|
29
|
+
// where: {
|
|
30
|
+
// email: ctx.body?.email,
|
|
31
|
+
// },
|
|
32
|
+
// });
|
|
33
|
+
// if (!user) {
|
|
34
|
+
// throw new APIError('BAD_REQUEST', {
|
|
35
|
+
// error: 'Usuario no invitado',
|
|
36
|
+
// });
|
|
37
|
+
// }
|
|
38
|
+
// }),
|
|
39
|
+
// },
|
|
40
|
+
emailVerification: {
|
|
41
|
+
sendOnSignUp: true,
|
|
42
|
+
sendOnSignIn: true,
|
|
43
|
+
async sendVerificationEmail({ url, user }) {
|
|
44
|
+
await transporter.sendMail({
|
|
45
|
+
from: process.env.EMAIL_FROM,
|
|
46
|
+
to: user.email,
|
|
47
|
+
subject: "Verify your email",
|
|
48
|
+
text: `Please verify your email by clicking the following link: ${url}`,
|
|
49
|
+
html: `<p>Please verify your email by clicking the following link:</p><a href="${url}">${url}</a>`
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
emailAndPassword: {
|
|
54
|
+
enabled: true,
|
|
55
|
+
requireEmailVerification: true,
|
|
56
|
+
async sendResetPassword({ url, user }) {
|
|
57
|
+
await transporter.sendMail({
|
|
58
|
+
from: process.env.EMAIL_FROM,
|
|
59
|
+
to: user.email,
|
|
60
|
+
subject: "Reset your password",
|
|
61
|
+
text: `You can reset your password by clicking the following link: ${url}`,
|
|
62
|
+
html: `<p>You can reset your password by clicking the following link:</p><a href="${url}">${url}</a>`
|
|
63
|
+
});
|
|
64
|
+
},
|
|
65
|
+
customSyntheticUser: ({ coreFields, additionalFields, id }) => ({
|
|
66
|
+
...coreFields,
|
|
67
|
+
// Admin plugin fields (in schema order)
|
|
68
|
+
role: "user",
|
|
69
|
+
// or your configured defaultRole
|
|
70
|
+
banned: false,
|
|
71
|
+
banReason: null,
|
|
72
|
+
banExpires: null,
|
|
73
|
+
...additionalFields,
|
|
74
|
+
id
|
|
75
|
+
})
|
|
76
|
+
},
|
|
77
|
+
session: {
|
|
78
|
+
cookieCache: {
|
|
79
|
+
enabled: true
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
plugins: [
|
|
83
|
+
admin({}),
|
|
84
|
+
username()
|
|
85
|
+
// bearer(),
|
|
86
|
+
]
|
|
16
87
|
});
|
package/cms/server/utils/db.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import process from 'node:process';
|
|
2
|
+
import * as schema from '../database/schema';
|
|
3
|
+
export declare const db: import("drizzle-orm/node-postgres").NodePgDatabase<import("drizzle-orm").ExtractTablesWithRelations<{}, import("drizzle-orm").ExtractTablesFromSchema<typeof schema>>> & {
|
|
4
|
+
$client: import("drizzle-orm/node-postgres").NodePgClient extends TClient ? process : TClient;
|
|
3
5
|
};
|
package/cms/server/utils/db.mjs
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import process from "node:process";
|
|
2
|
-
import {
|
|
3
|
-
import { drizzle } from "drizzle-orm/
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { defineRelations } from "drizzle-orm";
|
|
3
|
+
import { drizzle } from "drizzle-orm/node-postgres";
|
|
4
|
+
import * as schema from "../database/schema.mjs";
|
|
5
|
+
const relations = defineRelations(schema, (_r) => ({}));
|
|
6
|
+
export const db = drizzle(process.env.DATABASE_URL, {
|
|
7
|
+
relations
|
|
8
|
+
});
|
|
@@ -7,7 +7,6 @@ export declare const ghRepoContributors: any;
|
|
|
7
7
|
export declare const ghRepoFiles: any;
|
|
8
8
|
export declare const ghRepoFile: any;
|
|
9
9
|
export declare const ghRepoBlob: any;
|
|
10
|
-
export declare const ghMarkdown: any;
|
|
11
10
|
export declare function ghCreateBlob(repo: string, body: any): Promise<any>;
|
|
12
11
|
export declare function ghCreateTree(repo: string, body: any): Promise<any>;
|
|
13
12
|
export declare function ghCreateCommit(repo: string, body: any): Promise<any>;
|
|
@@ -64,7 +64,8 @@ export const ghFetch = defineCachedFunction(
|
|
|
64
64
|
return false;
|
|
65
65
|
}
|
|
66
66
|
return true;
|
|
67
|
-
}
|
|
67
|
+
},
|
|
68
|
+
getKey: (url) => url
|
|
68
69
|
}
|
|
69
70
|
);
|
|
70
71
|
export async function ghFetchNoCache(url, opts = {}) {
|
|
@@ -106,35 +107,24 @@ export const ghRepoFiles = defineCachedFunction((repo, ref) => {
|
|
|
106
107
|
repo = joinURL(OWNER, repo);
|
|
107
108
|
return ghFetch(`/repos/${repo}/git/trees/${ref}?recursive=1`);
|
|
108
109
|
}, cacheOptions("files"));
|
|
109
|
-
export const ghRepoFile = defineCachedFunction((repo, ref, branch) => {
|
|
110
|
+
export const ghRepoFile = defineCachedFunction((repo, ref, branch, invalidate = false) => {
|
|
110
111
|
repo = joinURL(OWNER, repo);
|
|
111
|
-
|
|
112
|
-
|
|
112
|
+
const url = `/repos/${repo}/contents/${ref}?branch=${branch}`;
|
|
113
|
+
if (invalidate) {
|
|
114
|
+
ghFetch.invalidate(url);
|
|
115
|
+
}
|
|
116
|
+
return ghFetch(url);
|
|
117
|
+
}, {
|
|
118
|
+
...cacheOptions("file"),
|
|
119
|
+
getKey: (repo, ref, branch, _invalidate) => {
|
|
120
|
+
const key = `${repo}/${ref}/${branch}`;
|
|
121
|
+
return key;
|
|
122
|
+
}
|
|
123
|
+
});
|
|
113
124
|
export const ghRepoBlob = defineCachedFunction((repo, sha) => {
|
|
114
125
|
repo = joinURL(OWNER, repo);
|
|
115
126
|
return ghFetch(`/repos/${repo}/git/blobs/${sha}`);
|
|
116
127
|
}, cacheOptions("blobs"));
|
|
117
|
-
export const ghMarkdown = defineCachedFunction(
|
|
118
|
-
(markdown, repo, _id) => {
|
|
119
|
-
if (!markdown) {
|
|
120
|
-
return "";
|
|
121
|
-
}
|
|
122
|
-
return ghFetch("/markdown", {
|
|
123
|
-
method: "POST",
|
|
124
|
-
headers: {
|
|
125
|
-
accept: "application/vnd.github+json"
|
|
126
|
-
},
|
|
127
|
-
body: JSON.stringify({
|
|
128
|
-
text: markdown,
|
|
129
|
-
context: repo
|
|
130
|
-
})
|
|
131
|
-
});
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
...cacheOptions("markdown"),
|
|
135
|
-
getKey: (_markdown, repo, id) => `${repo}/${id}`
|
|
136
|
-
}
|
|
137
|
-
);
|
|
138
128
|
function isEmptyArray(val) {
|
|
139
129
|
return Array.isArray(val) && val.length === 0;
|
|
140
130
|
}
|
|
@@ -5,7 +5,8 @@ const adminHtml = `<!DOCTYPE html>
|
|
|
5
5
|
<meta charset="UTF-8" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>CMS</title>
|
|
8
|
-
<script type="module" crossorigin src="/cms/v3/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/cms/v3/assets/index.spa-_gVd6eNI.js"><\/script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/cms/v3/assets/index-B-MXuuNZ.css">
|
|
9
10
|
</head>
|
|
10
11
|
<body>
|
|
11
12
|
<div id="app"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@monkeyplus/flow",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.38",
|
|
4
4
|
"description": "@monkeyplus/flow package-first runtime with Vite, Nitro, Vue and a workspace playground.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"@vitejs/plugin-vue": "^6.0.5",
|
|
89
89
|
"@vue/server-renderer": "^3.5.13",
|
|
90
90
|
"ipx": "^3.1.1",
|
|
91
|
-
"nitro": "3.0.
|
|
91
|
+
"nitro": "3.0.260610-beta",
|
|
92
92
|
"std-env": "^4.0.0",
|
|
93
93
|
"ufo": "^1.6.1",
|
|
94
94
|
"unhead": "^3.1.0",
|