@linkedapi/linkedin-cli 1.0.3 → 1.0.5
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/base-command.d.ts +15 -0
- package/dist/base-command.d.ts.map +1 -0
- package/dist/base-command.js +77 -0
- package/dist/base-command.js.map +1 -0
- package/dist/commands/account/list.d.ts +7 -0
- package/dist/commands/account/list.d.ts.map +1 -0
- package/dist/commands/account/list.js +28 -0
- package/dist/commands/account/list.js.map +1 -0
- package/dist/commands/account/rename.d.ts +13 -0
- package/dist/commands/account/rename.d.ts.map +1 -0
- package/dist/commands/account/rename.js +36 -0
- package/dist/commands/account/rename.js.map +1 -0
- package/dist/commands/account/switch.d.ts +10 -0
- package/dist/commands/account/switch.d.ts.map +1 -0
- package/dist/commands/account/switch.js +29 -0
- package/dist/commands/account/switch.js.map +1 -0
- package/dist/commands/company/fetch.d.ts +30 -0
- package/dist/commands/company/fetch.d.ts.map +1 -0
- package/dist/commands/company/fetch.js +129 -0
- package/dist/commands/company/fetch.js.map +1 -0
- package/dist/commands/company/search.d.ts +19 -0
- package/dist/commands/company/search.d.ts.map +1 -0
- package/dist/commands/company/search.js +67 -0
- package/dist/commands/company/search.js.map +1 -0
- package/dist/commands/connection/list.d.ts +24 -0
- package/dist/commands/connection/list.d.ts.map +1 -0
- package/dist/commands/connection/list.js +92 -0
- package/dist/commands/connection/list.js.map +1 -0
- package/dist/commands/connection/pending.d.ts +14 -0
- package/dist/commands/connection/pending.d.ts.map +1 -0
- package/dist/commands/connection/pending.js +33 -0
- package/dist/commands/connection/pending.js.map +1 -0
- package/dist/commands/connection/remove.d.ts +17 -0
- package/dist/commands/connection/remove.d.ts.map +1 -0
- package/dist/commands/connection/remove.js +43 -0
- package/dist/commands/connection/remove.js.map +1 -0
- package/dist/commands/connection/send.d.ts +19 -0
- package/dist/commands/connection/send.d.ts.map +1 -0
- package/dist/commands/connection/send.js +55 -0
- package/dist/commands/connection/send.js.map +1 -0
- package/dist/commands/connection/status.d.ts +17 -0
- package/dist/commands/connection/status.d.ts.map +1 -0
- package/dist/commands/connection/status.js +44 -0
- package/dist/commands/connection/status.js.map +1 -0
- package/dist/commands/connection/withdraw.d.ts +18 -0
- package/dist/commands/connection/withdraw.d.ts.map +1 -0
- package/dist/commands/connection/withdraw.js +49 -0
- package/dist/commands/connection/withdraw.js.map +1 -0
- package/dist/commands/message/get.d.ts +18 -0
- package/dist/commands/message/get.d.ts.map +1 -0
- package/dist/commands/message/get.js +81 -0
- package/dist/commands/message/get.js.map +1 -0
- package/dist/commands/message/send.d.ts +18 -0
- package/dist/commands/message/send.d.ts.map +1 -0
- package/dist/commands/message/send.js +48 -0
- package/dist/commands/message/send.js.map +1 -0
- package/dist/commands/navigator/company/fetch.d.ts +28 -0
- package/dist/commands/navigator/company/fetch.d.ts.map +1 -0
- package/dist/commands/navigator/company/fetch.js +115 -0
- package/dist/commands/navigator/company/fetch.js.map +1 -0
- package/dist/commands/navigator/company/search.d.ts +21 -0
- package/dist/commands/navigator/company/search.d.ts.map +1 -0
- package/dist/commands/navigator/company/search.js +80 -0
- package/dist/commands/navigator/company/search.js.map +1 -0
- package/dist/commands/navigator/message/get.d.ts +18 -0
- package/dist/commands/navigator/message/get.d.ts.map +1 -0
- package/dist/commands/navigator/message/get.js +80 -0
- package/dist/commands/navigator/message/get.js.map +1 -0
- package/dist/commands/navigator/message/send.d.ts +19 -0
- package/dist/commands/navigator/message/send.d.ts.map +1 -0
- package/dist/commands/navigator/message/send.js +53 -0
- package/dist/commands/navigator/message/send.js.map +1 -0
- package/dist/commands/navigator/person/fetch.d.ts +17 -0
- package/dist/commands/navigator/person/fetch.d.ts.map +1 -0
- package/dist/commands/navigator/person/fetch.js +44 -0
- package/dist/commands/navigator/person/fetch.js.map +1 -0
- package/dist/commands/navigator/person/search.d.ts +25 -0
- package/dist/commands/navigator/person/search.d.ts.map +1 -0
- package/dist/commands/navigator/person/search.js +99 -0
- package/dist/commands/navigator/person/search.js.map +1 -0
- package/dist/commands/person/fetch.d.ts +30 -0
- package/dist/commands/person/fetch.d.ts.map +1 -0
- package/dist/commands/person/fetch.js +130 -0
- package/dist/commands/person/fetch.js.map +1 -0
- package/dist/commands/person/search.d.ts +24 -0
- package/dist/commands/person/search.d.ts.map +1 -0
- package/dist/commands/person/search.js +95 -0
- package/dist/commands/person/search.js.map +1 -0
- package/dist/commands/post/comment.d.ts +19 -0
- package/dist/commands/post/comment.d.ts.map +1 -0
- package/dist/commands/post/comment.js +54 -0
- package/dist/commands/post/comment.js.map +1 -0
- package/dist/commands/post/create.d.ts +19 -0
- package/dist/commands/post/create.d.ts.map +1 -0
- package/dist/commands/post/create.js +89 -0
- package/dist/commands/post/create.js.map +1 -0
- package/dist/commands/post/fetch.d.ts +23 -0
- package/dist/commands/post/fetch.d.ts.map +1 -0
- package/dist/commands/post/fetch.js +88 -0
- package/dist/commands/post/fetch.js.map +1 -0
- package/dist/commands/post/react.d.ts +19 -0
- package/dist/commands/post/react.d.ts.map +1 -0
- package/dist/commands/post/react.js +55 -0
- package/dist/commands/post/react.js.map +1 -0
- package/dist/commands/reset.d.ts +10 -0
- package/dist/commands/reset.d.ts.map +1 -0
- package/dist/commands/reset.js +50 -0
- package/dist/commands/reset.js.map +1 -0
- package/dist/commands/setup.d.ts +11 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +118 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/stats/performance.d.ts +14 -0
- package/dist/commands/stats/performance.d.ts.map +1 -0
- package/dist/commands/stats/performance.js +33 -0
- package/dist/commands/stats/performance.js.map +1 -0
- package/dist/commands/stats/ssi.d.ts +14 -0
- package/dist/commands/stats/ssi.d.ts.map +1 -0
- package/dist/commands/stats/ssi.js +33 -0
- package/dist/commands/stats/ssi.js.map +1 -0
- package/dist/commands/stats/usage.d.ts +16 -0
- package/dist/commands/stats/usage.d.ts.map +1 -0
- package/dist/commands/stats/usage.js +47 -0
- package/dist/commands/stats/usage.js.map +1 -0
- package/dist/commands/workflow/run.d.ts +15 -0
- package/dist/commands/workflow/run.d.ts.map +1 -0
- package/dist/commands/workflow/run.js +89 -0
- package/dist/commands/workflow/run.js.map +1 -0
- package/dist/commands/workflow/status.d.ts +18 -0
- package/dist/commands/workflow/status.d.ts.map +1 -0
- package/dist/commands/workflow/status.js +75 -0
- package/dist/commands/workflow/status.js.map +1 -0
- package/dist/core/auth/auth-manager.d.ts +7 -0
- package/dist/core/auth/auth-manager.d.ts.map +1 -0
- package/dist/core/auth/auth-manager.js +35 -0
- package/dist/core/auth/auth-manager.js.map +1 -0
- package/dist/core/auth/config-store.d.ts +22 -0
- package/dist/core/auth/config-store.d.ts.map +1 -0
- package/dist/core/auth/config-store.js +195 -0
- package/dist/core/auth/config-store.js.map +1 -0
- package/dist/core/client/build-client.d.ts +8 -0
- package/dist/core/client/build-client.d.ts.map +1 -0
- package/dist/core/client/build-client.js +8 -0
- package/dist/core/client/build-client.js.map +1 -0
- package/dist/core/errors/error-handler.d.ts +12 -0
- package/dist/core/errors/error-handler.d.ts.map +1 -0
- package/dist/core/errors/error-handler.js +71 -0
- package/dist/core/errors/error-handler.js.map +1 -0
- package/dist/core/errors/exit-codes.d.ts +13 -0
- package/dist/core/errors/exit-codes.d.ts.map +1 -0
- package/dist/core/errors/exit-codes.js +15 -0
- package/dist/core/errors/exit-codes.js.map +1 -0
- package/dist/core/output/field-selector.d.ts +2 -0
- package/dist/core/output/field-selector.d.ts.map +1 -0
- package/dist/core/output/field-selector.js +24 -0
- package/dist/core/output/field-selector.js.map +1 -0
- package/dist/core/output/formatter.d.ts +15 -0
- package/dist/core/output/formatter.d.ts.map +1 -0
- package/dist/core/output/formatter.js +152 -0
- package/dist/core/output/formatter.js.map +1 -0
- package/dist/core/workflow/workflow-runner.d.ts +8 -0
- package/dist/core/workflow/workflow-runner.d.ts.map +1 -0
- package/dist/core/workflow/workflow-runner.js +27 -0
- package/dist/core/workflow/workflow-runner.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/tty.d.ts +4 -0
- package/dist/utils/tty.d.ts.map +1 -0
- package/dist/utils/tty.js +18 -0
- package/dist/utils/tty.js.map +1 -0
- package/oclif.manifest.json +2573 -2
- package/package.json +2 -2
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const _base_command_1 = require("../../../base-command");
|
|
5
|
+
const formatter_1 = require("../../../core/output/formatter");
|
|
6
|
+
const workflow_runner_1 = require("../../../core/workflow/workflow-runner");
|
|
7
|
+
class NavigatorPersonSearch extends _base_command_1.BaseCommand {
|
|
8
|
+
static description = 'Search for people via Sales Navigator';
|
|
9
|
+
static flags = {
|
|
10
|
+
..._base_command_1.BaseCommand.baseFlags,
|
|
11
|
+
term: core_1.Flags.string({
|
|
12
|
+
description: 'Search keyword or phrase',
|
|
13
|
+
}),
|
|
14
|
+
limit: core_1.Flags.integer({
|
|
15
|
+
description: 'Max results to return',
|
|
16
|
+
}),
|
|
17
|
+
'first-name': core_1.Flags.string({
|
|
18
|
+
description: 'Filter by first name',
|
|
19
|
+
}),
|
|
20
|
+
'last-name': core_1.Flags.string({
|
|
21
|
+
description: 'Filter by last name',
|
|
22
|
+
}),
|
|
23
|
+
position: core_1.Flags.string({
|
|
24
|
+
description: 'Filter by job position',
|
|
25
|
+
}),
|
|
26
|
+
locations: core_1.Flags.string({
|
|
27
|
+
description: 'Filter by locations (comma-separated)',
|
|
28
|
+
}),
|
|
29
|
+
industries: core_1.Flags.string({
|
|
30
|
+
description: 'Filter by industries (comma-separated)',
|
|
31
|
+
}),
|
|
32
|
+
'current-companies': core_1.Flags.string({
|
|
33
|
+
description: 'Filter by current companies (comma-separated)',
|
|
34
|
+
}),
|
|
35
|
+
'previous-companies': core_1.Flags.string({
|
|
36
|
+
description: 'Filter by previous companies (comma-separated)',
|
|
37
|
+
}),
|
|
38
|
+
schools: core_1.Flags.string({
|
|
39
|
+
description: 'Filter by schools (comma-separated)',
|
|
40
|
+
}),
|
|
41
|
+
'years-of-experience': core_1.Flags.string({
|
|
42
|
+
description: 'Filter by experience ranges (comma-separated: lessThanOne,oneToTwo,threeToFive,sixToTen,moreThanTen)',
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
static examples = [
|
|
46
|
+
'<%= config.bin %> navigator person search --term "VP Marketing" --locations "United States"',
|
|
47
|
+
];
|
|
48
|
+
async run() {
|
|
49
|
+
const { flags } = await this.parse(NavigatorPersonSearch);
|
|
50
|
+
const client = await this.buildAuthenticatedClient();
|
|
51
|
+
const params = {};
|
|
52
|
+
if (flags.term)
|
|
53
|
+
params.term = flags.term;
|
|
54
|
+
if (flags.limit)
|
|
55
|
+
params.limit = flags.limit;
|
|
56
|
+
const filter = {};
|
|
57
|
+
if (flags['first-name'])
|
|
58
|
+
filter.firstName = flags['first-name'];
|
|
59
|
+
if (flags['last-name'])
|
|
60
|
+
filter.lastName = flags['last-name'];
|
|
61
|
+
if (flags.position)
|
|
62
|
+
filter.position = flags.position;
|
|
63
|
+
if (flags.locations)
|
|
64
|
+
filter.locations = splitCsv(flags.locations);
|
|
65
|
+
if (flags.industries)
|
|
66
|
+
filter.industries = splitCsv(flags.industries);
|
|
67
|
+
if (flags['current-companies'])
|
|
68
|
+
filter.currentCompanies = splitCsv(flags['current-companies']);
|
|
69
|
+
if (flags['previous-companies'])
|
|
70
|
+
filter.previousCompanies = splitCsv(flags['previous-companies']);
|
|
71
|
+
if (flags.schools)
|
|
72
|
+
filter.schools = splitCsv(flags.schools);
|
|
73
|
+
if (flags['years-of-experience'])
|
|
74
|
+
filter.yearsOfExperience = splitCsv(flags['years-of-experience']);
|
|
75
|
+
if (Object.keys(filter).length > 0) {
|
|
76
|
+
params.filter = filter;
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
const result = await (0, workflow_runner_1.runWorkflow)(client.nvSearchPeople, params, {
|
|
80
|
+
isQuiet: flags.quiet,
|
|
81
|
+
});
|
|
82
|
+
(0, formatter_1.formatOutput)({
|
|
83
|
+
data: result.data,
|
|
84
|
+
errors: result.errors,
|
|
85
|
+
isJson: flags.json,
|
|
86
|
+
fields: flags.fields,
|
|
87
|
+
isQuiet: flags.quiet,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
this.handleError(error);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.default = NavigatorPersonSearch;
|
|
96
|
+
function splitCsv(value) {
|
|
97
|
+
return value.split(',').map((s) => s.trim());
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/commands/navigator/person/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command';
|
|
2
|
+
export default class PersonFetch extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
url: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
experience: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
education: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
skills: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
languages: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
posts: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
comments: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
reactions: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
'posts-limit': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
'posts-since': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
'comments-limit': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
'comments-since': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
'reactions-limit': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
20
|
+
'reactions-since': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
21
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
22
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
23
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
24
|
+
'no-color': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
25
|
+
account: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
26
|
+
};
|
|
27
|
+
static examples: string[];
|
|
28
|
+
run(): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/commands/person/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,OAAgB,WAAW,SAAqC;IAEhE,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;;;;;;;;;;;;;;;;;MAgDnB;IAEF,OAAgB,QAAQ,WAGtB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsDlC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const _base_command_1 = require("../../base-command");
|
|
5
|
+
const formatter_1 = require("../../core/output/formatter");
|
|
6
|
+
const workflow_runner_1 = require("../../core/workflow/workflow-runner");
|
|
7
|
+
class PersonFetch extends _base_command_1.BaseCommand {
|
|
8
|
+
static description = 'Fetch a LinkedIn person profile';
|
|
9
|
+
static args = {
|
|
10
|
+
url: core_1.Args.string({
|
|
11
|
+
description: 'LinkedIn profile URL',
|
|
12
|
+
required: true,
|
|
13
|
+
}),
|
|
14
|
+
};
|
|
15
|
+
static flags = {
|
|
16
|
+
..._base_command_1.BaseCommand.baseFlags,
|
|
17
|
+
experience: core_1.Flags.boolean({
|
|
18
|
+
description: 'Include work experience',
|
|
19
|
+
default: false,
|
|
20
|
+
}),
|
|
21
|
+
education: core_1.Flags.boolean({
|
|
22
|
+
description: 'Include education history',
|
|
23
|
+
default: false,
|
|
24
|
+
}),
|
|
25
|
+
skills: core_1.Flags.boolean({
|
|
26
|
+
description: 'Include skills',
|
|
27
|
+
default: false,
|
|
28
|
+
}),
|
|
29
|
+
languages: core_1.Flags.boolean({
|
|
30
|
+
description: 'Include languages',
|
|
31
|
+
default: false,
|
|
32
|
+
}),
|
|
33
|
+
posts: core_1.Flags.boolean({
|
|
34
|
+
description: 'Include posts',
|
|
35
|
+
default: false,
|
|
36
|
+
}),
|
|
37
|
+
comments: core_1.Flags.boolean({
|
|
38
|
+
description: 'Include comments',
|
|
39
|
+
default: false,
|
|
40
|
+
}),
|
|
41
|
+
reactions: core_1.Flags.boolean({
|
|
42
|
+
description: 'Include reactions',
|
|
43
|
+
default: false,
|
|
44
|
+
}),
|
|
45
|
+
'posts-limit': core_1.Flags.integer({
|
|
46
|
+
description: 'Max posts to retrieve',
|
|
47
|
+
}),
|
|
48
|
+
'posts-since': core_1.Flags.string({
|
|
49
|
+
description: 'Retrieve posts since ISO timestamp',
|
|
50
|
+
}),
|
|
51
|
+
'comments-limit': core_1.Flags.integer({
|
|
52
|
+
description: 'Max comments to retrieve',
|
|
53
|
+
}),
|
|
54
|
+
'comments-since': core_1.Flags.string({
|
|
55
|
+
description: 'Retrieve comments since ISO timestamp',
|
|
56
|
+
}),
|
|
57
|
+
'reactions-limit': core_1.Flags.integer({
|
|
58
|
+
description: 'Max reactions to retrieve',
|
|
59
|
+
}),
|
|
60
|
+
'reactions-since': core_1.Flags.string({
|
|
61
|
+
description: 'Retrieve reactions since ISO timestamp',
|
|
62
|
+
}),
|
|
63
|
+
};
|
|
64
|
+
static examples = [
|
|
65
|
+
'<%= config.bin %> person fetch https://www.linkedin.com/in/john-doe',
|
|
66
|
+
'<%= config.bin %> person fetch https://www.linkedin.com/in/john-doe --experience --education --json',
|
|
67
|
+
];
|
|
68
|
+
async run() {
|
|
69
|
+
const { args, flags } = await this.parse(PersonFetch);
|
|
70
|
+
const client = await this.buildAuthenticatedClient();
|
|
71
|
+
const params = {
|
|
72
|
+
personUrl: args.url,
|
|
73
|
+
};
|
|
74
|
+
if (flags.experience)
|
|
75
|
+
params.retrieveExperience = true;
|
|
76
|
+
if (flags.education)
|
|
77
|
+
params.retrieveEducation = true;
|
|
78
|
+
if (flags.skills)
|
|
79
|
+
params.retrieveSkills = true;
|
|
80
|
+
if (flags.languages)
|
|
81
|
+
params.retrieveLanguages = true;
|
|
82
|
+
if (flags.posts)
|
|
83
|
+
params.retrievePosts = true;
|
|
84
|
+
if (flags.comments)
|
|
85
|
+
params.retrieveComments = true;
|
|
86
|
+
if (flags.reactions)
|
|
87
|
+
params.retrieveReactions = true;
|
|
88
|
+
if (flags.posts && (flags['posts-limit'] || flags['posts-since'])) {
|
|
89
|
+
const config = {};
|
|
90
|
+
if (flags['posts-limit'])
|
|
91
|
+
config.limit = flags['posts-limit'];
|
|
92
|
+
if (flags['posts-since'])
|
|
93
|
+
config.since = flags['posts-since'];
|
|
94
|
+
params.postsRetrievalConfig = config;
|
|
95
|
+
}
|
|
96
|
+
if (flags.comments && (flags['comments-limit'] || flags['comments-since'])) {
|
|
97
|
+
const config = {};
|
|
98
|
+
if (flags['comments-limit'])
|
|
99
|
+
config.limit = flags['comments-limit'];
|
|
100
|
+
if (flags['comments-since'])
|
|
101
|
+
config.since = flags['comments-since'];
|
|
102
|
+
params.commentsRetrievalConfig = config;
|
|
103
|
+
}
|
|
104
|
+
if (flags.reactions && (flags['reactions-limit'] || flags['reactions-since'])) {
|
|
105
|
+
const config = {};
|
|
106
|
+
if (flags['reactions-limit'])
|
|
107
|
+
config.limit = flags['reactions-limit'];
|
|
108
|
+
if (flags['reactions-since'])
|
|
109
|
+
config.since = flags['reactions-since'];
|
|
110
|
+
params.reactionsRetrievalConfig = config;
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
const result = await (0, workflow_runner_1.runWorkflow)(client.fetchPerson, params, {
|
|
114
|
+
isQuiet: flags.quiet,
|
|
115
|
+
});
|
|
116
|
+
(0, formatter_1.formatOutput)({
|
|
117
|
+
data: result.data,
|
|
118
|
+
errors: result.errors,
|
|
119
|
+
isJson: flags.json,
|
|
120
|
+
fields: flags.fields,
|
|
121
|
+
isQuiet: flags.quiet,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
this.handleError(error);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.default = PersonFetch;
|
|
130
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/commands/person/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command';
|
|
2
|
+
export default class PersonSearch extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
term: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
6
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
'first-name': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
'last-name': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
position: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
locations: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
industries: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
'current-companies': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
'previous-companies': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
schools: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
'no-color': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
account: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
20
|
+
};
|
|
21
|
+
static examples: string[];
|
|
22
|
+
run(): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/person/search.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,OAAgB,WAAW,SAAmC;IAE9D,OAAgB,KAAK;;;;;;;;;;;;;;;;MAgCnB;IAEF,OAAgB,QAAQ,WAGtB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwClC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const _base_command_1 = require("../../base-command");
|
|
5
|
+
const formatter_1 = require("../../core/output/formatter");
|
|
6
|
+
const workflow_runner_1 = require("../../core/workflow/workflow-runner");
|
|
7
|
+
class PersonSearch extends _base_command_1.BaseCommand {
|
|
8
|
+
static description = 'Search for people on LinkedIn';
|
|
9
|
+
static flags = {
|
|
10
|
+
..._base_command_1.BaseCommand.baseFlags,
|
|
11
|
+
term: core_1.Flags.string({
|
|
12
|
+
description: 'Search keyword or phrase',
|
|
13
|
+
}),
|
|
14
|
+
limit: core_1.Flags.integer({
|
|
15
|
+
description: 'Max results to return',
|
|
16
|
+
}),
|
|
17
|
+
'first-name': core_1.Flags.string({
|
|
18
|
+
description: 'Filter by first name',
|
|
19
|
+
}),
|
|
20
|
+
'last-name': core_1.Flags.string({
|
|
21
|
+
description: 'Filter by last name',
|
|
22
|
+
}),
|
|
23
|
+
position: core_1.Flags.string({
|
|
24
|
+
description: 'Filter by job position',
|
|
25
|
+
}),
|
|
26
|
+
locations: core_1.Flags.string({
|
|
27
|
+
description: 'Filter by locations (comma-separated)',
|
|
28
|
+
}),
|
|
29
|
+
industries: core_1.Flags.string({
|
|
30
|
+
description: 'Filter by industries (comma-separated)',
|
|
31
|
+
}),
|
|
32
|
+
'current-companies': core_1.Flags.string({
|
|
33
|
+
description: 'Filter by current companies (comma-separated)',
|
|
34
|
+
}),
|
|
35
|
+
'previous-companies': core_1.Flags.string({
|
|
36
|
+
description: 'Filter by previous companies (comma-separated)',
|
|
37
|
+
}),
|
|
38
|
+
schools: core_1.Flags.string({
|
|
39
|
+
description: 'Filter by schools (comma-separated)',
|
|
40
|
+
}),
|
|
41
|
+
};
|
|
42
|
+
static examples = [
|
|
43
|
+
'<%= config.bin %> person search --term "software engineer" --locations "San Francisco"',
|
|
44
|
+
'<%= config.bin %> person search --current-companies Google,Meta --json',
|
|
45
|
+
];
|
|
46
|
+
async run() {
|
|
47
|
+
const { flags } = await this.parse(PersonSearch);
|
|
48
|
+
const client = await this.buildAuthenticatedClient();
|
|
49
|
+
const params = {};
|
|
50
|
+
if (flags.term)
|
|
51
|
+
params.term = flags.term;
|
|
52
|
+
if (flags.limit)
|
|
53
|
+
params.limit = flags.limit;
|
|
54
|
+
const filter = {};
|
|
55
|
+
if (flags['first-name'])
|
|
56
|
+
filter.firstName = flags['first-name'];
|
|
57
|
+
if (flags['last-name'])
|
|
58
|
+
filter.lastName = flags['last-name'];
|
|
59
|
+
if (flags.position)
|
|
60
|
+
filter.position = flags.position;
|
|
61
|
+
if (flags.locations)
|
|
62
|
+
filter.locations = splitCsv(flags.locations);
|
|
63
|
+
if (flags.industries)
|
|
64
|
+
filter.industries = splitCsv(flags.industries);
|
|
65
|
+
if (flags['current-companies'])
|
|
66
|
+
filter.currentCompanies = splitCsv(flags['current-companies']);
|
|
67
|
+
if (flags['previous-companies'])
|
|
68
|
+
filter.previousCompanies = splitCsv(flags['previous-companies']);
|
|
69
|
+
if (flags.schools)
|
|
70
|
+
filter.schools = splitCsv(flags.schools);
|
|
71
|
+
if (Object.keys(filter).length > 0) {
|
|
72
|
+
params.filter = filter;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
const result = await (0, workflow_runner_1.runWorkflow)(client.searchPeople, params, {
|
|
76
|
+
isQuiet: flags.quiet,
|
|
77
|
+
});
|
|
78
|
+
(0, formatter_1.formatOutput)({
|
|
79
|
+
data: result.data,
|
|
80
|
+
errors: result.errors,
|
|
81
|
+
isJson: flags.json,
|
|
82
|
+
fields: flags.fields,
|
|
83
|
+
isQuiet: flags.quiet,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
this.handleError(error);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.default = PersonSearch;
|
|
92
|
+
function splitCsv(value) {
|
|
93
|
+
return value.split(',').map((s) => s.trim());
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/person/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command';
|
|
2
|
+
export default class PostComment extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
url: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
text: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
'company-url': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
'no-color': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
account: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
};
|
|
16
|
+
static examples: string[];
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=comment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../../src/commands/post/comment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,OAAgB,WAAW,SAAgC;IAE3D,OAAgB,IAAI;;;MASlB;IAEF,OAAgB,KAAK;;;;;;;MAKnB;IAEF,OAAgB,QAAQ,WAEtB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2BlC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const _base_command_1 = require("../../base-command");
|
|
5
|
+
const formatter_1 = require("../../core/output/formatter");
|
|
6
|
+
const workflow_runner_1 = require("../../core/workflow/workflow-runner");
|
|
7
|
+
class PostComment extends _base_command_1.BaseCommand {
|
|
8
|
+
static description = 'Comment on a LinkedIn post';
|
|
9
|
+
static args = {
|
|
10
|
+
url: core_1.Args.string({
|
|
11
|
+
description: 'LinkedIn post URL',
|
|
12
|
+
required: true,
|
|
13
|
+
}),
|
|
14
|
+
text: core_1.Args.string({
|
|
15
|
+
description: 'Comment text (up to 1000 characters)',
|
|
16
|
+
required: true,
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
..._base_command_1.BaseCommand.baseFlags,
|
|
21
|
+
'company-url': core_1.Flags.string({
|
|
22
|
+
description: 'Comment on behalf of a company page',
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
static examples = [
|
|
26
|
+
'<%= config.bin %> post comment https://www.linkedin.com/posts/john-doe_activity-123 "Great insights!"',
|
|
27
|
+
];
|
|
28
|
+
async run() {
|
|
29
|
+
const { args, flags } = await this.parse(PostComment);
|
|
30
|
+
const client = await this.buildAuthenticatedClient();
|
|
31
|
+
const params = {
|
|
32
|
+
postUrl: args.url,
|
|
33
|
+
text: args.text,
|
|
34
|
+
};
|
|
35
|
+
if (flags['company-url'])
|
|
36
|
+
params.companyUrl = flags['company-url'];
|
|
37
|
+
try {
|
|
38
|
+
const result = await (0, workflow_runner_1.runVoidWorkflow)(client.commentOnPost, params, {
|
|
39
|
+
isQuiet: flags.quiet,
|
|
40
|
+
});
|
|
41
|
+
(0, formatter_1.formatVoidOutput)({
|
|
42
|
+
errors: result.errors,
|
|
43
|
+
isJson: flags.json,
|
|
44
|
+
isQuiet: flags.quiet,
|
|
45
|
+
successMessage: 'Comment posted.',
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
this.handleError(error);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.default = PostComment;
|
|
54
|
+
//# sourceMappingURL=comment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comment.js","sourceRoot":"","sources":["../../../src/commands/post/comment.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAE1C,iDAA4C;AAC5C,sDAA0D;AAC1D,oEAAiE;AAEjE,MAAqB,WAAY,SAAQ,2BAAW;IAClD,MAAM,CAAU,WAAW,GAAG,4BAA4B,CAAC;IAE3D,MAAM,CAAU,IAAI,GAAG;QACrB,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,sCAAsC;YACnD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,2BAAW,CAAC,SAAS;QACxB,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,qCAAqC;SACnD,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,QAAQ,GAAG;QACzB,uGAAuG;KACxG,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAErD,MAAM,MAAM,GAA4B;YACtC,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QAEF,IAAI,KAAK,CAAC,aAAa,CAAC;YAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAe,EAAC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE;gBACjE,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;YAEH,IAAA,4BAAgB,EAAC;gBACf,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,KAAK,CAAC,IAAI;gBAClB,OAAO,EAAE,KAAK,CAAC,KAAK;gBACpB,cAAc,EAAE,iBAAiB;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;;AAnDH,8BAoDC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command';
|
|
2
|
+
export default class PostCreate extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
text: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
'company-url': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
attachments: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
'no-color': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
account: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
};
|
|
16
|
+
static examples: string[];
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/post/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,OAAgB,WAAW,SAA4B;IAEvD,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;;;;;;MASnB;IAEF,OAAgB,QAAQ,WAGtB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoElC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const _base_command_1 = require("../../base-command");
|
|
5
|
+
const formatter_1 = require("../../core/output/formatter");
|
|
6
|
+
const workflow_runner_1 = require("../../core/workflow/workflow-runner");
|
|
7
|
+
class PostCreate extends _base_command_1.BaseCommand {
|
|
8
|
+
static description = 'Create a LinkedIn post';
|
|
9
|
+
static args = {
|
|
10
|
+
text: core_1.Args.string({
|
|
11
|
+
description: 'Post text (up to 3000 characters)',
|
|
12
|
+
required: true,
|
|
13
|
+
}),
|
|
14
|
+
};
|
|
15
|
+
static flags = {
|
|
16
|
+
..._base_command_1.BaseCommand.baseFlags,
|
|
17
|
+
'company-url': core_1.Flags.string({
|
|
18
|
+
description: 'Post on behalf of a company page',
|
|
19
|
+
}),
|
|
20
|
+
attachments: core_1.Flags.string({
|
|
21
|
+
description: 'Attachments as url:type[:name] (comma-separated, type: image|video|document)',
|
|
22
|
+
multiple: true,
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
static examples = [
|
|
26
|
+
'<%= config.bin %> post create "Excited to share our latest update!"',
|
|
27
|
+
'<%= config.bin %> post create "Check this out" --attachments "https://example.com/img.jpg:image"',
|
|
28
|
+
];
|
|
29
|
+
async run() {
|
|
30
|
+
const { args, flags } = await this.parse(PostCreate);
|
|
31
|
+
const client = await this.buildAuthenticatedClient();
|
|
32
|
+
const params = {
|
|
33
|
+
text: args.text,
|
|
34
|
+
};
|
|
35
|
+
if (flags['company-url'])
|
|
36
|
+
params.companyUrl = flags['company-url'];
|
|
37
|
+
if (flags.attachments && flags.attachments.length > 0) {
|
|
38
|
+
const attachments = flags.attachments.map((att) => {
|
|
39
|
+
const parts = att.split(':');
|
|
40
|
+
if (parts.length < 2) {
|
|
41
|
+
throw new Error(`Invalid attachment format: "${att}". Expected url:type[:name]`);
|
|
42
|
+
}
|
|
43
|
+
// Rejoin URL parts (URL contains ://)
|
|
44
|
+
const typePart = parts[parts.length - 1];
|
|
45
|
+
const nameParts = parts.length > 2 ? parts[parts.length - 2] : undefined;
|
|
46
|
+
let url;
|
|
47
|
+
let type;
|
|
48
|
+
let name;
|
|
49
|
+
if (['image', 'video', 'document'].includes(typePart)) {
|
|
50
|
+
type = typePart;
|
|
51
|
+
url = parts.slice(0, parts.length - 1).join(':');
|
|
52
|
+
}
|
|
53
|
+
else if (nameParts && ['image', 'video', 'document'].includes(nameParts)) {
|
|
54
|
+
type = nameParts;
|
|
55
|
+
name = typePart;
|
|
56
|
+
url = parts.slice(0, parts.length - 2).join(':');
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
throw new Error(`Invalid attachment type in "${att}". Must be one of: image, video, document`);
|
|
60
|
+
}
|
|
61
|
+
const result = {
|
|
62
|
+
url,
|
|
63
|
+
type,
|
|
64
|
+
};
|
|
65
|
+
if (name)
|
|
66
|
+
result.name = name;
|
|
67
|
+
return result;
|
|
68
|
+
});
|
|
69
|
+
params.attachments = attachments;
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
const result = await (0, workflow_runner_1.runWorkflow)(client.createPost, params, {
|
|
73
|
+
isQuiet: flags.quiet,
|
|
74
|
+
});
|
|
75
|
+
(0, formatter_1.formatOutput)({
|
|
76
|
+
data: result.data,
|
|
77
|
+
errors: result.errors,
|
|
78
|
+
isJson: flags.json,
|
|
79
|
+
fields: flags.fields,
|
|
80
|
+
isQuiet: flags.quiet,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
this.handleError(error);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.default = PostCreate;
|
|
89
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/post/create.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAE1C,iDAA4C;AAC5C,sDAAsD;AACtD,oEAA6D;AAE7D,MAAqB,UAAW,SAAQ,2BAAW;IACjD,MAAM,CAAU,WAAW,GAAG,wBAAwB,CAAC;IAEvD,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,2BAAW,CAAC,SAAS;QACxB,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,kCAAkC;SAChD,CAAC;QACF,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,8EAA8E;YAC3F,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,QAAQ,GAAG;QACzB,qEAAqE;QACrE,kGAAkG;KACnG,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAErD,MAAM,MAAM,GAA4B;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QAEF,IAAI,KAAK,CAAC,aAAa,CAAC;YAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAEnE,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,6BAA6B,CAAC,CAAC;gBACnF,CAAC;gBAED,sCAAsC;gBACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;gBAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAEzE,IAAI,GAAW,CAAC;gBAChB,IAAI,IAAY,CAAC;gBACjB,IAAI,IAAwB,CAAC;gBAE7B,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtD,IAAI,GAAG,QAAQ,CAAC;oBAChB,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnD,CAAC;qBAAM,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC3E,IAAI,GAAG,SAAS,CAAC;oBACjB,IAAI,GAAG,QAAQ,CAAC;oBAChB,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,+BAA+B,GAAG,2CAA2C,CAC9E,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAA2B;oBACrC,GAAG;oBACH,IAAI;iBACL,CAAC;gBAEF,IAAI,IAAI;oBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC7B,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QACnC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE;gBAC1D,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;YAEH,IAAA,wBAAY,EAAC;gBACX,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,KAAK,CAAC,IAAI;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;;AA7FH,6BA8FC"}
|