@streamr/cli-tools 6.0.0-alpha.4 → 6.0.0-beta.2
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/CHANGELOG.md +1 -0
- package/README.md +36 -5
- package/bin/streamr-stream-grant-permission.ts +2 -3
- package/bin/streamr-stream-revoke-permission.ts +2 -3
- package/bin/streamr-stream-search.ts +46 -9
- package/bin/streamr-stream-show.ts +8 -4
- package/bin/streamr-wallet-whoami.ts +10 -0
- package/bin/streamr-wallet.ts +10 -0
- package/bin/streamr.ts +1 -0
- package/dist/bin/streamr-stream-grant-permission.js +1 -1
- package/dist/bin/streamr-stream-grant-permission.js.map +1 -1
- package/dist/bin/streamr-stream-revoke-permission.js +1 -1
- package/dist/bin/streamr-stream-revoke-permission.js.map +1 -1
- package/dist/bin/streamr-stream-search.js +32 -11
- package/dist/bin/streamr-stream-search.js.map +1 -1
- package/dist/bin/streamr-stream-show.js +7 -6
- package/dist/bin/streamr-stream-show.js.map +1 -1
- package/dist/bin/streamr-wallet-whoami.d.ts +2 -0
- package/dist/bin/streamr-wallet-whoami.js +11 -0
- package/dist/bin/streamr-wallet-whoami.js.map +1 -0
- package/dist/bin/streamr-wallet.d.ts +2 -0
- package/dist/bin/streamr-wallet.js +15 -0
- package/dist/bin/streamr-wallet.js.map +1 -0
- package/dist/bin/streamr.js +1 -0
- package/dist/bin/streamr.js.map +1 -1
- package/dist/package.json +3 -4
- package/dist/src/client.js +3 -6
- package/dist/src/client.js.map +1 -1
- package/dist/src/common.d.ts +5 -0
- package/dist/src/common.js +18 -1
- package/dist/src/common.js.map +1 -1
- package/dist/src/permission.d.ts +3 -2
- package/dist/src/permission.js +24 -19
- package/dist/src/permission.js.map +1 -1
- package/dist/src/resend.js +5 -6
- package/dist/src/resend.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -4
- package/src/client.ts +3 -3
- package/src/common.ts +15 -0
- package/src/permission.ts +22 -18
- package/src/resend.ts +5 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@streamr/cli-tools",
|
|
3
|
-
"version": "6.0.0-
|
|
3
|
+
"version": "6.0.0-beta.2",
|
|
4
4
|
"description": "Command line tools for Streamr.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"streamr": "dist/bin/streamr.js"
|
|
@@ -33,15 +33,14 @@
|
|
|
33
33
|
"easy-table": "^1.1.1",
|
|
34
34
|
"event-stream": "^4.0.1",
|
|
35
35
|
"lodash": "^4.17.21",
|
|
36
|
-
"streamr-client": "^6.0.0-
|
|
37
|
-
"streamr-client-protocol": "^
|
|
36
|
+
"streamr-client": "^6.0.0-beta.3",
|
|
37
|
+
"streamr-client-protocol": "^12.0.0",
|
|
38
38
|
"streamr-test-utils": "^2.0.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@streamr/dev-config": "^1.0.0",
|
|
42
42
|
"@types/easy-table": "0.0.32",
|
|
43
43
|
"@types/event-stream": "^3.3.34",
|
|
44
|
-
"@types/jest": "^27.0.2",
|
|
45
44
|
"@types/lodash": "^4.14.175",
|
|
46
45
|
"@typescript-eslint/eslint-plugin": "^5.0.0",
|
|
47
46
|
"@typescript-eslint/parser": "^5.0.0",
|
package/src/client.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { merge, omit } from 'lodash'
|
|
2
2
|
import { BrubeckClientConfig, StreamrClient, ConfigTest } from 'streamr-client'
|
|
3
3
|
import { GlobalCommandLineArgs } from './common'
|
|
4
4
|
import { getConfig } from './config'
|
|
5
5
|
|
|
6
6
|
const getClientConfig = (commandLineArgs: GlobalCommandLineArgs, overridenOptions: BrubeckClientConfig) => {
|
|
7
|
-
const environmentOptions = (commandLineArgs.dev !== undefined) ?
|
|
7
|
+
const environmentOptions = (commandLineArgs.dev !== undefined) ? omit(ConfigTest, 'auth') : undefined
|
|
8
8
|
const configFileJson = getConfig(commandLineArgs.config)?.client
|
|
9
9
|
const authenticationOptions = (commandLineArgs.privateKey !== undefined) ? { auth: { privateKey: commandLineArgs.privateKey } } : undefined
|
|
10
|
-
return
|
|
10
|
+
return merge(
|
|
11
11
|
environmentOptions,
|
|
12
12
|
configFileJson,
|
|
13
13
|
authenticationOptions,
|
package/src/common.ts
CHANGED
|
@@ -4,6 +4,21 @@ export interface GlobalCommandLineArgs {
|
|
|
4
4
|
privateKey?: string
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
+
export enum OptionType {
|
|
8
|
+
FLAG, // e.g. "--enable"
|
|
9
|
+
ARGUMENT // e.g. "--private-key 0x1234"
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const getOptionType = (value: string | boolean): OptionType | never => {
|
|
13
|
+
if (typeof value === 'boolean') {
|
|
14
|
+
return OptionType.FLAG
|
|
15
|
+
} else if (typeof value === 'string') {
|
|
16
|
+
return OptionType.ARGUMENT
|
|
17
|
+
} else {
|
|
18
|
+
throw new Error(`unknown option type (value: ${value})`)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
7
22
|
export function createFnParseInt(name: string): (s: string) => number {
|
|
8
23
|
return (str: string) => {
|
|
9
24
|
const n = parseInt(str, 10)
|
package/src/permission.ts
CHANGED
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import { Argument } from 'commander'
|
|
2
|
-
import { Stream, StreamPermission, StreamrClient } from 'streamr-client'
|
|
2
|
+
import { PermissionAssignment, Stream, StreamPermission, StreamrClient } from 'streamr-client'
|
|
3
3
|
import { createClientCommand } from './command'
|
|
4
4
|
|
|
5
5
|
const PUBLIC_USER_ID = 'public'
|
|
6
6
|
|
|
7
|
-
const getTarget = (user: string): string|undefined => {
|
|
8
|
-
if (user === PUBLIC_USER_ID) {
|
|
9
|
-
return undefined
|
|
10
|
-
} else {
|
|
11
|
-
return user
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
7
|
export const PERMISSIONS = new Map<string,StreamPermission>([
|
|
16
8
|
['subscribe', StreamPermission.SUBSCRIBE],
|
|
17
9
|
['publish', StreamPermission.PUBLISH],
|
|
@@ -20,26 +12,38 @@ export const PERMISSIONS = new Map<string,StreamPermission>([
|
|
|
20
12
|
['grant', StreamPermission.GRANT]
|
|
21
13
|
])
|
|
22
14
|
|
|
15
|
+
export const getPermission = (id: string): StreamPermission | never => {
|
|
16
|
+
const result = PERMISSIONS.get(id)
|
|
17
|
+
if (result === undefined) {
|
|
18
|
+
throw new Error(`unknown permission: ${id}`)
|
|
19
|
+
}
|
|
20
|
+
return result
|
|
21
|
+
}
|
|
22
|
+
|
|
23
23
|
export const getPermissionId = (permission: StreamPermission): string => {
|
|
24
24
|
return Array.from(PERMISSIONS.entries()).find(([_id, p]) => p === permission)![0]
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export const runModifyPermissionsCommand = (
|
|
28
|
-
|
|
29
|
-
modifyPublicPermission: (stream: Stream, permission: StreamPermission) => Promise<void>,
|
|
28
|
+
modify: (stream: Stream, assignment: PermissionAssignment) => Promise<void>,
|
|
30
29
|
modification: string,
|
|
31
30
|
): void => {
|
|
32
31
|
createClientCommand(async (client: StreamrClient, streamId: string, user: string, permissionIds: string[]) => {
|
|
33
|
-
const target = getTarget(user)
|
|
34
32
|
const stream = await client.getStream(streamId)
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
const permissions: StreamPermission[] = permissionIds.map((permissionId) => getPermission(permissionId))
|
|
34
|
+
let assignment: PermissionAssignment
|
|
35
|
+
if (user === PUBLIC_USER_ID) {
|
|
36
|
+
assignment = {
|
|
37
|
+
permissions,
|
|
38
|
+
public: true
|
|
39
|
+
}
|
|
40
|
+
} else {
|
|
41
|
+
assignment = {
|
|
42
|
+
permissions,
|
|
43
|
+
user
|
|
41
44
|
}
|
|
42
45
|
}
|
|
46
|
+
await modify(stream, assignment)
|
|
43
47
|
})
|
|
44
48
|
.addArgument(new Argument('<streamId>'))
|
|
45
49
|
.addArgument(new Argument('<user>'))
|
package/src/resend.ts
CHANGED
|
@@ -19,17 +19,16 @@ export const resend = async (
|
|
|
19
19
|
subscribe: boolean
|
|
20
20
|
): Promise<void> => {
|
|
21
21
|
try {
|
|
22
|
-
const subscribeOpts = {
|
|
23
|
-
stream: streamId,
|
|
24
|
-
resend: resendOpts
|
|
25
|
-
}
|
|
26
22
|
const handler = (message: any) => {
|
|
27
23
|
console.info(JSON.stringify(message))
|
|
28
24
|
}
|
|
29
25
|
if (subscribe) {
|
|
30
|
-
await client.subscribe(
|
|
26
|
+
await client.subscribe({
|
|
27
|
+
stream: streamId,
|
|
28
|
+
resend: resendOpts
|
|
29
|
+
}, handler)
|
|
31
30
|
} else {
|
|
32
|
-
await client.resend(
|
|
31
|
+
await client.resend(streamId, resendOpts, handler)
|
|
33
32
|
}
|
|
34
33
|
} catch (err) {
|
|
35
34
|
console.error(err.message ? err.message : err)
|