Skip to content

Commit 68d3b43

Browse files
Manage invitations
1 parent 7b00a45 commit 68d3b43

5 files changed

Lines changed: 182 additions & 1 deletion

File tree

README.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,18 @@ linkedin connection pending
368368
linkedin connection pending --json
369369
```
370370

371+
#### `connection requests`
372+
373+
List incoming connection requests.
374+
375+
```bash
376+
linkedin connection requests
377+
```
378+
379+
```bash
380+
linkedin connection requests --json
381+
```
382+
371383
#### `connection withdraw`
372384

373385
Withdraw a pending connection request.
@@ -389,6 +401,38 @@ linkedin connection withdraw https://www.linkedin.com/in/vprudnikoff
389401
linkedin connection withdraw https://www.linkedin.com/in/vprudnikoff --no-unfollow
390402
```
391403

404+
#### `connection accept`
405+
406+
Accept an incoming connection request.
407+
408+
```bash
409+
linkedin connection accept <url>
410+
```
411+
412+
| Arg | Required | Description |
413+
|-----|----------|-------------|
414+
| `url` | yes | LinkedIn profile URL |
415+
416+
```bash
417+
linkedin connection accept https://www.linkedin.com/in/vprudnikoff
418+
```
419+
420+
#### `connection ignore`
421+
422+
Ignore an incoming connection request.
423+
424+
```bash
425+
linkedin connection ignore <url>
426+
```
427+
428+
| Arg | Required | Description |
429+
|-----|----------|-------------|
430+
| `url` | yes | LinkedIn profile URL |
431+
432+
```bash
433+
linkedin connection ignore https://www.linkedin.com/in/vprudnikoff
434+
```
435+
392436
#### `connection remove`
393437

394438
Remove an existing connection.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"ai-agent"
4444
],
4545
"dependencies": {
46-
"@linkedapi/node": "^2.1.3",
46+
"@linkedapi/node": "^2.2.0",
4747
"@oclif/core": "^4.2.10"
4848
},
4949
"devDependencies": {

src/commands/connection/accept.ts

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import { Args } from '@oclif/core';
2+
3+
import { BaseCommand } from '@base-command';
4+
import { formatVoidOutput } from '@core/output/formatter';
5+
import { runVoidWorkflow } from '@core/workflow/workflow-runner';
6+
7+
export default class ConnectionAccept extends BaseCommand {
8+
static override description = 'Accept an incoming connection request';
9+
10+
static override args = {
11+
url: Args.string({
12+
description: 'LinkedIn profile URL',
13+
required: true,
14+
}),
15+
};
16+
17+
static override flags = {
18+
...BaseCommand.baseFlags,
19+
};
20+
21+
static override examples = [
22+
'<%= config.bin %> connection accept https://www.linkedin.com/in/john-doe',
23+
];
24+
25+
public async run(): Promise<void> {
26+
const { args, flags } = await this.parse(ConnectionAccept);
27+
28+
const client = await this.buildAuthenticatedClient();
29+
30+
try {
31+
const result = await runVoidWorkflow(
32+
client.acceptConnectionRequest,
33+
{
34+
personUrl: args.url,
35+
},
36+
{
37+
isQuiet: flags.quiet,
38+
},
39+
);
40+
41+
formatVoidOutput({
42+
errors: result.errors,
43+
isJson: flags.json,
44+
isQuiet: flags.quiet,
45+
successMessage: 'Connection request accepted.',
46+
});
47+
} catch (error) {
48+
this.handleError(error);
49+
}
50+
}
51+
}

src/commands/connection/ignore.ts

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import { Args } from '@oclif/core';
2+
3+
import { BaseCommand } from '@base-command';
4+
import { formatVoidOutput } from '@core/output/formatter';
5+
import { runVoidWorkflow } from '@core/workflow/workflow-runner';
6+
7+
export default class ConnectionIgnore extends BaseCommand {
8+
static override description = 'Ignore an incoming connection request';
9+
10+
static override args = {
11+
url: Args.string({
12+
description: 'LinkedIn profile URL',
13+
required: true,
14+
}),
15+
};
16+
17+
static override flags = {
18+
...BaseCommand.baseFlags,
19+
};
20+
21+
static override examples = [
22+
'<%= config.bin %> connection ignore https://www.linkedin.com/in/john-doe',
23+
];
24+
25+
public async run(): Promise<void> {
26+
const { args, flags } = await this.parse(ConnectionIgnore);
27+
28+
const client = await this.buildAuthenticatedClient();
29+
30+
try {
31+
const result = await runVoidWorkflow(
32+
client.ignoreConnectionRequest,
33+
{
34+
personUrl: args.url,
35+
},
36+
{
37+
isQuiet: flags.quiet,
38+
},
39+
);
40+
41+
formatVoidOutput({
42+
errors: result.errors,
43+
isJson: flags.json,
44+
isQuiet: flags.quiet,
45+
successMessage: 'Connection request ignored.',
46+
});
47+
} catch (error) {
48+
this.handleError(error);
49+
}
50+
}
51+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { BaseCommand } from '@base-command';
2+
import { formatOutput } from '@core/output/formatter';
3+
import { runWorkflow } from '@core/workflow/workflow-runner';
4+
5+
export default class ConnectionRequests extends BaseCommand {
6+
static override description = 'List incoming connection requests';
7+
8+
static override flags = {
9+
...BaseCommand.baseFlags,
10+
};
11+
12+
static override examples = ['<%= config.bin %> connection requests --json'];
13+
14+
public async run(): Promise<void> {
15+
const { flags } = await this.parse(ConnectionRequests);
16+
17+
const client = await this.buildAuthenticatedClient();
18+
19+
try {
20+
const result = await runWorkflow(client.retrieveConnectionRequests, {}, {
21+
isQuiet: flags.quiet,
22+
});
23+
24+
formatOutput({
25+
data: result.data,
26+
errors: result.errors,
27+
isJson: flags.json,
28+
fields: flags.fields,
29+
isQuiet: flags.quiet,
30+
});
31+
} catch (error) {
32+
this.handleError(error);
33+
}
34+
}
35+
}

0 commit comments

Comments
 (0)