node-opcua-role-set-admin 2.183.0 → 2.184.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.
- package/dist/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +13 -15
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +1 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +42 -58
- package/dist/commands.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -15
- package/dist/index.js.map +1 -1
- package/package.json +8 -7
package/dist/cli.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../source/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
2
|
/**
|
|
5
3
|
* @module node-opcua-role-set-admin
|
|
6
4
|
*
|
|
7
5
|
* `role-set-admin` — administer the RoleSet & User Management (OPC 10000-18) of
|
|
8
6
|
* any OPC UA server over a real session.
|
|
9
7
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const program = new
|
|
8
|
+
import { Command } from "commander";
|
|
9
|
+
import { addIdentity, addRole, addUser, changePassword, listRoles, listUsers, removeIdentity, removeRole, removeUser, showRole } from "./commands.js";
|
|
10
|
+
const program = new Command()
|
|
13
11
|
.name("role-set-admin")
|
|
14
12
|
.description("Administer the RoleSet & User Management of an OPC UA server (OPC 10000-18)")
|
|
15
13
|
.requiredOption("-e, --endpoint <url>", "OPC UA endpoint, e.g. opc.tcp://host:4840")
|
|
@@ -32,21 +30,21 @@ function run(action) {
|
|
|
32
30
|
action(program.opts(), ...positionals).catch(fail);
|
|
33
31
|
};
|
|
34
32
|
}
|
|
35
|
-
program.command("list-roles").description("list all Roles and their identities").action(run(
|
|
36
|
-
program.command("show-role <name>").description("show one Role's identities").action(run(
|
|
37
|
-
program.command("add-role <name>").description("add a custom Role").action(run(
|
|
38
|
-
program.command("remove-role <name>").description("remove a custom Role").action(run(
|
|
39
|
-
program.command("add-identity <role> <user>").description("map a UserName to a Role").action(run(
|
|
40
|
-
program.command("remove-identity <role> <user>").description("unmap a UserName from a Role").action(run(
|
|
41
|
-
program.command("list-users").description("list managed users").action(run(
|
|
33
|
+
program.command("list-roles").description("list all Roles and their identities").action(run(listRoles));
|
|
34
|
+
program.command("show-role <name>").description("show one Role's identities").action(run(showRole));
|
|
35
|
+
program.command("add-role <name>").description("add a custom Role").action(run(addRole));
|
|
36
|
+
program.command("remove-role <name>").description("remove a custom Role").action(run(removeRole));
|
|
37
|
+
program.command("add-identity <role> <user>").description("map a UserName to a Role").action(run(addIdentity));
|
|
38
|
+
program.command("remove-identity <role> <user>").description("unmap a UserName from a Role").action(run(removeIdentity));
|
|
39
|
+
program.command("list-users").description("list managed users").action(run(listUsers));
|
|
42
40
|
program
|
|
43
41
|
.command("add-user <user> <password>")
|
|
44
42
|
.description("add a user, optionally granting Roles")
|
|
45
43
|
.option("-r, --role <name...>", "Role(s) to grant", [])
|
|
46
44
|
.action((user, password, cmdOpts) => {
|
|
47
|
-
|
|
45
|
+
addUser(program.opts(), user, password, cmdOpts.role).catch(fail);
|
|
48
46
|
});
|
|
49
|
-
program.command("remove-user <user>").description("remove a user").action(run(
|
|
50
|
-
program.command("change-password <old> <new>").description("change the connected user's password").action(run(
|
|
47
|
+
program.command("remove-user <user>").description("remove a user").action(run(removeUser));
|
|
48
|
+
program.command("change-password <old> <new>").description("change the connected user's password").action(run(changePassword));
|
|
51
49
|
program.parse(process.argv);
|
|
52
50
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -19,3 +19,4 @@ export declare function listUsers(opts: GlobalOpts): Promise<void>;
|
|
|
19
19
|
export declare function addUser(opts: GlobalOpts, userName: string, password: string, roles: string[]): Promise<void>;
|
|
20
20
|
export declare function removeUser(opts: GlobalOpts, userName: string): Promise<void>;
|
|
21
21
|
export declare function changePassword(opts: GlobalOpts, oldPassword: string, newPassword: string): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../source/commands.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,aAAa,EAAmE,MAAM,mBAAmB,CAAC;AAKxH,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAsBD,iEAAiE;AACjE,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAiC7G;AAeD,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAS/D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5E;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9E;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKrG;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxG;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/D;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAYlH;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIlF;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9G"}
|
package/dist/commands.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.withSession = withSession;
|
|
7
|
-
exports.listRoles = listRoles;
|
|
8
|
-
exports.showRole = showRole;
|
|
9
|
-
exports.addRole = addRole;
|
|
10
|
-
exports.removeRole = removeRole;
|
|
11
|
-
exports.addIdentity = addIdentity;
|
|
12
|
-
exports.removeIdentity = removeIdentity;
|
|
13
|
-
exports.listUsers = listUsers;
|
|
14
|
-
exports.addUser = addUser;
|
|
15
|
-
exports.removeUser = removeUser;
|
|
16
|
-
exports.changePassword = changePassword;
|
|
17
1
|
/**
|
|
18
2
|
* @module node-opcua-role-set-admin
|
|
19
3
|
*
|
|
@@ -21,15 +5,15 @@ exports.changePassword = changePassword;
|
|
|
21
5
|
* built on `ClientRoleSet` / `ClientUserManagement`. Exported so they can also be
|
|
22
6
|
* driven programmatically.
|
|
23
7
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const userNameRule = (userName) => new
|
|
8
|
+
import { promises as fs } from "node:fs";
|
|
9
|
+
import os from "node:os";
|
|
10
|
+
import path from "node:path";
|
|
11
|
+
import { OPCUACertificateManager } from "node-opcua-certificate-manager";
|
|
12
|
+
import { MessageSecurityMode, OPCUAClient, SecurityPolicy, UserTokenType } from "node-opcua-client";
|
|
13
|
+
import { ClientRoleSet, ClientUserManagement } from "node-opcua-role-set-client";
|
|
14
|
+
import { StatusCodes } from "node-opcua-status-code";
|
|
15
|
+
import { IdentityCriteriaType, IdentityMappingRuleType, UserConfigurationMask } from "node-opcua-types";
|
|
16
|
+
const userNameRule = (userName) => new IdentityMappingRuleType({ criteriaType: IdentityCriteriaType.UserName, criteria: userName });
|
|
33
17
|
/**
|
|
34
18
|
* Resolve the password: use `--password` if given, otherwise prompt for it with
|
|
35
19
|
* hidden input (so it never lands in shell history or the process list). A
|
|
@@ -47,25 +31,25 @@ async function resolvePassword(opts) {
|
|
|
47
31
|
return password({ message: `Password for ${opts.username}:`, mask: "*" });
|
|
48
32
|
}
|
|
49
33
|
/** Connect, run `fn` in a session, then tear everything down. */
|
|
50
|
-
async function withSession(opts, fn) {
|
|
34
|
+
export async function withSession(opts, fn) {
|
|
51
35
|
const password = await resolvePassword(opts);
|
|
52
36
|
const secure = !opts.insecure;
|
|
53
|
-
const pkiRoot =
|
|
54
|
-
const clientCertificateManager = new
|
|
37
|
+
const pkiRoot = path.join(os.tmpdir(), `role-set-admin-${process.pid}`);
|
|
38
|
+
const clientCertificateManager = new OPCUACertificateManager({
|
|
55
39
|
rootFolder: pkiRoot,
|
|
56
40
|
automaticallyAcceptUnknownCertificate: true
|
|
57
41
|
});
|
|
58
42
|
await clientCertificateManager.initialize();
|
|
59
|
-
const client =
|
|
43
|
+
const client = OPCUAClient.create({
|
|
60
44
|
endpointMustExist: false,
|
|
61
|
-
securityMode: secure ?
|
|
62
|
-
securityPolicy: secure ?
|
|
45
|
+
securityMode: secure ? MessageSecurityMode.SignAndEncrypt : MessageSecurityMode.None,
|
|
46
|
+
securityPolicy: secure ? SecurityPolicy.Basic256Sha256 : SecurityPolicy.None,
|
|
63
47
|
clientCertificateManager
|
|
64
48
|
});
|
|
65
49
|
await client.connect(opts.endpoint);
|
|
66
50
|
try {
|
|
67
51
|
const userIdentity = opts.username !== undefined
|
|
68
|
-
? { type:
|
|
52
|
+
? { type: UserTokenType.UserName, userName: opts.username, password: password ?? "" }
|
|
69
53
|
: undefined;
|
|
70
54
|
const session = await client.createSession(userIdentity);
|
|
71
55
|
try {
|
|
@@ -78,12 +62,12 @@ async function withSession(opts, fn) {
|
|
|
78
62
|
finally {
|
|
79
63
|
await client.disconnect();
|
|
80
64
|
await clientCertificateManager.dispose();
|
|
81
|
-
await
|
|
65
|
+
await fs.rm(pkiRoot, { recursive: true, force: true }).catch(() => undefined);
|
|
82
66
|
}
|
|
83
67
|
}
|
|
84
68
|
/** Print a StatusCode result and mark the process failed if it is not Good. */
|
|
85
69
|
function reportStatus(label, statusCode) {
|
|
86
|
-
const ok = statusCode ===
|
|
70
|
+
const ok = statusCode === StatusCodes.Good;
|
|
87
71
|
console.log(`${ok ? "✓" : "✗"} ${label}: ${statusCode.name}`);
|
|
88
72
|
if (!ok)
|
|
89
73
|
process.exitCode = 1;
|
|
@@ -94,9 +78,9 @@ async function getRoleOrThrow(roleSet, name) {
|
|
|
94
78
|
throw new Error(`role '${name}' not found`);
|
|
95
79
|
return role;
|
|
96
80
|
}
|
|
97
|
-
async function listRoles(opts) {
|
|
81
|
+
export async function listRoles(opts) {
|
|
98
82
|
await withSession(opts, async (session) => {
|
|
99
|
-
const roleSet = new
|
|
83
|
+
const roleSet = new ClientRoleSet(session);
|
|
100
84
|
for (const role of await roleSet.getRoles()) {
|
|
101
85
|
const identities = await role.readIdentities();
|
|
102
86
|
const who = identities.map((i) => i.criteria).join(", ") || "—";
|
|
@@ -104,73 +88,73 @@ async function listRoles(opts) {
|
|
|
104
88
|
}
|
|
105
89
|
});
|
|
106
90
|
}
|
|
107
|
-
async function showRole(opts, name) {
|
|
91
|
+
export async function showRole(opts, name) {
|
|
108
92
|
await withSession(opts, async (session) => {
|
|
109
|
-
const role = await getRoleOrThrow(new
|
|
93
|
+
const role = await getRoleOrThrow(new ClientRoleSet(session), name);
|
|
110
94
|
console.log(`Role ${role.roleName} (${role.roleNodeId.toString()})`);
|
|
111
95
|
const identities = await role.readIdentities();
|
|
112
96
|
if (identities.length === 0) {
|
|
113
97
|
console.log(" (no identities)");
|
|
114
98
|
}
|
|
115
99
|
for (const i of identities) {
|
|
116
|
-
console.log(` - ${
|
|
100
|
+
console.log(` - ${IdentityCriteriaType[i.criteriaType]}: ${i.criteria}`);
|
|
117
101
|
}
|
|
118
102
|
});
|
|
119
103
|
}
|
|
120
|
-
async function addRole(opts, name) {
|
|
104
|
+
export async function addRole(opts, name) {
|
|
121
105
|
await withSession(opts, async (session) => {
|
|
122
|
-
const { statusCode, roleNodeId } = await new
|
|
106
|
+
const { statusCode, roleNodeId } = await new ClientRoleSet(session).addRole(name);
|
|
123
107
|
reportStatus(`AddRole '${name}'${roleNodeId ? ` -> ${roleNodeId.toString()}` : ""}`, statusCode);
|
|
124
108
|
});
|
|
125
109
|
}
|
|
126
|
-
async function removeRole(opts, name) {
|
|
110
|
+
export async function removeRole(opts, name) {
|
|
127
111
|
await withSession(opts, async (session) => {
|
|
128
|
-
const roleSet = new
|
|
112
|
+
const roleSet = new ClientRoleSet(session);
|
|
129
113
|
const role = await getRoleOrThrow(roleSet, name);
|
|
130
114
|
reportStatus(`RemoveRole '${name}'`, (await roleSet.removeRole(role.roleNodeId)).statusCode);
|
|
131
115
|
});
|
|
132
116
|
}
|
|
133
|
-
async function addIdentity(opts, roleName, userName) {
|
|
117
|
+
export async function addIdentity(opts, roleName, userName) {
|
|
134
118
|
await withSession(opts, async (session) => {
|
|
135
|
-
const role = await getRoleOrThrow(new
|
|
119
|
+
const role = await getRoleOrThrow(new ClientRoleSet(session), roleName);
|
|
136
120
|
reportStatus(`AddIdentity ${userName} -> ${roleName}`, (await role.addIdentity(userNameRule(userName))).statusCode);
|
|
137
121
|
});
|
|
138
122
|
}
|
|
139
|
-
async function removeIdentity(opts, roleName, userName) {
|
|
123
|
+
export async function removeIdentity(opts, roleName, userName) {
|
|
140
124
|
await withSession(opts, async (session) => {
|
|
141
|
-
const role = await getRoleOrThrow(new
|
|
125
|
+
const role = await getRoleOrThrow(new ClientRoleSet(session), roleName);
|
|
142
126
|
reportStatus(`RemoveIdentity ${userName} from ${roleName}`, (await role.removeIdentity(userNameRule(userName))).statusCode);
|
|
143
127
|
});
|
|
144
128
|
}
|
|
145
|
-
async function listUsers(opts) {
|
|
129
|
+
export async function listUsers(opts) {
|
|
146
130
|
await withSession(opts, async (session) => {
|
|
147
|
-
for (const u of await new
|
|
131
|
+
for (const u of await new ClientUserManagement(session).readUsers()) {
|
|
148
132
|
console.log(`${(u.userName ?? "").padEnd(20)} config=${u.userConfiguration} ${u.description ?? ""}`);
|
|
149
133
|
}
|
|
150
134
|
});
|
|
151
135
|
}
|
|
152
|
-
async function addUser(opts, userName, password, roles) {
|
|
136
|
+
export async function addUser(opts, userName, password, roles) {
|
|
153
137
|
await withSession(opts, async (session) => {
|
|
154
|
-
const um = new
|
|
155
|
-
const addStatus = (await um.addUser(userName, password,
|
|
138
|
+
const um = new ClientUserManagement(session);
|
|
139
|
+
const addStatus = (await um.addUser(userName, password, UserConfigurationMask.None, "")).statusCode;
|
|
156
140
|
reportStatus(`AddUser '${userName}'`, addStatus);
|
|
157
|
-
if (addStatus !==
|
|
141
|
+
if (addStatus !== StatusCodes.Good)
|
|
158
142
|
return;
|
|
159
|
-
const roleSet = new
|
|
143
|
+
const roleSet = new ClientRoleSet(session);
|
|
160
144
|
for (const roleName of roles) {
|
|
161
145
|
const role = await getRoleOrThrow(roleSet, roleName);
|
|
162
146
|
reportStatus(` + identity ${userName} -> ${roleName}`, (await role.addIdentity(userNameRule(userName))).statusCode);
|
|
163
147
|
}
|
|
164
148
|
});
|
|
165
149
|
}
|
|
166
|
-
async function removeUser(opts, userName) {
|
|
150
|
+
export async function removeUser(opts, userName) {
|
|
167
151
|
await withSession(opts, async (session) => {
|
|
168
|
-
reportStatus(`RemoveUser '${userName}'`, (await new
|
|
152
|
+
reportStatus(`RemoveUser '${userName}'`, (await new ClientUserManagement(session).removeUser(userName)).statusCode);
|
|
169
153
|
});
|
|
170
154
|
}
|
|
171
|
-
async function changePassword(opts, oldPassword, newPassword) {
|
|
155
|
+
export async function changePassword(opts, oldPassword, newPassword) {
|
|
172
156
|
await withSession(opts, async (session) => {
|
|
173
|
-
reportStatus("ChangePassword", (await new
|
|
157
|
+
reportStatus("ChangePassword", (await new ClientUserManagement(session).changePassword(oldPassword, newPassword)).statusCode);
|
|
174
158
|
});
|
|
175
159
|
}
|
|
176
160
|
//# sourceMappingURL=commands.js.map
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../source/commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../source/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,3 +5,4 @@
|
|
|
5
5
|
* same RoleSet / User Management administration from your own code.
|
|
6
6
|
*/
|
|
7
7
|
export { addIdentity, addRole, addUser, changePassword, type GlobalOpts, listRoles, listUsers, removeIdentity, removeRole, removeUser, showRole, withSession } from "./commands.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACH,WAAW,EACX,OAAO,EACP,OAAO,EACP,cAAc,EACd,KAAK,UAAU,EACf,SAAS,EACT,SAAS,EACT,cAAc,EACd,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACd,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,22 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.withSession = exports.showRole = exports.removeUser = exports.removeRole = exports.removeIdentity = exports.listUsers = exports.listRoles = exports.changePassword = exports.addUser = exports.addRole = exports.addIdentity = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* @module node-opcua-role-set-admin
|
|
6
3
|
*
|
|
7
4
|
* Programmatic API behind the `role-set-admin` CLI. Import these to script the
|
|
8
5
|
* same RoleSet / User Management administration from your own code.
|
|
9
6
|
*/
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(exports, "addIdentity", { enumerable: true, get: function () { return commands_js_1.addIdentity; } });
|
|
12
|
-
Object.defineProperty(exports, "addRole", { enumerable: true, get: function () { return commands_js_1.addRole; } });
|
|
13
|
-
Object.defineProperty(exports, "addUser", { enumerable: true, get: function () { return commands_js_1.addUser; } });
|
|
14
|
-
Object.defineProperty(exports, "changePassword", { enumerable: true, get: function () { return commands_js_1.changePassword; } });
|
|
15
|
-
Object.defineProperty(exports, "listRoles", { enumerable: true, get: function () { return commands_js_1.listRoles; } });
|
|
16
|
-
Object.defineProperty(exports, "listUsers", { enumerable: true, get: function () { return commands_js_1.listUsers; } });
|
|
17
|
-
Object.defineProperty(exports, "removeIdentity", { enumerable: true, get: function () { return commands_js_1.removeIdentity; } });
|
|
18
|
-
Object.defineProperty(exports, "removeRole", { enumerable: true, get: function () { return commands_js_1.removeRole; } });
|
|
19
|
-
Object.defineProperty(exports, "removeUser", { enumerable: true, get: function () { return commands_js_1.removeUser; } });
|
|
20
|
-
Object.defineProperty(exports, "showRole", { enumerable: true, get: function () { return commands_js_1.showRole; } });
|
|
21
|
-
Object.defineProperty(exports, "withSession", { enumerable: true, get: function () { return commands_js_1.withSession; } });
|
|
7
|
+
export { addIdentity, addRole, addUser, changePassword, listRoles, listUsers, removeIdentity, removeRole, removeUser, showRole, withSession } from "./commands.js";
|
|
22
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACH,WAAW,EACX,OAAO,EACP,OAAO,EACP,cAAc,EAEd,SAAS,EACT,SAAS,EACT,cAAc,EACd,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACd,MAAM,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-role-set-admin",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "2.184.0",
|
|
4
5
|
"description": "pure nodejs OPCUA SDK - role-set-admin CLI to administer RoleSet & User Management (OPC 10000-18)",
|
|
5
6
|
"scripts": {
|
|
6
7
|
"build": "tsc -b",
|
|
@@ -22,11 +23,11 @@
|
|
|
22
23
|
"dependencies": {
|
|
23
24
|
"@inquirer/prompts": "8.7.1",
|
|
24
25
|
"commander": "^15.0.0",
|
|
25
|
-
"node-opcua-certificate-manager": "2.
|
|
26
|
-
"node-opcua-client": "2.
|
|
27
|
-
"node-opcua-role-set-client": "2.
|
|
28
|
-
"node-opcua-status-code": "2.
|
|
29
|
-
"node-opcua-types": "2.
|
|
26
|
+
"node-opcua-certificate-manager": "2.184.0",
|
|
27
|
+
"node-opcua-client": "2.184.0",
|
|
28
|
+
"node-opcua-role-set-client": "2.184.0",
|
|
29
|
+
"node-opcua-status-code": "2.184.0",
|
|
30
|
+
"node-opcua-types": "2.184.0"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
33
|
"tsx": "^4.23.13"
|
|
@@ -53,5 +54,5 @@
|
|
|
53
54
|
"dist",
|
|
54
55
|
"source"
|
|
55
56
|
],
|
|
56
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "441a5c63e3a4202eb8de8597acac77a3a49248b7"
|
|
57
58
|
}
|