@strapi-community/plugin-better-auth-dashboard 1.0.0-beta.1 → 1.0.0

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.
Files changed (46) hide show
  1. package/README.md +0 -3
  2. package/dist/admin/Avatar-CdT7eBCh.js +39 -0
  3. package/dist/admin/Avatar-zlMTAZh3.mjs +40 -0
  4. package/dist/admin/{Root-2FMy-qQg.mjs → Root-CgVBJuoM.mjs} +12 -4
  5. package/dist/admin/{Root-DDi0mtve.js → Root-CsiOnzlB.js} +12 -4
  6. package/dist/admin/cs-C_jSgeON.js +416 -0
  7. package/dist/admin/cs-wtnknvBC.mjs +416 -0
  8. package/dist/admin/de-Cg5HyoCY.js +416 -0
  9. package/dist/admin/de-DnnVdUxk.mjs +416 -0
  10. package/dist/admin/en-B3utEgMT.mjs +416 -0
  11. package/dist/admin/en-Cz1IJEvp.js +416 -0
  12. package/dist/admin/es-CGA0Tslt.js +416 -0
  13. package/dist/admin/es-RoCEriJL.mjs +416 -0
  14. package/dist/admin/fr-Ca74t21t.js +416 -0
  15. package/dist/admin/fr-CtmuSfiQ.mjs +416 -0
  16. package/dist/admin/{index-BHfYu0uA.js → index-BCBu-0nr.js} +65 -10
  17. package/dist/admin/{index-D9CiI8Yr.mjs → index-BI2WIsds.mjs} +73 -18
  18. package/dist/admin/index-CPSoAbZt.js +2321 -0
  19. package/dist/admin/index-D9ttdrT3.js +2716 -0
  20. package/dist/admin/index-DQdn5s8q.js +1184 -0
  21. package/dist/admin/index-DvfwvCj0.mjs +1182 -0
  22. package/dist/admin/index-VyHXoQ6p.mjs +2321 -0
  23. package/dist/admin/index-gFqHlMLP.mjs +2716 -0
  24. package/dist/admin/index.js +1 -1
  25. package/dist/admin/index.mjs +1 -1
  26. package/dist/admin/it-BAB9hDdp.mjs +416 -0
  27. package/dist/admin/it-dYT2_ERV.js +416 -0
  28. package/dist/admin/nl-CVqSbUU9.js +416 -0
  29. package/dist/admin/nl-CYv26PHv.mjs +416 -0
  30. package/dist/admin/pl-Bc0cS2mD.mjs +416 -0
  31. package/dist/admin/pl-HYF4BxRv.js +416 -0
  32. package/dist/admin/pt-DDUGyLtb.js +416 -0
  33. package/dist/admin/pt-DZyyK3EG.mjs +416 -0
  34. package/dist/admin/{useModelSchema-CqOTI7P1.js → useModelSchema-BogQah8f.js} +309 -287
  35. package/dist/admin/{useModelSchema-B2tmzlwQ.mjs → useModelSchema-C6bxNjW4.mjs} +320 -298
  36. package/dist/server/index.js +15 -15
  37. package/dist/server/index.mjs +15 -15
  38. package/package.json +4 -4
  39. package/dist/admin/Avatar-Cvk89aMx.js +0 -67
  40. package/dist/admin/Avatar-DNczJU0i.mjs +0 -66
  41. package/dist/admin/index-BQi_BUi6.mjs +0 -1968
  42. package/dist/admin/index-BV-4M_Fp.js +0 -1970
  43. package/dist/admin/index-CANDPUGD.mjs +0 -1215
  44. package/dist/admin/index-CqR8WpOa.js +0 -1217
  45. package/dist/admin/index-D6ktNZcj.js +0 -1685
  46. package/dist/admin/index-DszX3ibA.mjs +0 -1683
@@ -1,20 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const utils = require("@strapi/utils");
4
- const config = {
5
- default: {},
6
- validator(config2) {
7
- if (config2.email_callback_url === void 0) return;
8
- if (typeof config2.email_callback_url !== "string" || config2.email_callback_url.length === 0) {
9
- throw new Error("email_callback_url must be a non-empty string");
10
- }
11
- try {
12
- new URL(config2.email_callback_url);
13
- } catch {
14
- throw new Error("email_callback_url must be a valid absolute URL");
15
- }
16
- }
17
- };
18
4
  const strapi$1 = { "name": "better-auth-dashboard" };
19
5
  const packageJson = {
20
6
  strapi: strapi$1
@@ -50,6 +36,20 @@ const bootstrap = async ({ strapi: strapi2 }) => {
50
36
  }
51
37
  }
52
38
  };
