docs: Update Swagger documentation for Profile endpoints
Updated the Swagger documentation for various Profile endpoints to accurately reflect their return types, including arrays of Profile objects and detailed schemas for specific responses.
This commit is contained in:
@@ -21,29 +21,93 @@ DB.getDB.then((DB) => {
|
||||
* description: User profile management
|
||||
*/
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
* /user/mine:
|
||||
* get:
|
||||
* summary: Get all profiles for the logged-in user
|
||||
* tags: [Profiles]
|
||||
* security:
|
||||
* - cookieAuth: []
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
* profiles:
|
||||
* type: array
|
||||
* items:
|
||||
* type: object
|
||||
*/
|
||||
/**
|
||||
* @swagger
|
||||
* components:
|
||||
* schemas:
|
||||
* Profile:
|
||||
* type: object
|
||||
* properties:
|
||||
* userid:
|
||||
* type: string
|
||||
* description: The ID of the user associated with the profile.
|
||||
* profile:
|
||||
* type: object
|
||||
* properties:
|
||||
* firstName:
|
||||
* type: string
|
||||
* lastName:
|
||||
* type: string
|
||||
* photo:
|
||||
* type: string
|
||||
* location:
|
||||
* type: string
|
||||
* language:
|
||||
* type: string
|
||||
* status:
|
||||
* type: string
|
||||
* description:
|
||||
* type: string
|
||||
* data:
|
||||
* type: object
|
||||
* description: Additional custom data for the profile.
|
||||
* username:
|
||||
* type: string
|
||||
* following:
|
||||
* type: array
|
||||
* items:
|
||||
* type: string
|
||||
* description: List of profile IDs this profile is following.
|
||||
* lastUpdate:
|
||||
* type: string
|
||||
* format: date-time
|
||||
* newsFeedCache:
|
||||
* type: array
|
||||
* items:
|
||||
* type: object
|
||||
* notifications:
|
||||
* type: array
|
||||
* items:
|
||||
* type: object
|
||||
* isGroup:
|
||||
* type: boolean
|
||||
* isCourse:
|
||||
* type: boolean
|
||||
* isPrivate:
|
||||
* type: boolean
|
||||
* isChat:
|
||||
* type: boolean
|
||||
* subscribed:
|
||||
* type: object
|
||||
* description: Users subscribed to this group (if isGroup is true).
|
||||
* pending:
|
||||
* type: object
|
||||
* description: Pending subscription requests for private groups.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
* /user/mine:
|
||||
* get:
|
||||
* summary: Get all profiles for the logged-in user
|
||||
* tags: [Profiles]
|
||||
* security:
|
||||
* - cookieAuth: []
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
* profiles:
|
||||
* type: array
|
||||
* items:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*/
|
||||
router.get("/mine", async (req, res) => {
|
||||
let userid = getUserId(req);
|
||||
let profiles = await DB.getUserProfiles(userid);
|
||||
@@ -67,9 +131,14 @@ DB.getDB.then((DB) => {
|
||||
* required: true
|
||||
* schema:
|
||||
* type: object
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*/
|
||||
router.get("/new", async (req, res) => { //Deprecated please use route post("/")
|
||||
let profile = {
|
||||
@@ -97,13 +166,14 @@ DB.getDB.then((DB) => {
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* content:
|
||||
* type: object
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*/
|
||||
router.post("/", async (req, res) => {
|
||||
let profile = {
|
||||
@@ -127,31 +197,31 @@ DB.getDB.then((DB) => {
|
||||
});
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
* /user/invite:
|
||||
* post:
|
||||
* summary: Invite a new user by email
|
||||
* tags: [Profiles]
|
||||
* security:
|
||||
* - cookieAuth: []
|
||||
* requestBody:
|
||||
* required: true
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* name:
|
||||
* type: string
|
||||
* email:
|
||||
* type: string
|
||||
* format: email
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* 400:
|
||||
* description: Bad request
|
||||
*/
|
||||
* @swagger
|
||||
* /user/invite:
|
||||
* post:
|
||||
* summary: Invite a new user by email
|
||||
* tags: [Profiles]
|
||||
* security:
|
||||
* - cookieAuth: []
|
||||
* requestBody:
|
||||
* required: true
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* name:
|
||||
* type: string
|
||||
* email:
|
||||
* type: string
|
||||
* format: email
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* 400:
|
||||
* description: Bad request
|
||||
*/
|
||||
router.post("/invite", async (req, res) => {
|
||||
try {
|
||||
const userid = getUserId(req);
|
||||
@@ -207,7 +277,17 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
*/
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
* invitation:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*
|
||||
*/
|
||||
router.get("/invite/:email", async (req, res) => {
|
||||
const userid = getUserId(req);
|
||||
const email = req.params.email;
|
||||
@@ -231,6 +311,17 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
* groups:
|
||||
* type: array
|
||||
* items:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*/
|
||||
router.get("/groups", async (req, res) => {
|
||||
let groups = await DB.getGroups();
|
||||
@@ -251,6 +342,17 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
* groups:
|
||||
* type: array
|
||||
* items:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*/
|
||||
router.get("/groups/following", async (req, res) => {
|
||||
const profileId = getProfileId(req);
|
||||
@@ -274,10 +376,14 @@ DB.getDB.then((DB) => {
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*/
|
||||
router.post("/groups", async (req, res) => {
|
||||
let profile = {
|
||||
@@ -304,6 +410,17 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
* groups:
|
||||
* type: array
|
||||
* items:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*/
|
||||
router.get("/courses", async (req, res) => {
|
||||
let groups = await DB.getCourses();
|
||||
@@ -418,6 +535,17 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
* groups:
|
||||
* type: array
|
||||
* items:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*/
|
||||
router.get("/groups/search", async (req, res) => {
|
||||
let query = req.query.query;
|
||||
@@ -446,6 +574,15 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
* groups:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*/
|
||||
router.get("/groups/:id", async (req, res) => {
|
||||
const groupid = req.params.id;
|
||||
@@ -531,6 +668,17 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
* profiles:
|
||||
* type: array
|
||||
* items:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*/
|
||||
router.get("/search", async (req, res) => {
|
||||
let query = req.query.query;
|
||||
@@ -563,6 +711,13 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
*/
|
||||
router.post("/setData", (req, res) => {
|
||||
const key = req.body.key;
|
||||
@@ -590,12 +745,19 @@ DB.getDB.then((DB) => {
|
||||
* type: object
|
||||
* properties:
|
||||
* profile:
|
||||
* type: object
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
* data:
|
||||
* type: object
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
*/
|
||||
router.post("/myProfile", async (req, res) => {
|
||||
let profile = {
|
||||
@@ -627,6 +789,10 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* $ref: '#/components/schemas/Profile'
|
||||
*/
|
||||
router.get("/:id", async (req, res) => {
|
||||
let profileId = req.params.id;
|
||||
@@ -654,6 +820,13 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
*/
|
||||
router.delete("/:id", async (req, res) => {
|
||||
const profileId = req.params.id;
|
||||
@@ -685,6 +858,13 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
*/
|
||||
router.get("/:id/follow", async (req, res) => {
|
||||
let followProfileId = req.params.id;
|
||||
@@ -713,6 +893,13 @@ DB.getDB.then((DB) => {
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
*/
|
||||
router.get("/:id/unfollow", async (req, res) => {
|
||||
let followProfileId = req.params.id;
|
||||
|
||||
Reference in New Issue
Block a user