Skip to content

Commit

Permalink
Add missing return data for most endpoints. Now requires #233
Browse files Browse the repository at this point in the history
  • Loading branch information
confused-Techie committed Jan 23, 2024
1 parent 93f3501 commit c4a9a72
Show file tree
Hide file tree
Showing 9 changed files with 93 additions and 10 deletions.
54 changes: 46 additions & 8 deletions docs/swagger/openapi3_def.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,16 @@ paths:
/api/login:
get:
summary: OAuth callback URL.
responses: {}
responses:
'302':
description: A redirect to the GitHub OAuth Authorization login flow.
parameters: []
/api/oauth:
get:
summary: OAuth Callback URL.
responses: {}
responses:
'302':
description: A redirect to the Pulsar Package Website User page.
parameters: []
/api/packages:
post:
Expand Down Expand Up @@ -83,7 +87,10 @@ paths:
description: >-
Return a value similar to `GET /api/packages`, an array of package
objects.
content: {}
content:
application/json:
schema:
$ref: '#/components/schemas/packageObjectShortArray'
parameters:
- $ref: '#/components/parameters/auth'
/api/themes:
Expand Down Expand Up @@ -150,14 +157,26 @@ paths:
/api/packages/{packageName}/versions/{versionName}:
get:
summary: Get the details of a specific package version.
responses: {}
responses:
'200':
description: The 'package.json' plus more details of a single package version.
content:
application/json:
schema:
$ref: '#/components/schemas/packageObjectJSON'
parameters:
- $ref: '#/components/parameters/packageName'
- $ref: '#/components/parameters/versionName'
/api/themes/{packageName}/versions/{versionName}:
get:
summary: Get the details of a specific package version.
responses: {}
responses:
'200':
description: The 'package.json' plus more details of a single package version.
content:
application/json:
schema:
$ref: '#/components/schemas/packageObjectJSON'
parameters:
- $ref: '#/components/parameters/packageName'
- $ref: '#/components/parameters/versionName'
Expand Down Expand Up @@ -234,13 +253,25 @@ paths:
/api/packages/{packageName}/stargazers:
get:
summary: List the users that have starred a package.
responses: {}
responses:
'200':
description: A list of users.
content:
application/json:
schema:
$ref: '#/components/schemas/userObjectPublicArray'
parameters:
- $ref: '#/components/parameters/packageName'
/api/themes/{packageName}/stargazers:
get:
summary: List the users that have starred a package.
responses: {}
responses:
'200':
description: A list of users.
content:
application/json:
schema:
$ref: '#/components/schemas/userObjectPublicArray'
parameters:
- $ref: '#/components/parameters/packageName'
/api/packages/{packageName}/versions/{versionName}/events/uninstall:
Expand Down Expand Up @@ -277,7 +308,10 @@ paths:
responses:
'200':
description: Return value is similar to `GET /api/packages`.
content: {}
content:
application/json:
schema:
$ref: '#/components/schemas/packageObjectShortArray'
parameters:
- $ref: '#/components/parameters/login'
/api/users/{login}:
Expand Down Expand Up @@ -631,3 +665,7 @@ components:
type: string
packages:
type: array
userObjectPublicArray:
type: array
items:
$ref: '#/components/schemas/userObjectPublic'
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ module.exports = {
docs: {
summary:
"Deletes a package version. Once a version is deleted, it cannot be used again.",
responses: {
204: {
description: "An empty response, indicating success."
}
}
},
endpoint: {
method: "DELETE",
Expand Down
5 changes: 5 additions & 0 deletions src/controllers/getLogin.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
module.exports = {
docs: {
summary: "OAuth callback URL.",
responses: {
302: {
description: "A redirect to the GitHub OAuth Authorization login flow."
}
}
},
endpoint: {
method: "GET",
Expand Down
5 changes: 5 additions & 0 deletions src/controllers/getOauth.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ const superagent = require("superagent");
module.exports = {
docs: {
summary: "OAuth Callback URL.",
responses: {
302: {
description: "A redirect to the Pulsar Package Website User page."
}
}
},
endpoint: {
method: "GET",
Expand Down
8 changes: 8 additions & 0 deletions src/controllers/getPackagesPackageNameStargazers.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
module.exports = {
docs: {
summary: "List the users that have starred a package.",
responses: {
200: {
description: "A list of users.",
content: {
"application/json": "$userObjectPublicArray"
}
}
}
},
endpoint: {
method: "GET",
Expand Down
8 changes: 8 additions & 0 deletions src/controllers/getPackagesPackageNameVersionsVersionName.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
module.exports = {
docs: {
summary: "Get the details of a specific package version.",
responses: {
200: {
description: "The 'package.json' plus more details of a single package version.",
content: {
"application/json": "$packageObjectJSON"
}
}
}
},
endpoint: {
method: "GET",
Expand Down
4 changes: 3 additions & 1 deletion src/controllers/getStars.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ module.exports = {
200: {
description:
"Return a value similar to `GET /api/packages`, an array of package objects.",
content: {},
content: {
"application/json": "$packageObjectShortArray"
},
},
},
},
Expand Down
4 changes: 3 additions & 1 deletion src/controllers/getUsersLoginStars.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ module.exports = {
responses: {
200: {
description: "Return value is similar to `GET /api/packages`.",
content: {},
content: {
"application/json": "$packageObjectShortArray"
},
},
},
},
Expand Down
10 changes: 10 additions & 0 deletions tests/models/userObjectPublicArray.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
module.exports = {
schema: {
type: "array",
items: {
"$ref": "#/components/schemas/userObjectPublic"
}
},
example: [require("./userObjectPublic.js").example],
test: Joi.array().items(require("./userObjectPublic.js").test).required()
};

0 comments on commit c4a9a72

Please sign in to comment.