@wecode-team/cms-supabase-api 0.1.50 → 0.1.52
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/handlers/configs.d.ts +23 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.esm.js +246 -19
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +248 -18
- package/dist/index.js.map +1 -1
- package/dist/utils/route-helpers.d.ts +1 -0
- package/package.json +2 -1
- package/supabase-setup.sql +25 -0
package/dist/index.js
CHANGED
|
@@ -1034,8 +1034,8 @@ function _defineProperty(e, r, t) {
|
|
|
1034
1034
|
}) : e[r] = t, e;
|
|
1035
1035
|
}
|
|
1036
1036
|
|
|
1037
|
-
function ownKeys$
|
|
1038
|
-
function _objectSpread$
|
|
1037
|
+
function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1038
|
+
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1039
1039
|
function _createForOfIteratorHelper$2(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$3(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
1040
1040
|
function _unsupportedIterableToArray$3(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$3(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$3(r, a) : void 0; } }
|
|
1041
1041
|
function _arrayLikeToArray$3(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
@@ -2091,7 +2091,7 @@ var DynamicTableService = /*#__PURE__*/function () {
|
|
|
2091
2091
|
throw error;
|
|
2092
2092
|
case 2:
|
|
2093
2093
|
return _context14.abrupt("return", (data || []).map(function (item) {
|
|
2094
|
-
return _objectSpread$
|
|
2094
|
+
return _objectSpread$4({
|
|
2095
2095
|
id: item.id,
|
|
2096
2096
|
label: item[displayField] || "ID: ".concat(item.id)
|
|
2097
2097
|
}, item);
|
|
@@ -2204,8 +2204,8 @@ function getDynamicTableService() {
|
|
|
2204
2204
|
return defaultService$1;
|
|
2205
2205
|
}
|
|
2206
2206
|
|
|
2207
|
-
function ownKeys$
|
|
2208
|
-
function _objectSpread$
|
|
2207
|
+
function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2208
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2209
2209
|
var AuthService = /*#__PURE__*/function () {
|
|
2210
2210
|
function AuthService() {
|
|
2211
2211
|
_classCallCheck(this, AuthService);
|
|
@@ -2382,7 +2382,7 @@ var AuthService = /*#__PURE__*/function () {
|
|
|
2382
2382
|
return _regeneratorRuntime.wrap(function (_context4) {
|
|
2383
2383
|
while (1) switch (_context4.prev = _context4.next) {
|
|
2384
2384
|
case 0:
|
|
2385
|
-
finalUserData = _objectSpread$
|
|
2385
|
+
finalUserData = _objectSpread$3({
|
|
2386
2386
|
tableName: this.defaultTableName
|
|
2387
2387
|
}, userData);
|
|
2388
2388
|
_context4.prev = 1;
|
|
@@ -2440,7 +2440,7 @@ var AuthService = /*#__PURE__*/function () {
|
|
|
2440
2440
|
case 0:
|
|
2441
2441
|
updateData = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : {};
|
|
2442
2442
|
// 设置默认值
|
|
2443
|
-
finalUpdateData = _objectSpread$
|
|
2443
|
+
finalUpdateData = _objectSpread$3({
|
|
2444
2444
|
tableName: this.defaultTableName
|
|
2445
2445
|
}, updateData);
|
|
2446
2446
|
_context5.prev = 1;
|
|
@@ -2848,8 +2848,8 @@ function _toConsumableArray(r) {
|
|
|
2848
2848
|
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray$2(r) || _nonIterableSpread();
|
|
2849
2849
|
}
|
|
2850
2850
|
|
|
2851
|
-
function ownKeys$
|
|
2852
|
-
function _objectSpread$
|
|
2851
|
+
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2852
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2853
2853
|
function _callSuper$1(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$1() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
2854
2854
|
function _isNativeReflectConstruct$1() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$1 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
2855
2855
|
// src/error.ts
|
|
@@ -3377,7 +3377,7 @@ var DEFAULT_LIMITS = {
|
|
|
3377
3377
|
other: 10 * 1024 * 1024
|
|
3378
3378
|
};
|
|
3379
3379
|
function getSizeLimit(fileName, limits) {
|
|
3380
|
-
var merged = _objectSpread$
|
|
3380
|
+
var merged = _objectSpread$2(_objectSpread$2({}, DEFAULT_LIMITS), limits);
|
|
3381
3381
|
if (isImage(fileName)) return merged.image;
|
|
3382
3382
|
if (isVideo(fileName)) return merged.video;
|
|
3383
3383
|
return merged.other;
|
|
@@ -3405,7 +3405,7 @@ function _compressImageBlob() {
|
|
|
3405
3405
|
return _regeneratorRuntime.wrap(function (_context10) {
|
|
3406
3406
|
while (1) switch (_context10.prev = _context10.next) {
|
|
3407
3407
|
case 0:
|
|
3408
|
-
opts = _objectSpread$
|
|
3408
|
+
opts = _objectSpread$2(_objectSpread$2({}, DEFAULT_COMPRESS), options);
|
|
3409
3409
|
if (!(typeof createImageBitmap === "undefined" || typeof OffscreenCanvas === "undefined")) {
|
|
3410
3410
|
_context10.next = 1;
|
|
3411
3411
|
break;
|
|
@@ -3471,7 +3471,7 @@ function _processFile() {
|
|
|
3471
3471
|
return _regeneratorRuntime.wrap(function (_context11) {
|
|
3472
3472
|
while (1) switch (_context11.prev = _context11.next) {
|
|
3473
3473
|
case 0:
|
|
3474
|
-
opts = _objectSpread$
|
|
3474
|
+
opts = _objectSpread$2(_objectSpread$2({}, DEFAULT_COMPRESS), compress);
|
|
3475
3475
|
if (!(opts.enabled && isImage(fileName))) {
|
|
3476
3476
|
_context11.next = 2;
|
|
3477
3477
|
break;
|
|
@@ -3535,7 +3535,7 @@ function createOssClient() {
|
|
|
3535
3535
|
var allowedExtensions = options.allowedExtensions;
|
|
3536
3536
|
function mergeRetry(override) {
|
|
3537
3537
|
if (!defaultRetry && !override) return void 0;
|
|
3538
|
-
return _objectSpread$
|
|
3538
|
+
return _objectSpread$2(_objectSpread$2({}, defaultRetry), override);
|
|
3539
3539
|
}
|
|
3540
3540
|
function resolveCompress(override) {
|
|
3541
3541
|
if (override === false) return {
|
|
@@ -3545,7 +3545,7 @@ function createOssClient() {
|
|
|
3545
3545
|
enabled: false
|
|
3546
3546
|
};
|
|
3547
3547
|
var base = _typeof$1(defaultCompress) === "object" ? defaultCompress : {};
|
|
3548
|
-
return override ? _objectSpread$
|
|
3548
|
+
return override ? _objectSpread$2(_objectSpread$2({}, base), override) : Object.keys(base).length ? base : void 0;
|
|
3549
3549
|
}
|
|
3550
3550
|
function uploadOne(_x25, _x26, _x27, _x28) {
|
|
3551
3551
|
return _uploadOne.apply(this, arguments);
|
|
@@ -3631,7 +3631,7 @@ function createOssClient() {
|
|
|
3631
3631
|
var i = index++;
|
|
3632
3632
|
var item = files[i];
|
|
3633
3633
|
running++;
|
|
3634
|
-
var fileOpts = _objectSpread$
|
|
3634
|
+
var fileOpts = _objectSpread$2({
|
|
3635
3635
|
retry: opts === null || opts === void 0 ? void 0 : opts.retry,
|
|
3636
3636
|
compress: opts === null || opts === void 0 ? void 0 : opts.compress
|
|
3637
3637
|
}, item.options);
|
|
@@ -4796,8 +4796,8 @@ var _excluded = ["id", "created_at", "updated_at"],
|
|
|
4796
4796
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n2 = 0, F = function F() {}; return { s: F, n: function n() { return _n2 >= r.length ? { done: !0 } : { done: !1, value: r[_n2++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
4797
4797
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4798
4798
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
4799
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4800
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4799
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4800
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4801
4801
|
function normalizeJsonLikeFields(schemaFields, payload) {
|
|
4802
4802
|
if (!schemaFields || schemaFields.length === 0) return payload;
|
|
4803
4803
|
var jsonLikeFieldNames = new Set(schemaFields.filter(function (f) {
|
|
@@ -4806,7 +4806,7 @@ function normalizeJsonLikeFields(schemaFields, payload) {
|
|
|
4806
4806
|
return f.name;
|
|
4807
4807
|
}));
|
|
4808
4808
|
if (jsonLikeFieldNames.size === 0) return payload;
|
|
4809
|
-
var normalized = _objectSpread({}, payload);
|
|
4809
|
+
var normalized = _objectSpread$1({}, payload);
|
|
4810
4810
|
for (var _i = 0, _Object$entries = Object.entries(payload); _i < _Object$entries.length; _i++) {
|
|
4811
4811
|
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
4812
4812
|
key = _Object$entries$_i[0],
|
|
@@ -6930,6 +6930,225 @@ function _uploadToOss() {
|
|
|
6930
6930
|
return _uploadToOss.apply(this, arguments);
|
|
6931
6931
|
}
|
|
6932
6932
|
|
|
6933
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6934
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6935
|
+
var CONFIG_NAMESPACE_RE = /^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/;
|
|
6936
|
+
var CONFIG_SESSION_RE = /^[a-zA-Z0-9_]{1,128}$/;
|
|
6937
|
+
function getConfigSessionId(c) {
|
|
6938
|
+
return normalizeSessionId(c.req.header("X-Session-Id") || c.req.header("x-session-id"));
|
|
6939
|
+
}
|
|
6940
|
+
function validateConfigSessionId(sessionId) {
|
|
6941
|
+
if (!sessionId) return "缺少 X-Session-Id,无法访问配置中心";
|
|
6942
|
+
if (!CONFIG_SESSION_RE.test(sessionId)) {
|
|
6943
|
+
return "X-Session-Id 格式不合法";
|
|
6944
|
+
}
|
|
6945
|
+
return null;
|
|
6946
|
+
}
|
|
6947
|
+
function getConfigsTableName(sessionId) {
|
|
6948
|
+
return "".concat(sessionId.replace(/-/g, '_'), "__config__");
|
|
6949
|
+
}
|
|
6950
|
+
function normalizeValues(values) {
|
|
6951
|
+
if (!values || _typeof$1(values) !== "object" || Array.isArray(values)) {
|
|
6952
|
+
return {};
|
|
6953
|
+
}
|
|
6954
|
+
return values;
|
|
6955
|
+
}
|
|
6956
|
+
function buildFieldStatus(values) {
|
|
6957
|
+
return Object.fromEntries(Object.entries(values).map(function (_ref) {
|
|
6958
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
6959
|
+
key = _ref2[0],
|
|
6960
|
+
value = _ref2[1];
|
|
6961
|
+
return [key, {
|
|
6962
|
+
configured: value !== null && value !== undefined && String(value).trim() !== ""
|
|
6963
|
+
}];
|
|
6964
|
+
}));
|
|
6965
|
+
}
|
|
6966
|
+
function validateNamespace(namespace) {
|
|
6967
|
+
if (!namespace) return "缺少 namespace";
|
|
6968
|
+
if (!CONFIG_NAMESPACE_RE.test(namespace)) {
|
|
6969
|
+
return "namespace 只能包含字母、数字、下划线和连字符,且必须以字母开头";
|
|
6970
|
+
}
|
|
6971
|
+
return null;
|
|
6972
|
+
}
|
|
6973
|
+
function toConfigResponse(row, fallbackNamespace) {
|
|
6974
|
+
var values = normalizeValues(row === null || row === void 0 ? void 0 : row.values);
|
|
6975
|
+
return {
|
|
6976
|
+
id: row === null || row === void 0 ? void 0 : row.id,
|
|
6977
|
+
namespace: (row === null || row === void 0 ? void 0 : row.namespace) || fallbackNamespace,
|
|
6978
|
+
values: values,
|
|
6979
|
+
fields: buildFieldStatus(values),
|
|
6980
|
+
created_at: row === null || row === void 0 ? void 0 : row.created_at,
|
|
6981
|
+
updated_at: row === null || row === void 0 ? void 0 : row.updated_at
|
|
6982
|
+
};
|
|
6983
|
+
}
|
|
6984
|
+
function getConfig(_x) {
|
|
6985
|
+
return _getConfig.apply(this, arguments);
|
|
6986
|
+
}
|
|
6987
|
+
function _getConfig() {
|
|
6988
|
+
_getConfig = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(c) {
|
|
6989
|
+
var namespace, namespaceError, _response, sessionId, sessionError, _response2, tableName, supabase, _yield$supabase$from$, data, error, response, _response3, _t;
|
|
6990
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
6991
|
+
while (1) switch (_context.prev = _context.next) {
|
|
6992
|
+
case 0:
|
|
6993
|
+
_context.prev = 0;
|
|
6994
|
+
namespace = (c.req.query("namespace") || "").trim();
|
|
6995
|
+
namespaceError = validateNamespace(namespace);
|
|
6996
|
+
if (!namespaceError) {
|
|
6997
|
+
_context.next = 1;
|
|
6998
|
+
break;
|
|
6999
|
+
}
|
|
7000
|
+
_response = {
|
|
7001
|
+
success: false,
|
|
7002
|
+
message: namespaceError
|
|
7003
|
+
};
|
|
7004
|
+
return _context.abrupt("return", c.json(_response, 200));
|
|
7005
|
+
case 1:
|
|
7006
|
+
sessionId = getConfigSessionId(c);
|
|
7007
|
+
sessionError = validateConfigSessionId(sessionId);
|
|
7008
|
+
if (!sessionError) {
|
|
7009
|
+
_context.next = 2;
|
|
7010
|
+
break;
|
|
7011
|
+
}
|
|
7012
|
+
_response2 = {
|
|
7013
|
+
success: false,
|
|
7014
|
+
message: sessionError
|
|
7015
|
+
};
|
|
7016
|
+
return _context.abrupt("return", c.json(_response2, 200));
|
|
7017
|
+
case 2:
|
|
7018
|
+
tableName = getConfigsTableName(sessionId);
|
|
7019
|
+
supabase = getSupabase();
|
|
7020
|
+
_context.next = 3;
|
|
7021
|
+
return supabase.from(tableName).select("*").eq("namespace", namespace).maybeSingle();
|
|
7022
|
+
case 3:
|
|
7023
|
+
_yield$supabase$from$ = _context.sent;
|
|
7024
|
+
data = _yield$supabase$from$.data;
|
|
7025
|
+
error = _yield$supabase$from$.error;
|
|
7026
|
+
if (!error) {
|
|
7027
|
+
_context.next = 4;
|
|
7028
|
+
break;
|
|
7029
|
+
}
|
|
7030
|
+
throw error;
|
|
7031
|
+
case 4:
|
|
7032
|
+
response = {
|
|
7033
|
+
success: true,
|
|
7034
|
+
data: toConfigResponse(data, namespace)
|
|
7035
|
+
};
|
|
7036
|
+
return _context.abrupt("return", c.json(response, 200));
|
|
7037
|
+
case 5:
|
|
7038
|
+
_context.prev = 5;
|
|
7039
|
+
_t = _context["catch"](0);
|
|
7040
|
+
console.error("获取配置失败:", _t);
|
|
7041
|
+
_response3 = {
|
|
7042
|
+
success: false,
|
|
7043
|
+
message: "获取配置失败",
|
|
7044
|
+
error: _t.message
|
|
7045
|
+
};
|
|
7046
|
+
return _context.abrupt("return", c.json(_response3, 500));
|
|
7047
|
+
case 6:
|
|
7048
|
+
case "end":
|
|
7049
|
+
return _context.stop();
|
|
7050
|
+
}
|
|
7051
|
+
}, _callee, null, [[0, 5]]);
|
|
7052
|
+
}));
|
|
7053
|
+
return _getConfig.apply(this, arguments);
|
|
7054
|
+
}
|
|
7055
|
+
function updateConfig(_x2) {
|
|
7056
|
+
return _updateConfig.apply(this, arguments);
|
|
7057
|
+
}
|
|
7058
|
+
function _updateConfig() {
|
|
7059
|
+
_updateConfig = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(c) {
|
|
7060
|
+
var namespace, namespaceError, _response4, body, values, sessionId, sessionError, _response5, tableName, supabase, _yield$supabase$from$2, existing, existingError, nextValues, _yield$supabase$from$3, data, error, response, _response6, _t2;
|
|
7061
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
7062
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
7063
|
+
case 0:
|
|
7064
|
+
_context2.prev = 0;
|
|
7065
|
+
namespace = (c.req.param("namespace") || "").trim();
|
|
7066
|
+
namespaceError = validateNamespace(namespace);
|
|
7067
|
+
if (!namespaceError) {
|
|
7068
|
+
_context2.next = 1;
|
|
7069
|
+
break;
|
|
7070
|
+
}
|
|
7071
|
+
_response4 = {
|
|
7072
|
+
success: false,
|
|
7073
|
+
message: namespaceError
|
|
7074
|
+
};
|
|
7075
|
+
return _context2.abrupt("return", c.json(_response4, 200));
|
|
7076
|
+
case 1:
|
|
7077
|
+
_context2.next = 2;
|
|
7078
|
+
return c.req.json();
|
|
7079
|
+
case 2:
|
|
7080
|
+
body = _context2.sent;
|
|
7081
|
+
values = normalizeValues(body === null || body === void 0 ? void 0 : body.values);
|
|
7082
|
+
sessionId = getConfigSessionId(c);
|
|
7083
|
+
sessionError = validateConfigSessionId(sessionId);
|
|
7084
|
+
if (!sessionError) {
|
|
7085
|
+
_context2.next = 3;
|
|
7086
|
+
break;
|
|
7087
|
+
}
|
|
7088
|
+
_response5 = {
|
|
7089
|
+
success: false,
|
|
7090
|
+
message: sessionError
|
|
7091
|
+
};
|
|
7092
|
+
return _context2.abrupt("return", c.json(_response5, 200));
|
|
7093
|
+
case 3:
|
|
7094
|
+
tableName = getConfigsTableName(sessionId);
|
|
7095
|
+
supabase = getSupabase();
|
|
7096
|
+
_context2.next = 4;
|
|
7097
|
+
return supabase.from(tableName).select("values").eq("namespace", namespace).maybeSingle();
|
|
7098
|
+
case 4:
|
|
7099
|
+
_yield$supabase$from$2 = _context2.sent;
|
|
7100
|
+
existing = _yield$supabase$from$2.data;
|
|
7101
|
+
existingError = _yield$supabase$from$2.error;
|
|
7102
|
+
if (!existingError) {
|
|
7103
|
+
_context2.next = 5;
|
|
7104
|
+
break;
|
|
7105
|
+
}
|
|
7106
|
+
throw existingError;
|
|
7107
|
+
case 5:
|
|
7108
|
+
nextValues = _objectSpread(_objectSpread({}, normalizeValues(existing === null || existing === void 0 ? void 0 : existing.values)), values);
|
|
7109
|
+
_context2.next = 6;
|
|
7110
|
+
return supabase.from(tableName).upsert({
|
|
7111
|
+
namespace: namespace,
|
|
7112
|
+
values: nextValues,
|
|
7113
|
+
updated_at: new Date().toISOString()
|
|
7114
|
+
}, {
|
|
7115
|
+
onConflict: "namespace"
|
|
7116
|
+
}).select("*").single();
|
|
7117
|
+
case 6:
|
|
7118
|
+
_yield$supabase$from$3 = _context2.sent;
|
|
7119
|
+
data = _yield$supabase$from$3.data;
|
|
7120
|
+
error = _yield$supabase$from$3.error;
|
|
7121
|
+
if (!error) {
|
|
7122
|
+
_context2.next = 7;
|
|
7123
|
+
break;
|
|
7124
|
+
}
|
|
7125
|
+
throw error;
|
|
7126
|
+
case 7:
|
|
7127
|
+
response = {
|
|
7128
|
+
success: true,
|
|
7129
|
+
message: "配置保存成功",
|
|
7130
|
+
data: toConfigResponse(data, namespace)
|
|
7131
|
+
};
|
|
7132
|
+
return _context2.abrupt("return", c.json(response, 200));
|
|
7133
|
+
case 8:
|
|
7134
|
+
_context2.prev = 8;
|
|
7135
|
+
_t2 = _context2["catch"](0);
|
|
7136
|
+
console.error("保存配置失败:", _t2);
|
|
7137
|
+
_response6 = {
|
|
7138
|
+
success: false,
|
|
7139
|
+
message: "保存配置失败",
|
|
7140
|
+
error: _t2.message
|
|
7141
|
+
};
|
|
7142
|
+
return _context2.abrupt("return", c.json(_response6, 500));
|
|
7143
|
+
case 9:
|
|
7144
|
+
case "end":
|
|
7145
|
+
return _context2.stop();
|
|
7146
|
+
}
|
|
7147
|
+
}, _callee2, null, [[0, 8]]);
|
|
7148
|
+
}));
|
|
7149
|
+
return _updateConfig.apply(this, arguments);
|
|
7150
|
+
}
|
|
7151
|
+
|
|
6933
7152
|
var AUTH_REQUIRED = "CMS_AUTH_REQUIRED";
|
|
6934
7153
|
var AUTH_INVALID = "CMS_AUTH_INVALID";
|
|
6935
7154
|
var CMS_FORBIDDEN = "CMS_FORBIDDEN";
|
|
@@ -7441,9 +7660,17 @@ function createOssUploadRoute(app) {
|
|
|
7441
7660
|
app.post("/upload", requireJwtAuth, requireAdminRole, uploadToOss);
|
|
7442
7661
|
return app;
|
|
7443
7662
|
}
|
|
7663
|
+
function createConfigRoute(app) {
|
|
7664
|
+
app.get("/configs", requireAdminRole, getConfig);
|
|
7665
|
+
app.put("/configs/:namespace", requireAdminRole, function (c) {
|
|
7666
|
+
return updateConfig(c);
|
|
7667
|
+
});
|
|
7668
|
+
return app;
|
|
7669
|
+
}
|
|
7444
7670
|
// 一键创建所有CMS路由
|
|
7445
7671
|
function createCmsRoutes(app) {
|
|
7446
7672
|
createModelRoute(app);
|
|
7673
|
+
createConfigRoute(app);
|
|
7447
7674
|
createDynamicDataRoute(app);
|
|
7448
7675
|
createDynamicAuthRoute(app);
|
|
7449
7676
|
return app;
|
|
@@ -7459,6 +7686,7 @@ exports.closeDatabase = closeSupabase;
|
|
|
7459
7686
|
exports.closeSupabase = closeSupabase;
|
|
7460
7687
|
exports.createAuthRoute = createAuthRoute;
|
|
7461
7688
|
exports.createCmsRoutes = createCmsRoutes;
|
|
7689
|
+
exports.createConfigRoute = createConfigRoute;
|
|
7462
7690
|
exports.createDataRoute = createDataRoute;
|
|
7463
7691
|
exports.createDynamicAuthRoute = createDynamicAuthRoute;
|
|
7464
7692
|
exports.createDynamicDataRoute = createDynamicDataRoute;
|
|
@@ -7474,6 +7702,7 @@ exports.feishuAlertConfig = feishuAlertConfig;
|
|
|
7474
7702
|
exports.forgotPassword = forgotPassword;
|
|
7475
7703
|
exports.getAuthService = getAuthService;
|
|
7476
7704
|
exports.getCmsModelService = getCmsModelService;
|
|
7705
|
+
exports.getConfig = getConfig;
|
|
7477
7706
|
exports.getCurrentUser = getCurrentUser;
|
|
7478
7707
|
exports.getDatabase = getSupabase;
|
|
7479
7708
|
exports.getDynamicTableService = getDynamicTableService;
|
|
@@ -7498,6 +7727,7 @@ exports.signup = signup;
|
|
|
7498
7727
|
exports.signupStatus = signupStatus;
|
|
7499
7728
|
exports.syncDatabase = initializeCmsSystem;
|
|
7500
7729
|
exports.testConnection = testConnection;
|
|
7730
|
+
exports.updateConfig = updateConfig;
|
|
7501
7731
|
exports.updateModel = updateModel;
|
|
7502
7732
|
exports.updateTableData = updateTableData;
|
|
7503
7733
|
exports.uploadToOss = uploadToOss;
|