Skip to content

Commit 574e26e

Browse files
committed
feat: add user followed
1 parent cdbf5ff commit 574e26e

File tree

4 files changed

+39
-5
lines changed

4 files changed

+39
-5
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"commander": "^9.2.0",
3737
"enquirer": "^2.3.6",
3838
"eventemitter3": "^4.0.7",
39-
"jike-sdk": "^0.15.1",
39+
"jike-sdk": "^0.16.0",
4040
"node-fetch": "^3.2.3",
4141
"open": "^8.4.0",
4242
"terminal-image": "^2.0.0"

pnpm-lock.yaml

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/command/user/followed.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { logger } from '@poppinss/cliui'
2+
import { createCommand } from 'commander'
3+
import { createClient, filterUsers } from '../../utils/user'
4+
5+
export const followed = createCommand('followed')
6+
.description('output whether the follower is followed by following user')
7+
.option('-f, --following <following>', 'the username of the following user')
8+
.option('-F, --follower <follower>', 'the username of the follower user')
9+
.action(() => {
10+
const { following, follower } = followed.opts<{
11+
following?: string
12+
follower?: string
13+
}>()
14+
isFollowed(following, follower)
15+
})
16+
17+
export const isFollowed = async (following?: string, follower?: string) => {
18+
const [user] = filterUsers()
19+
const client = createClient(user)
20+
21+
const getUser = (username?: string) =>
22+
username ? client.getUser(username) : client.getSelf()
23+
24+
// TODO: auto select mode
25+
const isFollowed = await getUser(following).isFollowing(
26+
getUser(follower),
27+
'following'
28+
)
29+
30+
logger.info(`${isFollowed ? 'Followed!' : 'Not followed.'}`)
31+
}

src/command/user/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { profile } from './profile'
77
import { renew } from './renew'
88
import { view } from './view'
99
import { alias } from './alias'
10+
import { followed } from './followed'
1011

1112
export const user = createCommand('user')
1213
.description('user-related operations')
@@ -21,6 +22,7 @@ Example call:
2122
$ jike-cli user view 82D23B32-CF36-4C59-AD6F-D05E3552CBF3
2223
$ jike-cli user info
2324
$ jike-cli user alias -u <user> <alias>
25+
$ jike-cli user followed -f 5C505995-681E-4C1E-AD4A-1CC683627B6E
2426
`
2527
)
2628
.usage('<command> [flags]')
@@ -32,3 +34,4 @@ Example call:
3234
.addCommand(profile)
3335
.addCommand(view)
3436
.addCommand(alias)
37+
.addCommand(followed)

0 commit comments

Comments
 (0)