mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-02-27 17:11:14 +01:00
fix: testing openapi write tests
This commit is contained in:
committed by
Andrew Rodrigues
parent
16873800a6
commit
7aa4d104af
@@ -21,262 +21,23 @@ info:
|
|||||||
license:
|
license:
|
||||||
name: GPL-3.0
|
name: GPL-3.0
|
||||||
servers:
|
servers:
|
||||||
- url: /api/v1
|
- url: /write/v1
|
||||||
tags:
|
tags:
|
||||||
- name: users
|
- name: users
|
||||||
description: 'Account related calls (create, modify, delete, etc.)'
|
description: 'Account related calls (create, modify, delete, etc.)'
|
||||||
- name: categories
|
- name: categories
|
||||||
description: Administrative calls to manage categories
|
description: Administrative calls to manage categories
|
||||||
paths:
|
paths:
|
||||||
'/users/{uid}':
|
/users/{uid}:
|
||||||
delete:
|
$ref: 'write/users/uid.yaml'
|
||||||
tags:
|
/users/{uid}/password:
|
||||||
- users
|
$ref: 'write/users/uid/password.yaml'
|
||||||
summary: delete a single user account
|
/users/{uid}/follow:
|
||||||
parameters:
|
$ref: 'write/users/uid/follow.yaml'
|
||||||
- in: path
|
/users/{uid}/ban:
|
||||||
name: uid
|
$ref: 'write/users/uid/ban.yaml'
|
||||||
schema:
|
/users/{uid}/tokens:
|
||||||
type: integer
|
$ref: 'write/users/uid/tokens.yaml'
|
||||||
required: true
|
|
||||||
description: uid of the user to delete
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: user account deleted
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
status:
|
|
||||||
$ref: components/schemas/Status.yaml#/Status
|
|
||||||
response:
|
|
||||||
type: object
|
|
||||||
put:
|
|
||||||
tags:
|
|
||||||
- users
|
|
||||||
summary: update a user account
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: uid
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
required: true
|
|
||||||
description: uid of the user to update
|
|
||||||
requestBody:
|
|
||||||
required: true
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: components/schemas/UserRequest.yaml#/UserRequest
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: user profile updated
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
status:
|
|
||||||
$ref: components/schemas/Status.yaml#/Status
|
|
||||||
response:
|
|
||||||
$ref: components/schemas/UserObj.yaml#/UserObj
|
|
||||||
'401':
|
|
||||||
$ref: components/responses/401.yaml#/401
|
|
||||||
'403':
|
|
||||||
$ref: components/responses/403.yaml#/403
|
|
||||||
'426':
|
|
||||||
$ref: components/responses/426.yaml#/426
|
|
||||||
'500':
|
|
||||||
$ref: components/responses/500.yaml#/500
|
|
||||||
'/users/{uid}/password':
|
|
||||||
put:
|
|
||||||
tags:
|
|
||||||
- users
|
|
||||||
summary: change a user's password
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: uid
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
required: true
|
|
||||||
description: uid of the user to update
|
|
||||||
requestBody:
|
|
||||||
required: true
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
currentPassword:
|
|
||||||
type: string
|
|
||||||
description: test
|
|
||||||
example: oldp455word
|
|
||||||
newPassword:
|
|
||||||
type: string
|
|
||||||
example: s3cre7password
|
|
||||||
required:
|
|
||||||
- newPassword
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: user profile updated
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
status:
|
|
||||||
$ref: components/schemas/Status.yaml#/Status
|
|
||||||
response:
|
|
||||||
type: object
|
|
||||||
'/users/{uid}/follow':
|
|
||||||
post:
|
|
||||||
tags:
|
|
||||||
- users
|
|
||||||
summary: follow a user
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: uid
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
required: true
|
|
||||||
description: uid of the user to follow
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successfully followed user
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
status:
|
|
||||||
$ref: components/schemas/Status.yaml#/Status
|
|
||||||
response:
|
|
||||||
type: object
|
|
||||||
delete:
|
|
||||||
tags:
|
|
||||||
- users
|
|
||||||
summary: unfollows a user
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: uid
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
required: true
|
|
||||||
description: uid of the user to unfollow
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successfully unfollowed user
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
status:
|
|
||||||
$ref: components/schemas/Status.yaml#/Status
|
|
||||||
response:
|
|
||||||
type: object
|
|
||||||
'/users/{uid}/ban':
|
|
||||||
put:
|
|
||||||
tags:
|
|
||||||
- users
|
|
||||||
summary: ban a user
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: uid
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
required: true
|
|
||||||
description: uid of the user to ban
|
|
||||||
requestBody:
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
until:
|
|
||||||
type: number
|
|
||||||
description: UNIX timestamp of the ban expiry
|
|
||||||
example: 1585775608076
|
|
||||||
reason:
|
|
||||||
type: string
|
|
||||||
example: the reason for the ban
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successfully banned user
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
status:
|
|
||||||
$ref: components/schemas/Status.yaml#/Status
|
|
||||||
response:
|
|
||||||
type: object
|
|
||||||
delete:
|
|
||||||
tags:
|
|
||||||
- users
|
|
||||||
summary: unbans a user
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: uid
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
required: true
|
|
||||||
description: uid of the user to unban
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successfully unbanned user
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
status:
|
|
||||||
$ref: components/schemas/Status.yaml#/Status
|
|
||||||
response:
|
|
||||||
type: object
|
|
||||||
'/users/{uid}/tokens':
|
|
||||||
post:
|
|
||||||
tags:
|
|
||||||
- users
|
|
||||||
summary: generate a user token
|
|
||||||
description: This route can only be used to generate tokens for the same user. In other words, you cannot use this route to generate a token for a different user than the one you are authenticated as.
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successfully generated a user token
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
status:
|
|
||||||
$ref: components/schemas/Status.yaml#/Status
|
|
||||||
response:
|
|
||||||
type: object
|
|
||||||
delete:
|
|
||||||
tags:
|
|
||||||
- users
|
|
||||||
summary: delete user token
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: token
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
required: true
|
|
||||||
description: a valid API token
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successfully deleted user token
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
status:
|
|
||||||
$ref: components/schemas/Status.yaml#/Status
|
|
||||||
response:
|
|
||||||
type: object
|
|
||||||
/categories/:
|
/categories/:
|
||||||
$ref: 'write/categories.yaml'
|
$ref: 'write/categories.yaml'
|
||||||
/groups/:
|
/groups/:
|
||||||
|
|||||||
60
public/openapi/write/users/uid.yaml
Normal file
60
public/openapi/write/users/uid.yaml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
delete:
|
||||||
|
tags:
|
||||||
|
- users
|
||||||
|
summary: delete a single user account
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: uid
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
required: true
|
||||||
|
description: uid of the user to delete
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: user account deleted
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
$ref: ../../components/schemas/Status.yaml#/Status
|
||||||
|
response:
|
||||||
|
type: object
|
||||||
|
put:
|
||||||
|
tags:
|
||||||
|
- users
|
||||||
|
summary: update a user account
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: uid
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
required: true
|
||||||
|
description: uid of the user to update
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: ../../components/schemas/UserRequest.yaml#/UserRequest
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: user profile updated
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
$ref: ../../components/schemas/Status.yaml#/Status
|
||||||
|
response:
|
||||||
|
$ref: ../../components/schemas/UserObj.yaml#/UserObj
|
||||||
|
'401':
|
||||||
|
$ref: ../../components/responses/401.yaml#/401
|
||||||
|
'403':
|
||||||
|
$ref: ../../components/responses/403.yaml#/403
|
||||||
|
'426':
|
||||||
|
$ref: ../../components/responses/426.yaml#/426
|
||||||
|
'500':
|
||||||
|
$ref: ../../components/responses/500.yaml#/500
|
||||||
59
public/openapi/write/users/uid/ban.yaml
Normal file
59
public/openapi/write/users/uid/ban.yaml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
put:
|
||||||
|
tags:
|
||||||
|
- users
|
||||||
|
summary: ban a user
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: uid
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
required: true
|
||||||
|
description: uid of the user to ban
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
until:
|
||||||
|
type: number
|
||||||
|
description: UNIX timestamp of the ban expiry
|
||||||
|
example: 1585775608076
|
||||||
|
reason:
|
||||||
|
type: string
|
||||||
|
example: the reason for the ban
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: successfully banned user
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
$ref: ../../../components/schemas/Status.yaml#/Status
|
||||||
|
response:
|
||||||
|
type: object
|
||||||
|
delete:
|
||||||
|
tags:
|
||||||
|
- users
|
||||||
|
summary: unbans a user
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: uid
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
required: true
|
||||||
|
description: uid of the user to unban
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: successfully unbanned user
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
$ref: ../../../components/schemas/Status.yaml#/Status
|
||||||
|
response:
|
||||||
|
type: object
|
||||||
46
public/openapi/write/users/uid/follow.yaml
Normal file
46
public/openapi/write/users/uid/follow.yaml
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
post:
|
||||||
|
tags:
|
||||||
|
- users
|
||||||
|
summary: follow a user
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: uid
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
required: true
|
||||||
|
description: uid of the user to follow
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: successfully followed user
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
$ref: ../../../components/schemas/Status.yaml#/Status
|
||||||
|
response:
|
||||||
|
type: object
|
||||||
|
delete:
|
||||||
|
tags:
|
||||||
|
- users
|
||||||
|
summary: unfollows a user
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: uid
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
required: true
|
||||||
|
description: uid of the user to unfollow
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: successfully unfollowed user
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
$ref: ../../../components/schemas/Status.yaml#/Status
|
||||||
|
response:
|
||||||
|
type: object
|
||||||
39
public/openapi/write/users/uid/password.yaml
Normal file
39
public/openapi/write/users/uid/password.yaml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
put:
|
||||||
|
tags:
|
||||||
|
- users
|
||||||
|
summary: change a user's password
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: uid
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
required: true
|
||||||
|
description: uid of the user to update
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
currentPassword:
|
||||||
|
type: string
|
||||||
|
description: test
|
||||||
|
example: oldp455word
|
||||||
|
newPassword:
|
||||||
|
type: string
|
||||||
|
example: s3cre7password
|
||||||
|
required:
|
||||||
|
- newPassword
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: user profile updated
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
$ref: ../../../components/schemas/Status.yaml#/Status
|
||||||
|
response:
|
||||||
|
type: object
|
||||||
40
public/openapi/write/users/uid/tokens.yaml
Normal file
40
public/openapi/write/users/uid/tokens.yaml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
post:
|
||||||
|
tags:
|
||||||
|
- users
|
||||||
|
summary: generate a user token
|
||||||
|
description: This route can only be used to generate tokens for the same user. In other words, you cannot use this route to generate a token for a different user than the one you are authenticated as.
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: successfully generated a user token
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
$ref: ../../../components/schemas/Status.yaml#/Status
|
||||||
|
response:
|
||||||
|
type: object
|
||||||
|
delete:
|
||||||
|
tags:
|
||||||
|
- users
|
||||||
|
summary: delete user token
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: token
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
description: a valid API token
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: successfully deleted user token
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
$ref: ../../../components/schemas/Status.yaml#/Status
|
||||||
|
response:
|
||||||
|
type: object
|
||||||
Reference in New Issue
Block a user