Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
148 changes: 112 additions & 36 deletions api/views/documentation/admins/admin.yml
Original file line number Diff line number Diff line change
@@ -1,44 +1,120 @@
Retreives an admin from the DB
Admin API
---
tags:
- Admins
parameters:
- name: admin_id
in: path
type: string
required: true
description: The id of the admin to retrieve
responses:
404:
description: An admin with the id does not exist
200:
description: "Request returned sucessfully"
schema:
type: object
items:
get:
summary: Retrieves an admin from the database
parameters:
- name: admin_id
in: path
type: string
required: true
description: The ID of the admin to retrieve
responses:
200:
description: Request returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Admin'
example:
created_at: "2017-03-25T02:17:06Z"
email: "[email protected]"
first_name: "Aina"
id: "53af4926-52ee-41d0-9acc-ae7230000001"
last_name: "Jesulayomi"
recovery_question: "What is your baby's name?"
404:
description: Admin with the specified ID does not exist

put:
summary: Updates an existing admin
parameters:
- name: admin_id
in: path
type: string
required: true
description: The ID of the admin to update
- in: body
name: admin_body
description: The body of the admin to update
schema:
type: object
properties:
created_at:
first_name:
type: string
description: time of creation of the User
id:
description: Admin's first name
last_name:
type: string
description: The uuid of the User
description: Admin's last name
email:
type: string
description: User's email
type: string
format: email
description: Admin's email address
recovery_question:
type: string
description: User's password recovery question
first_name:
type: string
description: User's first name
last_name:
type: string
description: user's last name
example:
"created_at": "2017-03-25T02:17:06"
"email": "[email protected]"
"first_name": "Aina"
"id": "53af4926-52ee-41d0-9acc-ae7230000001"
"last_name": "Jesulayomi"
"recovery_question": "What is your baby's name"
type: string
description: Admin's password recovery question
responses:
200:
description: Admin updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Admin'
example:
created_at: "2017-03-25T02:17:06Z"
email: "[email protected]"
first_name: "Aina"
id: "53af4926-52ee-41d0-9acc-ae7230000001"
last_name: "Jesulayomi"
recovery_question: "What is your favorite color?"
400:
description: Bad request (invalid JSON)
404:
description: Admin with the specified ID does not exist

delete:
summary: Deletes an admin
parameters:
- name: admin_id
in: path
type: string
required: true
description: The ID of the admin to delete
responses:
200:
description: Admin deleted successfully
content:
application/json:
schema:
type: object
example: {}
404:
description: Admin with the specified ID does not exist

components:
schemas:
Admin:
type: object
properties:
created_at:
type: string
format: date-time
description: Time of creation of the admin
id:
type: string
format: uuid
description: The UUID of the admin
email:
type: string
format: email
description: Admin's email address
recovery_question:
type: string
description: Admin's password recovery question
first_name:
type: string
description: Admin's first name
last_name:
type: string
description: Admin's last name
138 changes: 100 additions & 38 deletions api/views/documentation/admins/admins.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,105 @@
Retreives all admins from the DB
Admins API
---
tags:
- Admins

responses:
200:
description: "Request returned sucessfully"
schema:
get:
summary: Retrieves all admins from the database
parameters:
- name: email
in: query
type: string
description: Filter admins by email address
responses:
200:
description: Request returned successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Admin'
example:
- created_at: "2017-03-25T02:17:06Z"
email: "[email protected]"
first_name: "Aina"
id: "53af4926-52ee-41d0-9acc-ae7230000001"
last_name: "Jesulayomi"
recovery_question: "What is your baby's name?"
- created_at: "2017-03-25T02:17:06Z"
email: "[email protected]"
first_name: "Iwelumo"
id: "53af4926-52ee-41d0-9acc-ae7230000002"
last_name: "Samuel"
recovery_question: "What is your baby's name?"
404:
description: No admin found with the specified email

post:
summary: Creates a new admin
parameters:
- name: first_name
in: formData
required: true
type: string
description: Admin's first name
- name: last_name
in: formData
required: true
type: string
description: Admin's last name
- name: email
in: formData
required: true
type: string
format: email
description: Admin's email address
- name: password
in: formData
required: true
type: string
format: password
description: Admin's password
responses:
201:
description: Admin created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Admin'
example:
created_at: "2023-04-15T10:30:00Z"
email: "[email protected]"
first_name: "John"
id: "53af4926-52ee-41d0-9acc-ae7230000003"
last_name: "Doe"
recovery_question: "What is your mother's maiden name?"
400:
description: Bad request (missing required fields or invalid data)

components:
schemas:
Admin:
type: object
items:
properties:
created_at:
type: string
description: time of creation of the User
id:
type: string
description: The uuid of the User
email:
type: string
description: User's email
recovery_question:
type: string
description: User's password recovery question
first_name:
type: string
description: User's first name
last_name:
type: string
description: user's last name
example:
- "created_at": "2017-03-25T02:17:06"
"email": "[email protected]"
"first_name": "Aina"
"id": "53af4926-52ee-41d0-9acc-ae7230000001"
"last_name": "Jesulayomi"
"recovery_question": "What is your baby's name"
- "created_at": "2017-03-25T02:17:06"
"email": "[email protected]"
"first_name": "Iwelumo"
"id": "53af4926-52ee-41d0-9acc-ae7230000002"
"last_name": "Samuel"
"recovery_question": "What is your baby's name"
properties:
created_at:
type: string
format: date-time
description: Time of creation of the admin
id:
type: string
format: uuid
description: The UUID of the admin
email:
type: string
format: email
description: Admin's email address
recovery_question:
type: string
description: Admin's password recovery question
first_name:
type: string
description: Admin's first name
last_name:
type: string
description: Admin's last name