后端迁移平台配置云触手展示
This commit is contained in:
+20
-26
@@ -1,5 +1,3 @@
|
||||
// @ts-check
|
||||
|
||||
import { getCloudtentaclesSourceByKey } from "../../platforms/cloudtentacles/source-config-service.js";
|
||||
import { getCloudtentaclesSessionStateByKey } from "../../platforms/cloudtentacles/session-state-service.js";
|
||||
import {
|
||||
@@ -10,18 +8,18 @@ import { maskPhone, maskSecret } from "./mappers.js";
|
||||
|
||||
const DEFAULT_CLOUDTENTACLES_BASE_URL = "https://123.207.217.176";
|
||||
|
||||
function _resolveSourceKey(payload = {}) {
|
||||
type JsonObject = Record<string, any>
|
||||
|
||||
function _resolveSourceKey(payload: JsonObject = {}) {
|
||||
return String(payload.sourceKey || "").trim() || "default";
|
||||
}
|
||||
|
||||
export function resolveAdminCloudtentaclesCredentialPayload(
|
||||
payload = {},
|
||||
options = {}
|
||||
payload: JsonObject = {},
|
||||
options: JsonObject = {}
|
||||
) {
|
||||
const sourceKey = _resolveSourceKey(payload);
|
||||
const savedSource = /** @type {Record<string, unknown>} */ (
|
||||
options.savedSource || getCloudtentaclesSourceByKey(sourceKey) || {}
|
||||
);
|
||||
const savedSource = options.savedSource || getCloudtentaclesSourceByKey(sourceKey) || {};
|
||||
const defaultBaseUrl = String(
|
||||
options.defaultBaseUrl || DEFAULT_CLOUDTENTACLES_BASE_URL
|
||||
).trim();
|
||||
@@ -42,18 +40,14 @@ export function resolveAdminCloudtentaclesCredentialPayload(
|
||||
}
|
||||
|
||||
export function resolveAdminCloudtentaclesSessionPayload(
|
||||
payload = {},
|
||||
options = {}
|
||||
payload: JsonObject = {},
|
||||
options: JsonObject = {}
|
||||
) {
|
||||
const sourceKey = _resolveSourceKey(payload);
|
||||
const savedSource = /** @type {Record<string, unknown>} */ (
|
||||
options.savedSource || getCloudtentaclesSourceByKey(sourceKey) || {}
|
||||
);
|
||||
const persistedSession = /** @type {Record<string, unknown>} */ (
|
||||
options.persistedSession ||
|
||||
getCloudtentaclesSessionStateByKey(sourceKey) ||
|
||||
{}
|
||||
);
|
||||
const savedSource = options.savedSource || getCloudtentaclesSourceByKey(sourceKey) || {};
|
||||
const persistedSession = options.persistedSession ||
|
||||
getCloudtentaclesSessionStateByKey(sourceKey) ||
|
||||
{};
|
||||
|
||||
return resolveCloudtentaclesAdminContext(payload, {
|
||||
savedSource,
|
||||
@@ -64,8 +58,8 @@ export function resolveAdminCloudtentaclesSessionPayload(
|
||||
}
|
||||
|
||||
export function buildAdminCloudtentaclesPersistedSessionPayload(
|
||||
session = {},
|
||||
options = {}
|
||||
session: JsonObject = {},
|
||||
options: JsonObject = {}
|
||||
) {
|
||||
return {
|
||||
token: String(session.token || "").trim(),
|
||||
@@ -79,8 +73,8 @@ export function buildAdminCloudtentaclesPersistedSessionPayload(
|
||||
}
|
||||
|
||||
export function buildAdminCloudtentaclesSessionSummary(
|
||||
session = {},
|
||||
savedSession = {},
|
||||
session: JsonObject = {},
|
||||
savedSession: JsonObject = {},
|
||||
sourceKey = "default"
|
||||
) {
|
||||
const permissions = Array.isArray(session.permissions)
|
||||
@@ -97,8 +91,8 @@ export function buildAdminCloudtentaclesSessionSummary(
|
||||
}
|
||||
|
||||
export function buildAdminCloudtentaclesLoginResult(
|
||||
session = {},
|
||||
savedSession = {},
|
||||
session: JsonObject = {},
|
||||
savedSession: JsonObject = {},
|
||||
sourceKey = "default"
|
||||
) {
|
||||
return {
|
||||
@@ -120,8 +114,8 @@ export function buildAdminCloudtentaclesLoginResult(
|
||||
}
|
||||
|
||||
export function buildAdminCloudtentaclesValidateResult(
|
||||
session = {},
|
||||
savedSession = {},
|
||||
session: JsonObject = {},
|
||||
savedSession: JsonObject = {},
|
||||
sourceKey = "default"
|
||||
) {
|
||||
return {
|
||||
@@ -599,6 +599,14 @@
|
||||
- `npm run typecheck`
|
||||
- `npm run build`
|
||||
- `npm test` 共 139 个用例通过
|
||||
141. 后台 Cloudtentacles 配置展示模块迁移到 `.ts`:
|
||||
- `src/services/admin/platform-config/cloudtentacles.ts`
|
||||
142. Cloudtentacles 凭据 payload、会话 payload、持久化 session、登录 / 校验响应摘要已进入 TS 编译链路;来源、会话与响应对象补齐动态类型
|
||||
143. Docker 内验证通过:
|
||||
- `src/services/admin/platform-config/cloudtentacles.test.js` 共 6 个用例通过
|
||||
- `npm run typecheck`
|
||||
- `npm run build`
|
||||
- `npm test` 共 139 个用例通过
|
||||
|
||||
## 下一步建议
|
||||
|
||||
|
||||
Reference in New Issue
Block a user