39
+ const config = {
40
+ default: {},
41
+ validator(config2) {
42
+ if (config2.email_callback_url === void 0) return;
43
+ if (typeof config2.email_callback_url !== "string" || config2.email_callback_url.length === 0) {
44
+ throw new Error("email_callback_url must be a non-empty string");
45
+ }
46
+ try {
47
+ new URL(config2.email_callback_url);
48
+ } catch {
49
+ throw new Error("email_callback_url must be a valid absolute URL");
50
+ }
51
+ }
52
+ };
53
53
  const DASHBOARD_API_KEY = process.env.BETTER_AUTH_DASHBOARD_SECRET || "strapi-internal-dashboard-key";
54
54
  const DASH_CONTEXT_HEADER = "x-dash-context";
55
55
  async function hashApiKey(value) {
@@ -162,7 +162,7 @@ const dbController = () => ({
162
162
  start: (page - 1) * pageSize,
163
163
  ...populateArg ? { populate: populateArg } : {}
164
164
  }),
165
- strapi.documents(uid).count({ filters: filters ?? {} })
165
+ service.count({ filters: filters ?? {} })
166
166
  ]);
167
167
  ctx.body = {
168
168
  results,
@@ -1,18 +1,4 @@
1
1
  import { errors } from "@strapi/utils";
2
- const config = {
3
- default: {},
4
- validator(config2) {
5
- if (config2.email_callback_url === void 0) return;
6
- if (typeof config2.email_callback_url !== "string" || config2.email_callback_url.length === 0) {
7
- throw new Error("email_callback_url must be a non-empty string");
8
- }
9
- try {
10
- new URL(config2.email_callback_url);
11
- } catch {
12
- throw new Error("email_callback_url must be a valid absolute URL");
13
- }
14
- }
15
- };
16
2
  const strapi$1 = { "name": "better-auth-dashboard" };
17
3
  const packageJson = {
18
4
  strapi: strapi$1
@@ -48,6 +34,20 @@ const bootstrap = async ({ strapi: strapi2 }) => {
48
34
  }
49
35
  }
50
36
  };
37
+ const config = {
38
+ default: {},
39
+ validator(config2) {
40
+ if (config2.email_callback_url === void 0) return;
41
+ if (typeof config2.email_callback_url !== "string" || config2.email_callback_url.length === 0) {
42
+ throw new Error("email_callback_url must be a non-empty string");
43
+ }
44
+ try {
45
+ new URL(config2.email_callback_url);
46
+ } catch {
47
+ throw new Error("email_callback_url must be a valid absolute URL");
48
+ }
49
+ }
50
+ };
51
51
  const DASHBOARD_API_KEY = process.env.BETTER_AUTH_DASHBOARD_SECRET || "strapi-internal-dashboard-key";
52
52
  const DASH_CONTEXT_HEADER = "x-dash-context";
53
53
  async function hashApiKey(value) {
@@ -160,7 +160,7 @@ const dbController = () => ({
160
160
  start: (page - 1) * pageSize,
161
161
  ...populateArg ? { populate: populateArg } : {}
162
162
  }),
163
- strapi.documents(uid).count({ filters: filters ?? {} })
163
+ service.count({ filters: filters ?? {} })
164
164
  ]);
