Skip to content

Commit 6f0c944

Browse files
committed
ユーザー関連関数追加
1 parent 02c9b72 commit 6f0c944

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

src/qiita.ts

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,4 +659,94 @@ export class Qiita {
659659
return this.patch(`${this.endpoint}${this.version}/projects`, { archived, body, name, tags });
660660
}
661661

662+
/**
663+
* 投稿をストックしているユーザ一覧を、ストックした日時の降順で返します。
664+
* @param page ページ番号 (1から100まで)
665+
* @param perPage 1ページあたりに含まれる要素数 (1から100まで)
666+
* @return ユーザー一覧
667+
*/
668+
public fetchStockersFromItem = (itemId: string, page: string, perPage: string): Promise<Qiita.User[]> => {
669+
return this.get(`${this.endpoint}${this.version}/items/${itemId}/stockers`, {
670+
page,
671+
per_page: perPage,
672+
});
673+
}
674+
675+
/**
676+
* 全てのユーザの一覧を作成日時の降順で取得します。
677+
* @param page ページ番号 (1から100まで)
678+
* @param perPage 1ページあたりに含まれる要素数 (1から100まで)
679+
* @return ユーザー一覧
680+
*/
681+
public fetchUsers = (page: string, perPage: string): Promise<Qiita.User[]> => {
682+
return this.get(`${this.endpoint}${this.version}/users`, {
683+
page,
684+
per_page: perPage,
685+
});
686+
}
687+
688+
/**
689+
* ユーザを取得します。
690+
* @param userId ユーザーID
691+
* @return ユーザー
692+
*/
693+
public fetchUser = (userId: string): Promise<Qiita.User> => {
694+
return this.get(`${this.endpoint}${this.version}/users/${userId}`);
695+
}
696+
697+
/**
698+
* ユーザがフォローしているユーザ一覧を取得します。
699+
* @param userId ユーザーID
700+
* @param page ページ番号 (1から100まで)
701+
* @param perPage 1ページあたりに含まれる要素数 (1から100まで)
702+
* @return ユーザー一覧
703+
*/
704+
public fetchFolloweesFromUser = (userId: string, page: string, perPage: string): Promise<Qiita.User[]> => {
705+
return this.get(`${this.endpoint}${this.version}/users/${userId}/followees`, {
706+
page,
707+
per_page: perPage,
708+
})
709+
}
710+
711+
/**
712+
* ユーザをフォローしているユーザ一覧を取得します。
713+
* @param userId ユーザーID
714+
* @param page ページ番号 (1から100まで)
715+
* @param perPage 1ページあたりに含まれる要素数 (1から100まで)
716+
* @return ユーザー一覧
717+
*/
718+
public fetchFollowersFromUser = (userId: string, page: string, perPage: string): Promise<Qiita.User[]> => {
719+
return this.get(`${this.endpoint}${this.version}/users/${userId}/followers`, {
720+
page,
721+
per_page: perPage,
722+
})
723+
}
724+
725+
/**
726+
* ユーザをフォローしているユーザ一覧を取得します。
727+
* @param userId ユーザーID
728+
* @return 空のオブジェクト
729+
*/
730+
public unfollowUser = (userId: string): Promise<{}> => {
731+
return this.delete(`${this.endpoint}${this.version}/users/${userId}/following`);
732+
}
733+
734+
/**
735+
* ユーザへのフォローを外します。
736+
* @param userId ユーザーID
737+
* @return 空のオブジェクト
738+
*/
739+
public fetchIfFollowUser = (userId: string): Promise<{}> => {
740+
return this.get(`${this.endpoint}${this.version}/users/${userId}/following`);
741+
}
742+
743+
/**
744+
* ユーザをフォローしている場合に204を返します。
745+
* @param userId ユーザーID
746+
* @return 空のオブジェクト
747+
*/
748+
public followUser = (userId: string): Promise<{}> => {
749+
return this.put(`${this.endpoint}${this.version}/users/${userId}/following`);
750+
}
751+
662752
}

0 commit comments

Comments
 (0)