openxiangda-cli 2.0.0-alpha.20 → 2.0.0-alpha.23
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/README.md +2 -1
- package/dist/base.d.ts +2 -0
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +9 -0
- package/dist/base.js.map +1 -1
- package/dist/commands/app/create.js +1 -1
- package/dist/commands/app/create.js.map +1 -1
- package/dist/commands/app/provision.d.ts.map +1 -1
- package/dist/commands/app/provision.js +1 -1
- package/dist/commands/app/provision.js.map +1 -1
- package/dist/commands/authz/membership/grant.d.ts +16 -0
- package/dist/commands/authz/membership/grant.d.ts.map +1 -0
- package/dist/commands/authz/membership/grant.js +32 -0
- package/dist/commands/authz/membership/grant.js.map +1 -0
- package/dist/commands/authz/membership/list.d.ts +16 -0
- package/dist/commands/authz/membership/list.d.ts.map +1 -0
- package/dist/commands/authz/membership/list.js +34 -0
- package/dist/commands/authz/membership/list.js.map +1 -0
- package/dist/commands/authz/membership/revoke.d.ts +15 -0
- package/dist/commands/authz/membership/revoke.d.ts.map +1 -0
- package/dist/commands/authz/membership/revoke.js +22 -0
- package/dist/commands/authz/membership/revoke.js.map +1 -0
- package/dist/commands/authz/membership/update.d.ts +18 -0
- package/dist/commands/authz/membership/update.d.ts.map +1 -0
- package/dist/commands/authz/membership/update.js +31 -0
- package/dist/commands/authz/membership/update.js.map +1 -0
- package/dist/commands/authz/relationship/grant.d.ts +20 -0
- package/dist/commands/authz/relationship/grant.d.ts.map +1 -0
- package/dist/commands/authz/relationship/grant.js +40 -0
- package/dist/commands/authz/relationship/grant.js.map +1 -0
- package/dist/commands/authz/relationship/list.d.ts +18 -0
- package/dist/commands/authz/relationship/list.d.ts.map +1 -0
- package/dist/commands/authz/relationship/list.js +43 -0
- package/dist/commands/authz/relationship/list.js.map +1 -0
- package/dist/commands/authz/relationship/revoke.d.ts +15 -0
- package/dist/commands/authz/relationship/revoke.d.ts.map +1 -0
- package/dist/commands/authz/relationship/revoke.js +22 -0
- package/dist/commands/authz/relationship/revoke.js.map +1 -0
- package/dist/commands/authz/relationship/update.d.ts +18 -0
- package/dist/commands/authz/relationship/update.d.ts.map +1 -0
- package/dist/commands/authz/relationship/update.js +28 -0
- package/dist/commands/authz/relationship/update.js.map +1 -0
- package/dist/commands/authz/super-admin/grant.d.ts +12 -0
- package/dist/commands/authz/super-admin/grant.d.ts.map +1 -0
- package/dist/commands/authz/super-admin/grant.js +20 -0
- package/dist/commands/authz/super-admin/grant.js.map +1 -0
- package/dist/commands/authz/super-admin/list.d.ts +15 -0
- package/dist/commands/authz/super-admin/list.d.ts.map +1 -0
- package/dist/commands/authz/super-admin/list.js +27 -0
- package/dist/commands/authz/super-admin/list.js.map +1 -0
- package/dist/commands/authz/super-admin/revoke.d.ts +15 -0
- package/dist/commands/authz/super-admin/revoke.d.ts.map +1 -0
- package/dist/commands/authz/super-admin/revoke.js +21 -0
- package/dist/commands/authz/super-admin/revoke.js.map +1 -0
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +1 -1
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev/reset.d.ts +10 -0
- package/dist/commands/dev/reset.d.ts.map +1 -0
- package/dist/commands/dev/reset.js +17 -0
- package/dist/commands/dev/reset.js.map +1 -0
- package/dist/commands/dev/status.d.ts +9 -0
- package/dist/commands/dev/status.d.ts.map +1 -0
- package/dist/commands/dev/status.js +10 -0
- package/dist/commands/dev/status.js.map +1 -0
- package/dist/commands/dev/stop.d.ts +9 -0
- package/dist/commands/dev/stop.d.ts.map +1 -0
- package/dist/commands/dev/stop.js +10 -0
- package/dist/commands/dev/stop.js.map +1 -0
- package/dist/commands/dev.d.ts +4 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +28 -3
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/event/timer/fire.d.ts +12 -0
- package/dist/commands/event/timer/fire.d.ts.map +1 -0
- package/dist/commands/event/timer/fire.js +12 -0
- package/dist/commands/event/timer/fire.js.map +1 -0
- package/dist/commands/oauth/audit/list.d.ts.map +1 -1
- package/dist/commands/oauth/audit/list.js +2 -2
- package/dist/commands/oauth/audit/list.js.map +1 -1
- package/dist/commands/oauth/client/create.d.ts.map +1 -1
- package/dist/commands/oauth/client/create.js +2 -5
- package/dist/commands/oauth/client/create.js.map +1 -1
- package/dist/commands/oauth/runtime/rotate.d.ts.map +1 -1
- package/dist/commands/oauth/runtime/rotate.js +2 -5
- package/dist/commands/oauth/runtime/rotate.js.map +1 -1
- package/dist/commands/oauth/runtime/status.d.ts.map +1 -1
- package/dist/commands/oauth/runtime/status.js +2 -6
- package/dist/commands/oauth/runtime/status.js.map +1 -1
- package/dist/commands/promote.d.ts.map +1 -1
- package/dist/commands/promote.js +1 -1
- package/dist/commands/promote.js.map +1 -1
- package/dist/commands/rollback.d.ts.map +1 -1
- package/dist/commands/rollback.js +1 -1
- package/dist/commands/rollback.js.map +1 -1
- package/dist/commands/secret/audit/list.d.ts.map +1 -1
- package/dist/commands/secret/audit/list.js +2 -2
- package/dist/commands/secret/audit/list.js.map +1 -1
- package/dist/commands/secret/create.d.ts.map +1 -1
- package/dist/commands/secret/create.js +2 -2
- package/dist/commands/secret/create.js.map +1 -1
- package/dist/commands/secret/delete.d.ts.map +1 -1
- package/dist/commands/secret/delete.js +2 -2
- package/dist/commands/secret/delete.js.map +1 -1
- package/dist/commands/secret/list.d.ts.map +1 -1
- package/dist/commands/secret/list.js +2 -3
- package/dist/commands/secret/list.js.map +1 -1
- package/dist/commands/secret/rotate.d.ts.map +1 -1
- package/dist/commands/secret/rotate.js +2 -2
- package/dist/commands/secret/rotate.js.map +1 -1
- package/dist/commands/secret/update.d.ts.map +1 -1
- package/dist/commands/secret/update.js +2 -2
- package/dist/commands/secret/update.js.map +1 -1
- package/dist/commands/workflow/provider/list.d.ts.map +1 -1
- package/dist/commands/workflow/provider/list.js +2 -3
- package/dist/commands/workflow/provider/list.js.map +1 -1
- package/dist/commands/workflow/provider/rotate.d.ts.map +1 -1
- package/dist/commands/workflow/provider/rotate.js +2 -2
- package/dist/commands/workflow/provider/rotate.js.map +1 -1
- package/dist/native-authz.d.ts +4 -0
- package/dist/native-authz.d.ts.map +1 -0
- package/dist/native-authz.js +25 -0
- package/dist/native-authz.js.map +1 -0
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -6,7 +6,8 @@ renders its `DevkitResult`; commands never invoke other commands or parse their
|
|
|
6
6
|
stdout. React, Ant Design and editor runtimes are intentionally absent.
|
|
7
7
|
|
|
8
8
|
The CLI includes application creation, deterministic contract generation,
|
|
9
|
-
checks/tests/build/deploy,
|
|
9
|
+
checks/tests/build/deploy, Native role membership and relationship management,
|
|
10
|
+
reserved application super-admin lifecycle, OAuth2 client lifecycle, platform-managed runtime
|
|
10
11
|
credential status/rotation, environment Secret management, event operations
|
|
11
12
|
and staged Workflow Provider rotation. Runtime rotation stages a credential by
|
|
12
13
|
CAS and promotes the currently active immutable AppVersion, so no secret is
|
package/dist/base.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ import { OpenXiangdaApplicationServices } from 'openxiangda-devkit-core';
|
|
|
4
4
|
export declare const workspaceFlags: {
|
|
5
5
|
cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
6
|
};
|
|
7
|
+
export declare const requiredRemoteEnvironmentFlag: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
export declare const optionalRemoteEnvironmentFlag: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
9
|
export declare const backendImageFlag: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
10
|
export declare abstract class OpenXiangdaCommand extends Command {
|
|
9
11
|
static enableJsonFlag: boolean;
|
package/dist/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,iHAI3B,CAAC;AAEH,8BAAsB,kBAAmB,SAAQ,OAAO;IACtD,MAAM,CAAC,cAAc,UAAQ;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,iCAAwC;IAEnE,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;CAYhD"}
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF,eAAO,MAAM,6BAA6B,qGAIxC,CAAC;AAEH,eAAO,MAAM,6BAA6B,iHAGxC,CAAC;AAEH,eAAO,MAAM,gBAAgB,iHAI3B,CAAC;AAEH,8BAAsB,kBAAmB,SAAQ,OAAO;IACtD,MAAM,CAAC,cAAc,UAAQ;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,iCAAwC;IAEnE,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;CAYhD"}
|
package/dist/base.js
CHANGED
|
@@ -3,6 +3,15 @@ import { OpenXiangdaApplicationServices } from 'openxiangda-devkit-core';
|
|
|
3
3
|
export const workspaceFlags = {
|
|
4
4
|
cwd: Flags.string({ summary: '应用工作区目录', helpValue: '<directory>' }),
|
|
5
5
|
};
|
|
6
|
+
export const requiredRemoteEnvironmentFlag = Flags.string({
|
|
7
|
+
required: true,
|
|
8
|
+
options: ['preproduction', 'production'],
|
|
9
|
+
summary: '目标远端环境(preproduction 或 production)',
|
|
10
|
+
});
|
|
11
|
+
export const optionalRemoteEnvironmentFlag = Flags.string({
|
|
12
|
+
options: ['preproduction', 'production'],
|
|
13
|
+
summary: '按远端环境筛选',
|
|
14
|
+
});
|
|
6
15
|
export const backendImageFlag = Flags.string({
|
|
7
16
|
summary: '已经推送的不可变后端 OCI image',
|
|
8
17
|
helpValue: '<registry/repository@sha256:digest>',
|
package/dist/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,sBAAsB;IAC/B,SAAS,EAAE,qCAAqC;IAChD,GAAG,EAAE,2BAA2B;CACjC,CAAC,CAAC;AAEH,MAAM,OAAgB,kBAAmB,SAAQ,OAAO;IACtD,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAEV,QAAQ,GAAG,IAAI,8BAA8B,EAAE,CAAC;IAEzD,OAAO,CAAC,MAA6B;QAC7C,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACzD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,IAAI,UAAU,CAAC,WAAW;gBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC,MAAM,CAAC;IACxD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC;IACxC,OAAO,EAAE,oCAAoC;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC,MAAM,CAAC;IACxD,OAAO,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC;IACxC,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,sBAAsB;IAC/B,SAAS,EAAE,qCAAqC;IAChD,GAAG,EAAE,2BAA2B;CACjC,CAAC,CAAC;AAEH,MAAM,OAAgB,kBAAmB,SAAQ,OAAO;IACtD,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAEV,QAAQ,GAAG,IAAI,8BAA8B,EAAE,CAAC;IAEzD,OAAO,CAAC,MAA6B;QAC7C,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACzD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,IAAI,UAAU,CAAC,WAAW;gBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC"}
|
|
@@ -9,7 +9,7 @@ export default class AppCreate extends OpenXiangdaCommand {
|
|
|
9
9
|
name: Flags.string({ required: true, summary: "应用名称" }),
|
|
10
10
|
install: Flags.boolean({ summary: "创建后安装依赖" }),
|
|
11
11
|
"local-sdk": Flags.string({
|
|
12
|
-
summary: "
|
|
12
|
+
summary: "把本地 OpenXiangda 2.0 SDK 打包为验收工件,不经过 npm 发布",
|
|
13
13
|
}),
|
|
14
14
|
};
|
|
15
15
|
async run() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/app/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,kBAAkB;IACvD,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC;IAC7C,MAAM,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7D,MAAM,CAAC,KAAK,GAAG;QACb,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/D,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACvD,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC9C,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/app/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,kBAAkB;IACvD,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC;IAC7C,MAAM,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7D,MAAM,CAAC,KAAK,GAAG;QACb,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/D,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACvD,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC9C,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,OAAO,EAAE,4CAA4C;SACtD,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;gBACpB,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,EAAE,EAAE,IAAI;YACR,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACtE,IAAI;YACJ,WAAW,EAAE,EAAE;YACf,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,uBAAuB;iBAChD;aACF;SACF,CAAC,CAAC;IACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../../src/commands/app/provision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,eAAe,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,kBAAkB;IAC1D,MAAM,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../../src/commands/app/provision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,eAAe,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,kBAAkB;IAC1D,MAAM,CAAC,OAAO,SAA8B;IAC5C,MAAM,CAAC,KAAK;;MAAkB;IAExB,GAAG;CAIV"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OpenXiangdaCommand, workspaceFlags } from "../../base.js";
|
|
2
2
|
export default class AppProvision extends OpenXiangdaCommand {
|
|
3
|
-
static summary = "在平台幂等创建 2.0
|
|
3
|
+
static summary = "在平台幂等创建 2.0 应用身份和预发/生产环境";
|
|
4
4
|
static flags = workspaceFlags;
|
|
5
5
|
async run() {
|
|
6
6
|
const { flags } = await this.parse(AppProvision);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision.js","sourceRoot":"","sources":["../../../src/commands/app/provision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,kBAAkB;IAC1D,MAAM,CAAC,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"provision.js","sourceRoot":"","sources":["../../../src/commands/app/provision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,kBAAkB;IAC1D,MAAM,CAAC,OAAO,GAAG,0BAA0B,CAAC;IAC5C,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC;IAE9B,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OpenXiangdaCommand } from "../../../base.js";
|
|
2
|
+
export default class AuthzMembershipGrant extends OpenXiangdaCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
user: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
role: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
"valid-from": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
"valid-to": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
"operation-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<import("openxiangda-contracts").DevkitResult<unknown>>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=grant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grant.d.ts","sourceRoot":"","sources":["../../../../src/commands/authz/membership/grant.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,kBAAkB;IAClE,MAAM,CAAC,OAAO,SAA2B;IACzC,MAAM,CAAC,KAAK;;;;;;;;;MAYV;IAEI,GAAG;CAcV"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { OpenXiangdaCommand, requiredRemoteEnvironmentFlag, workspaceFlags, } from "../../../base.js";
|
|
3
|
+
import { mutationOperationId, parseScopeGrants } from "../../../native-authz.js";
|
|
4
|
+
export default class AuthzMembershipGrant extends OpenXiangdaCommand {
|
|
5
|
+
static summary = "为用户授予单一 Native 应用业务角色";
|
|
6
|
+
static flags = {
|
|
7
|
+
...workspaceFlags,
|
|
8
|
+
environment: requiredRemoteEnvironmentFlag,
|
|
9
|
+
user: Flags.string({ required: true, summary: "用户 ID" }),
|
|
10
|
+
role: Flags.string({ required: true, summary: "业务角色 code" }),
|
|
11
|
+
scope: Flags.string({
|
|
12
|
+
multiple: true,
|
|
13
|
+
summary: "数据范围,可重复传入 dimension=value1,value2",
|
|
14
|
+
}),
|
|
15
|
+
"valid-from": Flags.string({ summary: "可选 ISO 8601 生效时间" }),
|
|
16
|
+
"valid-to": Flags.string({ summary: "可选 ISO 8601 失效时间" }),
|
|
17
|
+
"operation-id": Flags.string({ summary: "可选 UUID 幂等操作 ID" }),
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
const { flags } = await this.parse(AuthzMembershipGrant);
|
|
21
|
+
return this.present(await this.services.createNativeRoleMembership(flags.cwd, {
|
|
22
|
+
environmentKey: flags.environment,
|
|
23
|
+
operationId: mutationOperationId(flags["operation-id"]),
|
|
24
|
+
userId: flags.user,
|
|
25
|
+
roleCode: flags.role,
|
|
26
|
+
scopeGrants: parseScopeGrants(flags.scope),
|
|
27
|
+
...(flags["valid-from"] ? { validFrom: flags["valid-from"] } : {}),
|
|
28
|
+
...(flags["valid-to"] ? { validTo: flags["valid-to"] } : {}),
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=grant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grant.js","sourceRoot":"","sources":["../../../../src/commands/authz/membership/grant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,kBAAkB;IAClE,MAAM,CAAC,OAAO,GAAG,uBAAuB,CAAC;IACzC,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,cAAc;QACjB,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACxD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAC5D,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,oCAAoC;SAC9C,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC3D,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QACzD,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;KAC7D,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,CAAC,GAAG,EAAE;YACxD,cAAc,EAAE,KAAK,CAAC,WAA6C;YACnE,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,EAAE,KAAK,CAAC,IAAI;YAClB,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;YAC1C,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC,CACH,CAAC;IACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OpenXiangdaCommand } from "../../../base.js";
|
|
2
|
+
export default class AuthzMembershipList extends OpenXiangdaCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
user: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
role: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
keyword: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
status: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
offset: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<import("openxiangda-contracts").DevkitResult<unknown>>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/authz/membership/list.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,kBAAkB;IACjE,MAAM,CAAC,OAAO,SAAwB;IACtC,MAAM,CAAC,KAAK;;;;;;;;;MAYV;IAEI,GAAG;CAqBV"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { OpenXiangdaCommand, requiredRemoteEnvironmentFlag, workspaceFlags, } from "../../../base.js";
|
|
3
|
+
export default class AuthzMembershipList extends OpenXiangdaCommand {
|
|
4
|
+
static summary = "分页查询 Native 应用角色成员";
|
|
5
|
+
static flags = {
|
|
6
|
+
...workspaceFlags,
|
|
7
|
+
environment: requiredRemoteEnvironmentFlag,
|
|
8
|
+
user: Flags.string({ summary: "按用户 ID 过滤" }),
|
|
9
|
+
role: Flags.string({ summary: "按业务角色 code 过滤" }),
|
|
10
|
+
keyword: Flags.string({ summary: "按用户或角色搜索" }),
|
|
11
|
+
status: Flags.string({
|
|
12
|
+
options: ["active", "revoked", "expired"],
|
|
13
|
+
summary: "成员状态",
|
|
14
|
+
}),
|
|
15
|
+
limit: Flags.integer({ min: 1, max: 100, default: 50 }),
|
|
16
|
+
offset: Flags.integer({ min: 0, default: 0 }),
|
|
17
|
+
};
|
|
18
|
+
async run() {
|
|
19
|
+
const { flags } = await this.parse(AuthzMembershipList);
|
|
20
|
+
return this.present(await this.services.nativeRoleMemberships(flags.cwd, flags.environment, {
|
|
21
|
+
...(flags.user ? { userId: flags.user } : {}),
|
|
22
|
+
...(flags.role ? { roleCode: flags.role } : {}),
|
|
23
|
+
...(flags.keyword ? { keyword: flags.keyword } : {}),
|
|
24
|
+
...(flags.status
|
|
25
|
+
? {
|
|
26
|
+
status: flags.status,
|
|
27
|
+
}
|
|
28
|
+
: {}),
|
|
29
|
+
limit: flags.limit,
|
|
30
|
+
offset: flags.offset,
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/authz/membership/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,kBAAkB;IACjE,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC;IACtC,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,cAAc;QACjB,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAC5C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QAChD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAC9C,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;YACzC,OAAO,EAAE,MAAM;SAChB,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACvD,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KAC9C,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CACvC,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,WAAW,EACjB;YACE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC;oBACE,MAAM,EAAE,KAAK,CAAC,MAA0C;iBACzD;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CACF,CACF,CAAC;IACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OpenXiangdaCommand } from "../../../base.js";
|
|
2
|
+
export default class AuthzMembershipRevoke extends OpenXiangdaCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static args: {
|
|
5
|
+
membershipId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
revision: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
"operation-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<import("openxiangda-contracts").DevkitResult<unknown>>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=revoke.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke.d.ts","sourceRoot":"","sources":["../../../../src/commands/authz/membership/revoke.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,kBAAkB;IACnE,MAAM,CAAC,OAAO,SAA0B;IACxC,MAAM,CAAC,IAAI;;MAAqD;IAChE,MAAM,CAAC,KAAK;;;;;MAKV;IAEI,GAAG;CAgBV"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import { OpenXiangdaCommand, requiredRemoteEnvironmentFlag, workspaceFlags, } from "../../../base.js";
|
|
3
|
+
import { mutationOperationId } from "../../../native-authz.js";
|
|
4
|
+
export default class AuthzMembershipRevoke extends OpenXiangdaCommand {
|
|
5
|
+
static summary = "CAS 撤销 Native 应用角色成员";
|
|
6
|
+
static args = { membershipId: Args.string({ required: true }) };
|
|
7
|
+
static flags = {
|
|
8
|
+
...workspaceFlags,
|
|
9
|
+
environment: requiredRemoteEnvironmentFlag,
|
|
10
|
+
revision: Flags.integer({ required: true, min: 1 }),
|
|
11
|
+
"operation-id": Flags.string({ summary: "可选 UUID 幂等操作 ID" }),
|
|
12
|
+
};
|
|
13
|
+
async run() {
|
|
14
|
+
const { args, flags } = await this.parse(AuthzMembershipRevoke);
|
|
15
|
+
return this.present(await this.services.revokeNativeRoleMembership(flags.cwd, args.membershipId, {
|
|
16
|
+
environmentKey: flags.environment,
|
|
17
|
+
operationId: mutationOperationId(flags["operation-id"]),
|
|
18
|
+
expectedRevision: flags.revision,
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=revoke.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke.js","sourceRoot":"","sources":["../../../../src/commands/authz/membership/revoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,kBAAkB;IACnE,MAAM,CAAC,OAAO,GAAG,sBAAsB,CAAC;IACxC,MAAM,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAChE,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,cAAc;QACjB,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACnD,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;KAC7D,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAC5C,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,YAAY,EACjB;YACE,cAAc,EAAE,KAAK,CAAC,WAEN;YAChB,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACvD,gBAAgB,EAAE,KAAK,CAAC,QAAQ;SACjC,CACF,CACF,CAAC;IACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { OpenXiangdaCommand } from "../../../base.js";
|
|
2
|
+
export default class AuthzMembershipUpdate extends OpenXiangdaCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static args: {
|
|
5
|
+
membershipId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
revision: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
"valid-from": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
"valid-to": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
"operation-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<import("openxiangda-contracts").DevkitResult<unknown>>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/commands/authz/membership/update.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,kBAAkB;IACnE,MAAM,CAAC,OAAO,SAAiC;IAC/C,MAAM,CAAC,IAAI;;MAAqD;IAChE,MAAM,CAAC,KAAK;;;;;;;;MAWV;IAEI,GAAG;CAmBV"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import { OpenXiangdaCommand, requiredRemoteEnvironmentFlag, workspaceFlags, } from "../../../base.js";
|
|
3
|
+
import { mutationOperationId, parseScopeGrants } from "../../../native-authz.js";
|
|
4
|
+
export default class AuthzMembershipUpdate extends OpenXiangdaCommand {
|
|
5
|
+
static summary = "CAS 更新 Native 角色成员的数据范围与有效期";
|
|
6
|
+
static args = { membershipId: Args.string({ required: true }) };
|
|
7
|
+
static flags = {
|
|
8
|
+
...workspaceFlags,
|
|
9
|
+
environment: requiredRemoteEnvironmentFlag,
|
|
10
|
+
revision: Flags.integer({ required: true, min: 1 }),
|
|
11
|
+
scope: Flags.string({
|
|
12
|
+
multiple: true,
|
|
13
|
+
summary: "完整替换数据范围,dimension=value1,value2",
|
|
14
|
+
}),
|
|
15
|
+
"valid-from": Flags.string({ summary: "可选 ISO 8601 生效时间" }),
|
|
16
|
+
"valid-to": Flags.string({ summary: "可选 ISO 8601 失效时间" }),
|
|
17
|
+
"operation-id": Flags.string({ summary: "可选 UUID 幂等操作 ID" }),
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
const { args, flags } = await this.parse(AuthzMembershipUpdate);
|
|
21
|
+
return this.present(await this.services.updateNativeRoleMembership(flags.cwd, args.membershipId, {
|
|
22
|
+
environmentKey: flags.environment,
|
|
23
|
+
operationId: mutationOperationId(flags["operation-id"]),
|
|
24
|
+
expectedRevision: flags.revision,
|
|
25
|
+
scopeGrants: parseScopeGrants(flags.scope),
|
|
26
|
+
...(flags["valid-from"] ? { validFrom: flags["valid-from"] } : {}),
|
|
27
|
+
...(flags["valid-to"] ? { validTo: flags["valid-to"] } : {}),
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/authz/membership/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,kBAAkB;IACnE,MAAM,CAAC,OAAO,GAAG,6BAA6B,CAAC;IAC/C,MAAM,CAAC,IAAI,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAChE,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,cAAc;QACjB,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACnD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,kCAAkC;SAC5C,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC3D,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QACzD,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;KAC7D,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAC5C,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,YAAY,EACjB;YACE,cAAc,EAAE,KAAK,CAAC,WAEN;YAChB,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACvD,gBAAgB,EAAE,KAAK,CAAC,QAAQ;YAChC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;YAC1C,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CACF,CACF,CAAC;IACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OpenXiangdaCommand } from "../../../base.js";
|
|
2
|
+
export default class AuthzRelationshipGrant extends OpenXiangdaCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
"subject-type": import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
"subject-key": import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
relation: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
resource: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
"resource-id": import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
operation: import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
source: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
"valid-from": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
"valid-to": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
"operation-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
};
|
|
18
|
+
run(): Promise<import("openxiangda-contracts").DevkitResult<unknown>>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=grant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grant.d.ts","sourceRoot":"","sources":["../../../../src/commands/authz/relationship/grant.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,kBAAkB;IACpE,MAAM,CAAC,OAAO,SAAsB;IACpC,MAAM,CAAC,KAAK;;;;;;;;;;;;;MAgBV;IAEI,GAAG;CAkBV"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { OpenXiangdaCommand, requiredRemoteEnvironmentFlag, workspaceFlags, } from "../../../base.js";
|
|
3
|
+
import { mutationOperationId } from "../../../native-authz.js";
|
|
4
|
+
export default class AuthzRelationshipGrant extends OpenXiangdaCommand {
|
|
5
|
+
static summary = "创建 Native 资源关系授权";
|
|
6
|
+
static flags = {
|
|
7
|
+
...workspaceFlags,
|
|
8
|
+
environment: requiredRemoteEnvironmentFlag,
|
|
9
|
+
"subject-type": Flags.string({
|
|
10
|
+
required: true,
|
|
11
|
+
options: ["user", "role_membership"],
|
|
12
|
+
}),
|
|
13
|
+
"subject-key": Flags.string({ required: true }),
|
|
14
|
+
relation: Flags.string({ required: true }),
|
|
15
|
+
resource: Flags.string({ required: true }),
|
|
16
|
+
"resource-id": Flags.string({ required: true }),
|
|
17
|
+
operation: Flags.string({ multiple: true, default: ["*"] }),
|
|
18
|
+
source: Flags.string({ default: "manual" }),
|
|
19
|
+
"valid-from": Flags.string(),
|
|
20
|
+
"valid-to": Flags.string(),
|
|
21
|
+
"operation-id": Flags.string({ summary: "可选 UUID 幂等操作 ID" }),
|
|
22
|
+
};
|
|
23
|
+
async run() {
|
|
24
|
+
const { flags } = await this.parse(AuthzRelationshipGrant);
|
|
25
|
+
return this.present(await this.services.createNativeRelationshipGrant(flags.cwd, {
|
|
26
|
+
environmentKey: flags.environment,
|
|
27
|
+
operationId: mutationOperationId(flags["operation-id"]),
|
|
28
|
+
subjectType: flags["subject-type"],
|
|
29
|
+
subjectKey: flags["subject-key"],
|
|
30
|
+
relationCode: flags.relation,
|
|
31
|
+
resourceCode: flags.resource,
|
|
32
|
+
resourceId: flags["resource-id"],
|
|
33
|
+
operations: flags.operation,
|
|
34
|
+
sourceCode: flags.source,
|
|
35
|
+
...(flags["valid-from"] ? { validFrom: flags["valid-from"] } : {}),
|
|
36
|
+
...(flags["valid-to"] ? { validTo: flags["valid-to"] } : {}),
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=grant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grant.js","sourceRoot":"","sources":["../../../../src/commands/authz/relationship/grant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,kBAAkB;IACpE,MAAM,CAAC,OAAO,GAAG,kBAAkB,CAAC;IACpC,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,cAAc;QACjB,WAAW,EAAE,6BAA6B;QAC1C,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC;YAC3B,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC;SACrC,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC/C,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC1C,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC1C,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC/C,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC3C,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE;QAC5B,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE;QAC1B,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;KAC7D,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,KAAK,CAAC,GAAG,EAAE;YAC3D,cAAc,EAAE,KAAK,CAAC,WAA6C;YACnE,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACvD,WAAW,EAAE,KAAK,CAAC,cAAc,CAA+B;YAChE,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;YAChC,YAAY,EAAE,KAAK,CAAC,QAAQ;YAC5B,YAAY,EAAE,KAAK,CAAC,QAAQ;YAC5B,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;YAChC,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC,CACH,CAAC;IACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { OpenXiangdaCommand } from "../../../base.js";
|
|
2
|
+
export default class AuthzRelationshipList extends OpenXiangdaCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
"subject-type": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
"subject-key": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
relation: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
resource: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
"resource-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
status: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
offset: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<import("openxiangda-contracts").DevkitResult<unknown>>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/authz/relationship/list.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,kBAAkB;IACnE,MAAM,CAAC,OAAO,SAAwB;IACtC,MAAM,CAAC,KAAK;;;;;;;;;;;MAWV;IAEI,GAAG;CAiCV"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { OpenXiangdaCommand, requiredRemoteEnvironmentFlag, workspaceFlags, } from "../../../base.js";
|
|
3
|
+
export default class AuthzRelationshipList extends OpenXiangdaCommand {
|
|
4
|
+
static summary = "分页查询 Native 资源关系授权";
|
|
5
|
+
static flags = {
|
|
6
|
+
...workspaceFlags,
|
|
7
|
+
environment: requiredRemoteEnvironmentFlag,
|
|
8
|
+
"subject-type": Flags.string({ options: ["user", "role_membership"] }),
|
|
9
|
+
"subject-key": Flags.string(),
|
|
10
|
+
relation: Flags.string(),
|
|
11
|
+
resource: Flags.string(),
|
|
12
|
+
"resource-id": Flags.string(),
|
|
13
|
+
status: Flags.string({ options: ["active", "revoked", "expired"] }),
|
|
14
|
+
limit: Flags.integer({ min: 1, max: 100, default: 50 }),
|
|
15
|
+
offset: Flags.integer({ min: 0, default: 0 }),
|
|
16
|
+
};
|
|
17
|
+
async run() {
|
|
18
|
+
const { flags } = await this.parse(AuthzRelationshipList);
|
|
19
|
+
return this.present(await this.services.nativeRelationshipGrants(flags.cwd, flags.environment, {
|
|
20
|
+
...(flags["subject-type"]
|
|
21
|
+
? {
|
|
22
|
+
subjectType: flags["subject-type"],
|
|
23
|
+
}
|
|
24
|
+
: {}),
|
|
25
|
+
...(flags["subject-key"]
|
|
26
|
+
? { subjectKey: flags["subject-key"] }
|
|
27
|
+
: {}),
|
|
28
|
+
...(flags.relation ? { relationCode: flags.relation } : {}),
|
|
29
|
+
...(flags.resource ? { resourceCode: flags.resource } : {}),
|
|
30
|
+
...(flags["resource-id"]
|
|
31
|
+
? { resourceId: flags["resource-id"] }
|
|
32
|
+
: {}),
|
|
33
|
+
...(flags.status
|
|
34
|
+
? {
|
|
35
|
+
status: flags.status,
|
|
36
|
+
}
|
|
37
|
+
: {}),
|
|
38
|
+
limit: flags.limit,
|
|
39
|
+
offset: flags.offset,
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/authz/relationship/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,kBAAkB;IACnE,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC;IACtC,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,cAAc;QACjB,WAAW,EAAE,6BAA6B;QAC1C,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACtE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE;QAC7B,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE;QACxB,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE;QACxB,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE;QAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QACnE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACvD,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KAC9C,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAC1C,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,WAAW,EACjB;YACE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;gBACvB,CAAC,CAAC;oBACE,WAAW,EAAE,KAAK,CAAC,cAAc,CAEZ;iBACtB;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;gBACtB,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;gBACtB,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC;oBACE,MAAM,EAAE,KAAK,CAAC,MAA0C;iBACzD;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CACF,CACF,CAAC;IACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OpenXiangdaCommand } from "../../../base.js";
|
|
2
|
+
export default class AuthzRelationshipRevoke extends OpenXiangdaCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static args: {
|
|
5
|
+
grantId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
revision: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
"operation-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<import("openxiangda-contracts").DevkitResult<unknown>>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=revoke.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke.d.ts","sourceRoot":"","sources":["../../../../src/commands/authz/relationship/revoke.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,kBAAkB;IACrE,MAAM,CAAC,OAAO,SAA0B;IACxC,MAAM,CAAC,IAAI;;MAAgD;IAC3D,MAAM,CAAC,KAAK;;;;;MAKV;IAEI,GAAG;CAgBV"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import { OpenXiangdaCommand, requiredRemoteEnvironmentFlag, workspaceFlags, } from "../../../base.js";
|
|
3
|
+
import { mutationOperationId } from "../../../native-authz.js";
|
|
4
|
+
export default class AuthzRelationshipRevoke extends OpenXiangdaCommand {
|
|
5
|
+
static summary = "CAS 撤销 Native 资源关系授权";
|
|
6
|
+
static args = { grantId: Args.string({ required: true }) };
|
|
7
|
+
static flags = {
|
|
8
|
+
...workspaceFlags,
|
|
9
|
+
environment: requiredRemoteEnvironmentFlag,
|
|
10
|
+
revision: Flags.integer({ required: true, min: 1 }),
|
|
11
|
+
"operation-id": Flags.string({ summary: "可选 UUID 幂等操作 ID" }),
|
|
12
|
+
};
|
|
13
|
+
async run() {
|
|
14
|
+
const { args, flags } = await this.parse(AuthzRelationshipRevoke);
|
|
15
|
+
return this.present(await this.services.revokeNativeRelationshipGrant(flags.cwd, args.grantId, {
|
|
16
|
+
environmentKey: flags.environment,
|
|
17
|
+
operationId: mutationOperationId(flags["operation-id"]),
|
|
18
|
+
expectedRevision: flags.revision,
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=revoke.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke.js","sourceRoot":"","sources":["../../../../src/commands/authz/relationship/revoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,kBAAkB;IACrE,MAAM,CAAC,OAAO,GAAG,sBAAsB,CAAC;IACxC,MAAM,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC3D,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,cAAc;QACjB,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACnD,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;KAC7D,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAC/C,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,OAAO,EACZ;YACE,cAAc,EAAE,KAAK,CAAC,WAEN;YAChB,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACvD,gBAAgB,EAAE,KAAK,CAAC,QAAQ;SACjC,CACF,CACF,CAAC;IACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { OpenXiangdaCommand } from "../../../base.js";
|
|
2
|
+
export default class AuthzRelationshipUpdate extends OpenXiangdaCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static args: {
|
|
5
|
+
grantId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
revision: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
operation: import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
"valid-from": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
"valid-to": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
"operation-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<import("openxiangda-contracts").DevkitResult<unknown>>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/commands/authz/relationship/update.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,kBAAkB;IACrE,MAAM,CAAC,OAAO,SAA0B;IACxC,MAAM,CAAC,IAAI;;MAAgD;IAC3D,MAAM,CAAC,KAAK;;;;;;;;MAQV;IAEI,GAAG;CAmBV"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import { OpenXiangdaCommand, requiredRemoteEnvironmentFlag, workspaceFlags, } from "../../../base.js";
|
|
3
|
+
import { mutationOperationId } from "../../../native-authz.js";
|
|
4
|
+
export default class AuthzRelationshipUpdate extends OpenXiangdaCommand {
|
|
5
|
+
static summary = "CAS 更新 Native 资源关系授权";
|
|
6
|
+
static args = { grantId: Args.string({ required: true }) };
|
|
7
|
+
static flags = {
|
|
8
|
+
...workspaceFlags,
|
|
9
|
+
environment: requiredRemoteEnvironmentFlag,
|
|
10
|
+
revision: Flags.integer({ required: true, min: 1 }),
|
|
11
|
+
operation: Flags.string({ multiple: true, default: ["*"] }),
|
|
12
|
+
"valid-from": Flags.string(),
|
|
13
|
+
"valid-to": Flags.string(),
|
|
14
|
+
"operation-id": Flags.string({ summary: "可选 UUID 幂等操作 ID" }),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
const { args, flags } = await this.parse(AuthzRelationshipUpdate);
|
|
18
|
+
return this.present(await this.services.updateNativeRelationshipGrant(flags.cwd, args.grantId, {
|
|
19
|
+
environmentKey: flags.environment,
|
|
20
|
+
operationId: mutationOperationId(flags["operation-id"]),
|
|
21
|
+
expectedRevision: flags.revision,
|
|
22
|
+
operations: flags.operation,
|
|
23
|
+
...(flags["valid-from"] ? { validFrom: flags["valid-from"] } : {}),
|
|
24
|
+
...(flags["valid-to"] ? { validTo: flags["valid-to"] } : {}),
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/authz/relationship/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,kBAAkB;IACrE,MAAM,CAAC,OAAO,GAAG,sBAAsB,CAAC;IACxC,MAAM,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC3D,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,cAAc;QACjB,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACnD,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE;QAC5B,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE;QAC1B,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;KAC7D,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAC/C,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,OAAO,EACZ;YACE,cAAc,EAAE,KAAK,CAAC,WAEN;YAChB,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACvD,gBAAgB,EAAE,KAAK,CAAC,QAAQ;YAChC,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CACF,CACF,CAAC;IACJ,CAAC"}
|