165
165
  ctx.body = {
166
166
  results,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi-community/plugin-better-auth-dashboard",
3
- "version": "1.0.0-beta.1",
3
+ "version": "1.0.0",
4
4
  "description": "Better Auth dashboard for the Strapi admin panel",
5
5
  "keywords": [
6
6
  "strapi",
@@ -42,8 +42,8 @@
42
42
  "@biomejs/biome": "^2.3.11",
43
43
  "@playwright/test": "^1.49.0",
44
44
  "@strapi/sdk-plugin": "^6.0.0",
45
- "@strapi/strapi": "5.45.0",
46
- "@strapi/typescript-utils": "5.45.0",
45
+ "@strapi/strapi": "5.60.0",
46
+ "@strapi/typescript-utils": "5.60.0",
47
47
  "@types/koa": "^3.0.1",
48
48
  "@types/node": "^22",
49
49
  "@types/react": "^18.0.0",
@@ -65,7 +65,7 @@
65
65
  "react-query": "^3.0.0",
66
66
  "styled-components": "^6.0.0",
67
67
  "react-router-dom": "^6.0.0",
68
- "@strapi-community/plugin-better-auth": "^1.0.0-beta.7"
68
+ "@strapi-community/plugin-better-auth": "^1.0.0"
69
69
  },
70
70
  "strapi": {
71
71
  "kind": "plugin",
@@ -1,67 +0,0 @@
1
- "use strict";
2
- const jsxRuntime = require("react/jsx-runtime");
3
- const designSystem = require("@strapi/design-system");
4
- const styled = require("styled-components");
5
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
6
- const styled__default = /* @__PURE__ */ _interopDefault(styled);
7
- const PALETTE = [
8
- { bg: "#EAF5FF", fg: "#0C75AF" },
9
- { bg: "#F0F0FF", fg: "#4945FF" },
10
- { bg: "#EAFBE7", fg: "#328048" },
11
- { bg: "#FFF3D3", fg: "#8E6A00" },
12
- { bg: "#FCECEA", fg: "#D02B20" },
13
- { bg: "#F6ECFC", fg: "#8312D1" },
14
- { bg: "#E8F8F5", fg: "#1A7F64" }
15
- ];
16
- const Circle = styled__default.default.div`
17
- width: ${(p) => p.$size}px;
18
- height: ${(p) => p.$size}px;
19
- border-radius: 50%;
20
- background: ${(p) => p.$bg};
21
- color: ${(p) => p.$fg};
22
- display: inline-flex;
23
- align-items: center;
24
- justify-content: center;
25
- font-size: ${(p) => Math.round(p.$size * 0.38)}px;
26
- font-weight: 700;
27
- flex-shrink: 0;
28
- letter-spacing: -0.01em;
29
- user-select: none;
30
- `;
31
- function getColor(seed) {
32
- const code = (seed.charCodeAt(0) || 0) + (seed.charCodeAt(1) || 0);
33
- return PALETTE[code % PALETTE.length];
34
- }
35
- function getInitials(name) {
36
- const parts = name.trim().split(/\s+/);
37
- if (parts.length === 0 || !parts[0]) return "?";
38
- if (parts.length === 1) return parts[0].slice(0, 2).toUpperCase();
39
- return (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();
40
- }
41
- function Avatar({
42
- name,
43
- src,
44
- size = 32
45
- }) {
46
- if (src) {
47
- return /* @__PURE__ */ jsxRuntime.jsx(
48
- designSystem.Box,
49
- {
50
- tag: "img",
51
- src,
52
- alt: "",
53
- style: {
54
- width: size,
55
- height: size,
56
- borderRadius: "50%",
57
- objectFit: "cover",
58
- flexShrink: 0,
59
- display: "block"
60
- }
61
- }
62
- );
63
- }
64
- const color = getColor(name || "?");
65
- return /* @__PURE__ */ jsxRuntime.jsx(Circle, { $bg: color.bg, $fg: color.fg, $size: size, children: getInitials(name || "?") });
66
- }
67
- exports.Avatar = Avatar;
@@ -1,66 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { Box } from "@strapi/design-system";
3
- import styled from "styled-components";
4
- const PALETTE = [
5
- { bg: "#EAF5FF", fg: "#0C75AF" },
6
- { bg: "#F0F0FF", fg: "#4945FF" },
7
- { bg: "#EAFBE7", fg: "#328048" },
8
- { bg: "#FFF3D3", fg: "#8E6A00" },
9
- { bg: "#FCECEA", fg: "#D02B20" },
10
- { bg: "#F6ECFC", fg: "#8312D1" },
11
- { bg: "#E8F8F5", fg: "#1A7F64" }
12
- ];
13
- const Circle = styled.div`
14
- width: ${(p) => p.$size}px;
15
- height: ${(p) => p.$size}px;
16
- border-radius: 50%;
17
- background: ${(p) => p.$bg};
18
- color: ${(p) => p.$fg};
19
- display: inline-flex;
20
- align-items: center;
21
- justify-content: center;
22
- font-size: ${(p) => Math.round(p.$size * 0.38)}px;
23
- font-weight: 700;
24
- flex-shrink: 0;
25
- letter-spacing: -0.01em;
26
- user-select: none;
27
- `;
28
- function getColor(seed) {
29
- const code = (seed.charCodeAt(0) || 0) + (seed.charCodeAt(1) || 0);
30
- return PALETTE[code % PALETTE.length];
31
- }
32
- function getInitials(name) {
33
- const parts = name.trim().split(/\s+/);
34
- if (parts.length === 0 || !parts[0]) return "?";
35
- if (parts.length === 1) return parts[0].slice(0, 2).toUpperCase();
36
- return (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();
37
- }
38
- function Avatar({
39
- name,
40
- src,
41
- size = 32
42
- }) {
43
- if (src) {
44
- return /* @__PURE__ */ jsx(
45
- Box,
46
- {
47
- tag: "img",
48
- src,
49
- alt: "",
50
- style: {
51
- width: size,
52
- height: size,
53
- borderRadius: "50%",
54
- objectFit: "cover",
55
- flexShrink: 0,
56
- display: "block"
57
- }
58
- }
59
- );
60
- }
61
- const color = getColor(name || "?");
62
- return /* @__PURE__ */ jsx(Circle, { $bg: color.bg, $fg: color.fg, $size: size, children: getInitials(name || "?") });
63
- }
64
- export {
65
- Avatar as A
66
- };