Skip to content

Commit 8ba8ebc

Browse files
committed
feat: 🎸 writeスコープの認可が必要なパスを明記しました
1 parent b799d76 commit 8ba8ebc

16 files changed

Lines changed: 142 additions & 6 deletions

File tree

esa-api.json

Lines changed: 93 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,11 @@
7878
"description": "指定されたカテゴリを配下のカテゴリを含めて一括で変更します。",
7979
"operationId": "batchMoveCategory",
8080
"tags": ["category", "esa"],
81+
"security": [
82+
{ "OAuth2": ["write"] },
83+
{ "AccessTokenHeader": ["write"] },
84+
{ "AccessTokenQueryParam": ["write"] }
85+
],
8186
"parameters": [{ "$ref": "#/components/parameters/teamName" }],
8287
"requestBody": {
8388
"content": {
@@ -187,6 +192,11 @@
187192
"description": "指定されたコメントを更新します。",
188193
"operationId": "updateComment",
189194
"tags": ["comment", "esa"],
195+
"security": [
196+
{ "OAuth2": ["write"] },
197+
{ "AccessTokenHeader": ["write"] },
198+
{ "AccessTokenQueryParam": ["write"] }
199+
],
190200
"parameters": [
191201
{ "$ref": "#/components/parameters/teamName" },
192202
{ "$ref": "#/components/parameters/commentId" }
@@ -226,6 +236,11 @@
226236
"description": "指定されたコメントを削除します。",
227237
"operationId": "deleteComment",
228238
"tags": ["comment", "esa"],
239+
"security": [
240+
{ "OAuth2": ["write"] },
241+
{ "AccessTokenHeader": ["write"] },
242+
{ "AccessTokenQueryParam": ["write"] }
243+
],
229244
"parameters": [
230245
{ "$ref": "#/components/parameters/teamName" },
231246
{ "$ref": "#/components/parameters/commentId" }
@@ -254,6 +269,11 @@
254269
"description": "指定されたコメントにStarをします。",
255270
"operationId": "starComment",
256271
"tags": ["star", "esa"],
272+
"security": [
273+
{ "OAuth2": ["write"] },
274+
{ "AccessTokenHeader": ["write"] },
275+
{ "AccessTokenQueryParam": ["write"] }
276+
],
257277
"parameters": [
258278
{ "$ref": "#/components/parameters/teamName" },
259279
{ "$ref": "#/components/parameters/commentId" }
@@ -288,6 +308,11 @@
288308
"description": "指定されたコメントへのStarを取り消します。",
289309
"operationId": "unstarComment",
290310
"tags": ["star", "esa"],
311+
"security": [
312+
{ "OAuth2": ["write"] },
313+
{ "AccessTokenHeader": ["write"] },
314+
{ "AccessTokenQueryParam": ["write"] }
315+
],
291316
"parameters": [
292317
{ "$ref": "#/components/parameters/teamName" },
293318
{ "$ref": "#/components/parameters/commentId" }
@@ -387,6 +412,11 @@
387412
"description": "新しい絵文字を登録します。",
388413
"operationId": "createEmoji",
389414
"tags": ["emoji", "esa"],
415+
"security": [
416+
{ "OAuth2": ["write"] },
417+
{ "AccessTokenHeader": ["write"] },
418+
{ "AccessTokenQueryParam": ["write"] }
419+
],
390420
"parameters": [{ "$ref": "#/components/parameters/teamName" }],
391421
"requestBody": {
392422
"content": {
@@ -428,6 +458,11 @@
428458
"description": "登録したチーム固有の絵文字を削除します。",
429459
"operationId": "deleteEmoji",
430460
"tags": ["emoji", "esa"],
461+
"security": [
462+
{ "OAuth2": ["write"] },
463+
{ "AccessTokenHeader": ["write"] },
464+
{ "AccessTokenQueryParam": ["write"] }
465+
],
431466
"parameters": [
432467
{ "$ref": "#/components/parameters/teamName" },
433468
{
@@ -490,6 +525,11 @@
490525
"description": "招待したいメンバーへ個別の招待URLを発行し、指定したEメールアドレスへ送信します。\n\nこのAPIは**team**の**owner**だけがご利用可能です。",
491526
"operationId": "invite",
492527
"tags": ["invitation", "esa"],
528+
"security": [
529+
{ "OAuth2": ["write"] },
530+
{ "AccessTokenHeader": ["write"] },
531+
{ "AccessTokenQueryParam": ["write"] }
532+
],
493533
"parameters": [{ "$ref": "#/components/parameters/teamName" }],
494534
"requestBody": {
495535
"content": {
@@ -528,6 +568,11 @@
528568
"description": "招待中のメンバーの招待を削除します。招待時に送信されたメールに記載された招待用のURLは無効となります。\nこのAPIは**team**の**owner**だけがご利用可能です。",
529569
"operationId": "disinvite",
530570
"tags": ["invitation", "esa"],
571+
"security": [
572+
{ "OAuth2": ["write"] },
573+
{ "AccessTokenHeader": ["write"] },
574+
{ "AccessTokenQueryParam": ["write"] }
575+
],
531576
"parameters": [
532577
{ "$ref": "#/components/parameters/teamName" },
533578
{
@@ -608,6 +653,11 @@
608653
"description": "指定した screen_name のメンバーをチームから削除します。\n\n- チームの owner である必要があります\n- APIで自分自身をチームから削除することはできません。",
609654
"operationId": "deleteMember",
610655
"tags": ["member", "esa"],
656+
"security": [
657+
{ "OAuth2": ["write"] },
658+
{ "AccessTokenHeader": ["write"] },
659+
{ "AccessTokenQueryParam": ["write"] }
660+
],
611661
"parameters": [
612662
{ "$ref": "#/components/parameters/teamName" },
613663
{
@@ -697,6 +747,11 @@
697747
"summary": "記事を投稿する",
698748
"operationId": "createPost",
699749
"tags": ["post", "esa"],
750+
"security": [
751+
{ "OAuth2": ["write"] },
752+
{ "AccessTokenHeader": ["write"] },
753+
{ "AccessTokenQueryParam": ["write"] }
754+
],
700755
"parameters": [{ "$ref": "#/components/parameters/teamName" }],
701756
"requestBody": {
702757
"required": true,
@@ -767,6 +822,11 @@
767822
"description": "指定された記事を編集します。",
768823
"operationId": "updatePost",
769824
"tags": ["post", "esa"],
825+
"security": [
826+
{ "OAuth2": ["write"] },
827+
{ "AccessTokenHeader": ["write"] },
828+
{ "AccessTokenQueryParam": ["write"] }
829+
],
770830
"parameters": [
771831
{ "$ref": "#/components/parameters/teamName" },
772832
{ "$ref": "#/components/parameters/postNumber" }
@@ -806,6 +866,11 @@
806866
"description": "指定された記事を削除します。",
807867
"operationId": "deletePost",
808868
"tags": ["post", "esa"],
869+
"security": [
870+
{ "OAuth2": ["write"] },
871+
{ "AccessTokenHeader": ["write"] },
872+
{ "AccessTokenQueryParam": ["write"] }
873+
],
809874
"parameters": [
810875
{ "$ref": "#/components/parameters/teamName" },
811876
{ "$ref": "#/components/parameters/postNumber" }
@@ -867,6 +932,11 @@
867932
"description": "記事に新しいコメントを作成します。",
868933
"operationId": "createComment",
869934
"tags": ["comment", "esa"],
935+
"security": [
936+
{ "OAuth2": ["write"] },
937+
{ "AccessTokenHeader": ["write"] },
938+
{ "AccessTokenQueryParam": ["write"] }
939+
],
870940
"parameters": [
871941
{ "$ref": "#/components/parameters/teamName" },
872942
{ "$ref": "#/components/parameters/postNumber" },
@@ -910,6 +980,11 @@
910980
"description": "指定された記事にStarをします。",
911981
"operationId": "starPost",
912982
"tags": ["star", "esa"],
983+
"security": [
984+
{ "OAuth2": ["write"] },
985+
{ "AccessTokenHeader": ["write"] },
986+
{ "AccessTokenQueryParam": ["write"] }
987+
],
913988
"parameters": [
914989
{ "$ref": "#/components/parameters/teamName" },
915990
{ "$ref": "#/components/parameters/postNumber" }
@@ -944,6 +1019,11 @@
9441019
"description": "指定された記事へのStarを取り消します。",
9451020
"operationId": "unstarPost",
9461021
"tags": ["star", "esa"],
1022+
"security": [
1023+
{ "OAuth2": ["write"] },
1024+
{ "AccessTokenHeader": ["write"] },
1025+
{ "AccessTokenQueryParam": ["write"] }
1026+
],
9471027
"parameters": [
9481028
{ "$ref": "#/components/parameters/teamName" },
9491029
{ "$ref": "#/components/parameters/postNumber" }
@@ -1007,6 +1087,11 @@
10071087
"description": "指定された記事にWatchをします。",
10081088
"operationId": "watchPost",
10091089
"tags": ["watch", "esa"],
1090+
"security": [
1091+
{ "OAuth2": ["write"] },
1092+
{ "AccessTokenHeader": ["write"] },
1093+
{ "AccessTokenQueryParam": ["write"] }
1094+
],
10101095
"parameters": [
10111096
{ "$ref": "#/components/parameters/teamName" },
10121097
{ "$ref": "#/components/parameters/postNumber" }
@@ -1033,6 +1118,11 @@
10331118
"description": "指定された記事へのWatchを取り消します。",
10341119
"operationId": "unwachPost",
10351120
"tags": ["watch", "esa"],
1121+
"security": [
1122+
{ "OAuth2": ["write"] },
1123+
{ "AccessTokenHeader": ["write"] },
1124+
{ "AccessTokenQueryParam": ["write"] }
1125+
],
10361126
"parameters": [
10371127
{ "$ref": "#/components/parameters/teamName" },
10381128
{ "$ref": "#/components/parameters/postNumber" }
@@ -2564,8 +2654,8 @@
25642654
"url": "https://docs.esa.io/posts/102"
25652655
},
25662656
"security": [
2567-
{ "AccessTokenHeader": [] },
2568-
{ "AccessTokenQueryParam": [] },
2569-
{ "OAuth2": [] }
2657+
{ "AccessTokenHeader": ["read"] },
2658+
{ "AccessTokenQueryParam": ["read"] },
2659+
{ "OAuth2": ["read"] }
25702660
]
25712661
}

paths/teams/{team_name}/categories/batch_move.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { teamName } from "../../../../parameters/teamName";
44
import { ok } from "../../../../responses/ok";
55
import { batchMoveOptions } from "../../../../schemas/batchMoveOptions";
66
import { batchMoveResult } from "../../../../schemas/batchMoveResult";
7+
import { scope } from "../../../../security";
78
import { tags } from "../../../../tags";
89

910
const batchMove: PathItemObject = {
@@ -12,6 +13,7 @@ const batchMove: PathItemObject = {
1213
description: "指定されたカテゴリを配下のカテゴリを含めて一括で変更します。",
1314
operationId: "batchMoveCategory",
1415
tags: [tags.category],
16+
security: scope.write,
1517
parameters: [parameterRef(teamName)],
1618
requestBody: {
1719
content: {

paths/teams/{team_name}/comments/{comment_id}.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { noContent } from "../../../../responses/noContent";
66
import { ok } from "../../../../responses/ok";
77
import { comment as commentSchema } from "../../../../schemas/comment";
88
import { updateCommentBody } from "../../../../schemas/updateCommentBody";
9+
import { scope } from "../../../../security";
910
import { tags } from "../../../../tags";
1011

1112
const comment: PathItemObject = {
@@ -37,6 +38,7 @@ const comment: PathItemObject = {
3738
description: "指定されたコメントを更新します。",
3839
operationId: "updateComment",
3940
tags: [tags.comment],
41+
security: scope.write,
4042
parameters: [parameterRef(teamName), parameterRef(commentId)],
4143
requestBody: {
4244
content: {
@@ -55,6 +57,7 @@ const comment: PathItemObject = {
5557
description: "指定されたコメントを削除します。",
5658
operationId: "deleteComment",
5759
tags: [tags.comment],
60+
security: scope.write,
5861
parameters: [parameterRef(teamName), parameterRef(commentId)],
5962
responses: {
6063
"204": noContent,

paths/teams/{team_name}/comments/{comment_id}/star.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { commentId } from "../../../../../parameters/commentId";
44
import { teamName } from "../../../../../parameters/teamName";
55
import { noContent } from "../../../../../responses/noContent";
66
import { newStar } from "../../../../../schemas/newStar";
7+
import { scope } from "../../../../../security";
78
import { tags } from "../../../../../tags";
89

910
const star: PathItemObject = {
@@ -12,6 +13,7 @@ const star: PathItemObject = {
1213
description: "指定されたコメントにStarをします。",
1314
operationId: "starComment",
1415
tags: [tags.star],
16+
security: scope.write,
1517
parameters: [parameterRef(teamName), parameterRef(commentId)],
1618
requestBody: {
1719
content: {
@@ -30,6 +32,7 @@ const star: PathItemObject = {
3032
description: "指定されたコメントへのStarを取り消します。",
3133
operationId: "unstarComment",
3234
tags: [tags.star],
35+
security: scope.write,
3336
parameters: [parameterRef(teamName), parameterRef(commentId)],
3437
responses: {
3538
"204": noContent,

paths/teams/{team_name}/emojis.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { ok } from "../../../responses/ok";
55
import { createdEmoji } from "../../../schemas/createdEmoji";
66
import { emojiList } from "../../../schemas/emojiList";
77
import { createEmojiBody } from "../../../schemas/createEmojiBody";
8+
import { scope } from "../../../security";
89
import { tags } from "../../../tags";
910

1011
const emojis: PathItemObject = {
@@ -37,6 +38,7 @@ const emojis: PathItemObject = {
3738
description: "新しい絵文字を登録します。",
3839
operationId: "createEmoji",
3940
tags: [tags.emoji],
41+
security: scope.write,
4042
parameters: [parameterRef(teamName)],
4143
requestBody: {
4244
content: {

paths/teams/{team_name}/emojis/{code}.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { PathItemObject } from "openapi3-ts";
22
import { parameterRef } from "../../../../dsl";
33
import { teamName } from "../../../../parameters/teamName";
44
import { noContent } from "../../../../responses/noContent";
5+
import { scope } from "../../../../security";
56
import { tags } from "../../../../tags";
67

78
const emoji: PathItemObject = {
@@ -10,6 +11,7 @@ const emoji: PathItemObject = {
1011
description: "登録したチーム固有の絵文字を削除します。",
1112
operationId: "deleteEmoji",
1213
tags: [tags.emoji],
14+
security: scope.write,
1315
parameters: [
1416
parameterRef(teamName),
1517
{

paths/teams/{team_name}/invitations.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { teamName } from "../../../parameters/teamName";
55
import { ok } from "../../../responses/ok";
66
import { inviteBody } from "../../../schemas/inviteBody";
77
import { invitationList } from "../../../schemas/invitationList";
8+
import { scope } from "../../../security";
89
import { tags } from "../../../tags";
910

1011
const invitations: PathItemObject = {
@@ -29,6 +30,7 @@ const invitations: PathItemObject = {
2930
このAPIは**team**の**owner**だけがご利用可能です。`,
3031
operationId: "invite",
3132
tags: [tags.invitation],
33+
security: scope.write,
3234
parameters: [parameterRef(teamName)],
3335
requestBody: {
3436
content: {

paths/teams/{team_name}/invitations/{code}.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { outdent } from "outdent";
33
import { parameterRef } from "../../../../dsl";
44
import { teamName } from "../../../../parameters/teamName";
55
import { noContent } from "../../../../responses/noContent";
6+
import { scope } from "../../../../security";
67
import { tags } from "../../../../tags";
78

89
const invitation: PathItemObject = {
@@ -13,6 +14,7 @@ const invitation: PathItemObject = {
1314
このAPIは**team**の**owner**だけがご利用可能です。`,
1415
operationId: "disinvite",
1516
tags: [tags.invitation],
17+
security: scope.write,
1618
parameters: [
1719
parameterRef(teamName),
1820
{

paths/teams/{team_name}/members/{screen_name}.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { outdent } from "outdent";
33
import { parameterRef } from "../../../../dsl";
44
import { teamName } from "../../../../parameters/teamName";
55
import { noContent } from "../../../../responses/noContent";
6+
import { scope } from "../../../../security";
67
import { tags } from "../../../../tags";
78

89
const member: PathItemObject = {
@@ -16,6 +17,7 @@ const member: PathItemObject = {
1617
`.trim(),
1718
operationId: "deleteMember",
1819
tags: [tags.member],
20+
security: scope.write,
1921
parameters: [
2022
parameterRef(teamName),
2123
{

paths/teams/{team_name}/posts.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { ok } from "../../../responses/ok";
99
import { createPostBody } from "../../../schemas/createPostBody";
1010
import { paginatedPosts } from "../../../schemas/paginatedPosts";
1111
import { post } from "../../../schemas/post";
12+
import { scope } from "../../../security";
1213
import { tags } from "../../../tags";
1314

1415
const posts: PathItemObject = {
@@ -72,6 +73,7 @@ const posts: PathItemObject = {
7273
summary: "記事を投稿する",
7374
operationId: "createPost",
7475
tags: [tags.post],
76+
security: scope.write,
7577
parameters: [parameterRef(teamName)],
7678
requestBody: {
7779
required: true,

0 commit comments

Comments
 (0)