You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3031 lines
76 KiB
3031 lines
76 KiB
openapi: 3.0.3
|
|
info:
|
|
title: API سامانه تعاملات بینالملل
|
|
version: 2.0.0
|
|
description: مستندات نقاط پایانی سامانه تعاملات بینالملل آستان قدس رضوی (فاز دوم)
|
|
paths:
|
|
/api/v1/account/admin/directory-users/:
|
|
get:
|
|
operationId: v1_account_admin_directory_users_list
|
|
description: |-
|
|
Separate, dedicated endpoint for accounts/users list page.
|
|
Filters users who have an email, are not deleted (deleted_at is null).
|
|
parameters:
|
|
- name: page
|
|
required: false
|
|
in: query
|
|
description: A page number within the paginated result set.
|
|
schema:
|
|
type: integer
|
|
- name: page_size
|
|
required: false
|
|
in: query
|
|
description: Number of results to return per page.
|
|
schema:
|
|
type: integer
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedAdminUserList'
|
|
description: ''
|
|
post:
|
|
operationId: v1_account_admin_directory_users_create
|
|
description: |-
|
|
Separate, dedicated endpoint for accounts/users list page.
|
|
Filters users who have an email, are not deleted (deleted_at is null).
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
required: true
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
/api/v1/account/admin/directory-users/{id}/:
|
|
get:
|
|
operationId: v1_account_admin_directory_users_retrieve
|
|
description: |-
|
|
Separate, dedicated endpoint for accounts/users list page.
|
|
Filters users who have an email, are not deleted (deleted_at is null).
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this User.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
put:
|
|
operationId: v1_account_admin_directory_users_update
|
|
description: |-
|
|
Separate, dedicated endpoint for accounts/users list page.
|
|
Filters users who have an email, are not deleted (deleted_at is null).
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this User.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
required: true
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
patch:
|
|
operationId: v1_account_admin_directory_users_partial_update
|
|
description: |-
|
|
Separate, dedicated endpoint for accounts/users list page.
|
|
Filters users who have an email, are not deleted (deleted_at is null).
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this User.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAdminUserRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAdminUserRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAdminUserRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
delete:
|
|
operationId: v1_account_admin_directory_users_destroy
|
|
description: |-
|
|
Separate, dedicated endpoint for accounts/users list page.
|
|
Filters users who have an email, are not deleted (deleted_at is null).
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this User.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/v1/account/admin/directory-users/export_excel/:
|
|
get:
|
|
operationId: v1_account_admin_directory_users_export_excel_retrieve
|
|
description: |-
|
|
Export users to an Excel (.xlsx) file.
|
|
Accepts user_ids in POST body for selective bulk export,
|
|
or uses current queryset filters if no specific IDs are provided.
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
post:
|
|
operationId: v1_account_admin_directory_users_export_excel_create
|
|
description: |-
|
|
Export users to an Excel (.xlsx) file.
|
|
Accepts user_ids in POST body for selective bulk export,
|
|
or uses current queryset filters if no specific IDs are provided.
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
required: true
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
/api/v1/account/admin/login/:
|
|
post:
|
|
operationId: v1_account_admin_login_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserLoginRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UserLoginRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserLoginRequest'
|
|
required: true
|
|
security:
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserLogin'
|
|
description: ''
|
|
/api/v1/account/admin/notification-templates/:
|
|
get:
|
|
operationId: v1_account_admin_notification_templates_list
|
|
parameters:
|
|
- name: page
|
|
required: false
|
|
in: query
|
|
description: A page number within the paginated result set.
|
|
schema:
|
|
type: integer
|
|
- name: page_size
|
|
required: false
|
|
in: query
|
|
description: Number of results to return per page.
|
|
schema:
|
|
type: integer
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedNotificationTemplateList'
|
|
description: ''
|
|
post:
|
|
operationId: v1_account_admin_notification_templates_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotificationTemplateRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/NotificationTemplateRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/NotificationTemplateRequest'
|
|
required: true
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotificationTemplate'
|
|
description: ''
|
|
/api/v1/account/admin/notification-templates/{id}/:
|
|
get:
|
|
operationId: v1_account_admin_notification_templates_retrieve
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this Notification Template.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotificationTemplate'
|
|
description: ''
|
|
put:
|
|
operationId: v1_account_admin_notification_templates_update
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this Notification Template.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotificationTemplateRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/NotificationTemplateRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/NotificationTemplateRequest'
|
|
required: true
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotificationTemplate'
|
|
description: ''
|
|
patch:
|
|
operationId: v1_account_admin_notification_templates_partial_update
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this Notification Template.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedNotificationTemplateRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedNotificationTemplateRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedNotificationTemplateRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotificationTemplate'
|
|
description: ''
|
|
delete:
|
|
operationId: v1_account_admin_notification_templates_destroy
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this Notification Template.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/v1/account/admin/notifications/:
|
|
get:
|
|
operationId: v1_account_admin_notifications_list
|
|
parameters:
|
|
- name: page
|
|
required: false
|
|
in: query
|
|
description: A page number within the paginated result set.
|
|
schema:
|
|
type: integer
|
|
- name: page_size
|
|
required: false
|
|
in: query
|
|
description: Number of results to return per page.
|
|
schema:
|
|
type: integer
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedAdminNotificationList'
|
|
description: ''
|
|
post:
|
|
operationId: v1_account_admin_notifications_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminNotificationRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminNotificationRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminNotificationRequest'
|
|
required: true
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminNotification'
|
|
description: ''
|
|
/api/v1/account/admin/notifications/{id}/:
|
|
get:
|
|
operationId: v1_account_admin_notifications_retrieve
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this Notification.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminNotification'
|
|
description: ''
|
|
put:
|
|
operationId: v1_account_admin_notifications_update
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this Notification.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminNotificationRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminNotificationRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminNotificationRequest'
|
|
required: true
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminNotification'
|
|
description: ''
|
|
patch:
|
|
operationId: v1_account_admin_notifications_partial_update
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this Notification.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAdminNotificationRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAdminNotificationRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAdminNotificationRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminNotification'
|
|
description: ''
|
|
delete:
|
|
operationId: v1_account_admin_notifications_destroy
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this Notification.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/v1/account/admin/users/:
|
|
get:
|
|
operationId: v1_account_admin_users_list
|
|
description: |-
|
|
Admin-only endpoint for full CRUD operations on Users.
|
|
Includes searching, filtering, and pagination.
|
|
parameters:
|
|
- name: page
|
|
required: false
|
|
in: query
|
|
description: A page number within the paginated result set.
|
|
schema:
|
|
type: integer
|
|
- name: page_size
|
|
required: false
|
|
in: query
|
|
description: Number of results to return per page.
|
|
schema:
|
|
type: integer
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedAdminUserList'
|
|
description: ''
|
|
post:
|
|
operationId: v1_account_admin_users_create
|
|
description: |-
|
|
Admin-only endpoint for full CRUD operations on Users.
|
|
Includes searching, filtering, and pagination.
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
required: true
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
/api/v1/account/admin/users/{id}/:
|
|
get:
|
|
operationId: v1_account_admin_users_retrieve
|
|
description: |-
|
|
Admin-only endpoint for full CRUD operations on Users.
|
|
Includes searching, filtering, and pagination.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this User.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
put:
|
|
operationId: v1_account_admin_users_update
|
|
description: |-
|
|
Admin-only endpoint for full CRUD operations on Users.
|
|
Includes searching, filtering, and pagination.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this User.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
required: true
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
patch:
|
|
operationId: v1_account_admin_users_partial_update
|
|
description: |-
|
|
Admin-only endpoint for full CRUD operations on Users.
|
|
Includes searching, filtering, and pagination.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this User.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAdminUserRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAdminUserRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAdminUserRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
delete:
|
|
operationId: v1_account_admin_users_destroy
|
|
description: |-
|
|
Admin-only endpoint for full CRUD operations on Users.
|
|
Includes searching, filtering, and pagination.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this User.
|
|
required: true
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/v1/account/admin/users/export_excel/:
|
|
get:
|
|
operationId: v1_account_admin_users_export_excel_retrieve
|
|
description: |-
|
|
Export users to an Excel (.xlsx) file.
|
|
Accepts user_ids in POST body for selective bulk export,
|
|
or uses current queryset filters if no specific IDs are provided.
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
post:
|
|
operationId: v1_account_admin_users_export_excel_create
|
|
description: |-
|
|
Export users to an Excel (.xlsx) file.
|
|
Accepts user_ids in POST body for selective bulk export,
|
|
or uses current queryset filters if no specific IDs are provided.
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUserRequest'
|
|
required: true
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
description: ''
|
|
/api/v1/account/exchange-token/:
|
|
post:
|
|
operationId: v1_account_exchange_token_create
|
|
description: تبدیل temporary token به اطلاعات کاربر برای ورود از اپ موبایل
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExchangeTokenRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ExchangeTokenRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ExchangeTokenRequest'
|
|
required: true
|
|
security:
|
|
- jwtAuth: []
|
|
- tokenAuth: []
|
|
- cookieAuth: []
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExchangeToken'
|
|
description: ''
|
|
/api/v1/account/guest/:
|
|
post:
|
|
operationId: v1_account_guest_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserGuestRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UserGuestRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserGuestRequest'
|
|
security:
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserGuest'
|
|
description: ''
|
|
/api/v1/account/location-update/:
|
|
post:
|
|
operationId: v1_account_location_update_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/LocationHistoryRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/LocationHistoryRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/LocationHistoryRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/LocationHistory'
|
|
description: ''
|
|
/api/v1/account/login/:
|
|
post:
|
|
operationId: v1_account_login_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserLoginRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UserLoginRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserLoginRequest'
|
|
required: true
|
|
security:
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserLogin'
|
|
description: ''
|
|
/api/v1/account/notif/:
|
|
get:
|
|
operationId: v1_account_notif_list
|
|
parameters:
|
|
- name: page
|
|
required: false
|
|
in: query
|
|
description: A page number within the paginated result set.
|
|
schema:
|
|
type: integer
|
|
- name: page_size
|
|
required: false
|
|
in: query
|
|
description: Number of results to return per page.
|
|
schema:
|
|
type: integer
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedNotificationList'
|
|
description: ''
|
|
/api/v1/account/notif/read/:
|
|
post:
|
|
operationId: v1_account_notif_read_create
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
description: No response body
|
|
/api/v1/account/notif/send/:
|
|
post:
|
|
operationId: v1_account_notif_send_create
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
description: No response body
|
|
/api/v1/account/profile/:
|
|
get:
|
|
operationId: v1_account_profile_retrieve
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserProfile'
|
|
description: ''
|
|
/api/v1/account/profile/delete/:
|
|
delete:
|
|
operationId: v1_account_profile_delete_destroy
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/v1/account/profile/update/:
|
|
put:
|
|
operationId: v1_account_profile_update_update
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserProfileRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UserProfileRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserProfileRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserProfile'
|
|
description: ''
|
|
patch:
|
|
operationId: v1_account_profile_update_partial_update
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUserProfileRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUserProfileRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUserProfileRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserProfile'
|
|
description: ''
|
|
/api/v1/account/recover/:
|
|
post:
|
|
operationId: v1_account_recover_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserRecoverPasswordRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UserRecoverPasswordRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserRecoverPasswordRequest'
|
|
required: true
|
|
security:
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserRecoverPassword'
|
|
description: ''
|
|
/api/v1/account/region-info/:
|
|
get:
|
|
operationId: v1_account_region_info_retrieve
|
|
description: Returns basic client region, browser, and network info
|
|
tags:
|
|
- v1
|
|
security:
|
|
- jwtAuth: []
|
|
- tokenAuth: []
|
|
- cookieAuth: []
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'200':
|
|
description: No response body
|
|
/api/v1/account/register/:
|
|
post:
|
|
operationId: v1_account_register_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserRegisterRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UserRegisterRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserRegisterRequest'
|
|
required: true
|
|
security:
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserRegister'
|
|
description: ''
|
|
/api/v1/account/reset/:
|
|
post:
|
|
operationId: v1_account_reset_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserResetPasswordRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UserResetPasswordRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserResetPasswordRequest'
|
|
required: true
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'201':
|
|
description: No response body
|
|
/api/v1/account/update-fcm/:
|
|
post:
|
|
operationId: v1_account_update_fcm_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserFCMRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UserFCMRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserFCMRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserFCM'
|
|
description: ''
|
|
/api/v1/account/verify/:
|
|
post:
|
|
operationId: v1_account_verify_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserVerifyRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UserVerifyRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserVerifyRequest'
|
|
required: true
|
|
security:
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserVerify'
|
|
description: ''
|
|
/api/v1/account/web/register/:
|
|
post:
|
|
operationId: v1_account_web_register_create
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebUserRegisterRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/WebUserRegisterRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/WebUserRegisterRequest'
|
|
required: true
|
|
security:
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/WebUserRegister'
|
|
description: ''
|
|
/api/v1/auth/token/:
|
|
post:
|
|
operationId: v1_auth_token_create
|
|
description: |-
|
|
Takes a set of user credentials and returns an access and refresh JSON web
|
|
token pair to prove the authentication of those credentials.
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TokenObtainPairRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/TokenObtainPairRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/TokenObtainPairRequest'
|
|
required: true
|
|
security:
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TokenObtainPair'
|
|
description: ''
|
|
/api/v1/auth/token/refresh/:
|
|
post:
|
|
operationId: v1_auth_token_refresh_create
|
|
description: |-
|
|
Takes a refresh type JSON web token and returns an access type JSON web
|
|
token if the refresh token is valid.
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TokenRefreshRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/TokenRefreshRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/TokenRefreshRequest'
|
|
required: true
|
|
security:
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TokenRefresh'
|
|
description: ''
|
|
/api/v1/auth/token/verify/:
|
|
post:
|
|
operationId: v1_auth_token_verify_create
|
|
description: |-
|
|
Takes a token and indicates if it is valid. This view provides no
|
|
information about a token's fitness for a particular use.
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TokenVerifyRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/TokenVerifyRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/TokenVerifyRequest'
|
|
required: true
|
|
security:
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
description: No response body
|
|
/api/v1/contact-us/:
|
|
post:
|
|
operationId: v1_contact_us_create
|
|
description: Submit a user contact or support inquiry
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupportMessageCreateRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/SupportMessageCreateRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/SupportMessageCreateRequest'
|
|
required: true
|
|
security:
|
|
- jwtAuth: []
|
|
- tokenAuth: []
|
|
- cookieAuth: []
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupportMessageCreate'
|
|
description: ''
|
|
/api/v1/health/:
|
|
get:
|
|
operationId: v1_health_retrieve
|
|
description: Returns system status, current timestamp, and API version
|
|
summary: Check API server health status
|
|
tags:
|
|
- v1
|
|
security:
|
|
- jwtAuth: []
|
|
- tokenAuth: []
|
|
- cookieAuth: []
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/HealthCheckResponse'
|
|
description: ''
|
|
/api/v1/settings/about-us/:
|
|
get:
|
|
operationId: v1_settings_about_us_retrieve
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AboutUs'
|
|
description: ''
|
|
put:
|
|
operationId: v1_settings_about_us_update
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AboutUsRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AboutUsRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AboutUsRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AboutUs'
|
|
description: ''
|
|
/api/v1/settings/about-us-dobodi/:
|
|
get:
|
|
operationId: v1_settings_about_us_dobodi_retrieve
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AboutUsDobodi'
|
|
description: ''
|
|
put:
|
|
operationId: v1_settings_about_us_dobodi_update
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AboutUsDobodiRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AboutUsDobodiRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AboutUsDobodiRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AboutUsDobodi'
|
|
description: ''
|
|
/api/v1/settings/card/:
|
|
get:
|
|
operationId: v1_settings_card_retrieve
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Card'
|
|
description: ''
|
|
put:
|
|
operationId: v1_settings_card_update
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CardRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/CardRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/CardRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Card'
|
|
description: ''
|
|
/api/v1/settings/faq-course/:
|
|
get:
|
|
operationId: v1_settings_faq_course_retrieve
|
|
tags:
|
|
- v1
|
|
security:
|
|
- jwtAuth: []
|
|
- tokenAuth: []
|
|
- cookieAuth: []
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/FAQItem'
|
|
description: ''
|
|
/api/v1/settings/faq-general/:
|
|
get:
|
|
operationId: v1_settings_faq_general_retrieve
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/FAQItem'
|
|
description: ''
|
|
put:
|
|
operationId: v1_settings_faq_general_update
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/FAQItemRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/FAQItemRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/FAQItemRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/FAQItem'
|
|
description: ''
|
|
/api/v1/settings/support/:
|
|
get:
|
|
operationId: v1_settings_support_retrieve
|
|
tags:
|
|
- v1
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Support'
|
|
description: ''
|
|
put:
|
|
operationId: v1_settings_support_update
|
|
tags:
|
|
- v1
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupportRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/SupportRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/SupportRequest'
|
|
security:
|
|
- tokenAuth: []
|
|
- jwtAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Support'
|
|
description: ''
|
|
/api/v1/version/:
|
|
get:
|
|
operationId: v1_version_retrieve
|
|
description: Returns latest active mobile/web application version details
|
|
summary: Get active application version
|
|
tags:
|
|
- v1
|
|
security:
|
|
- jwtAuth: []
|
|
- tokenAuth: []
|
|
- cookieAuth: []
|
|
- jwtAuth: []
|
|
- {}
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AppVersion'
|
|
description: ''
|
|
'404':
|
|
description: No active version found
|
|
components:
|
|
schemas:
|
|
AboutUs:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: string
|
|
default: ''
|
|
AboutUsDobodi:
|
|
type: object
|
|
properties:
|
|
arabic_text:
|
|
type: string
|
|
default: ''
|
|
translated_text:
|
|
type: string
|
|
default: ''
|
|
title:
|
|
type: string
|
|
default: ''
|
|
content:
|
|
type: string
|
|
default: ''
|
|
AboutUsDobodiRequest:
|
|
type: object
|
|
properties:
|
|
arabic_text:
|
|
type: string
|
|
default: ''
|
|
translated_text:
|
|
type: string
|
|
default: ''
|
|
title:
|
|
type: string
|
|
default: ''
|
|
content:
|
|
type: string
|
|
default: ''
|
|
AboutUsRequest:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: string
|
|
default: ''
|
|
AdminNotification:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: true
|
|
title:
|
|
type: string
|
|
maxLength: 255
|
|
message:
|
|
type: string
|
|
maxLength: 1024
|
|
is_read:
|
|
type: boolean
|
|
notification_type:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 50
|
|
action:
|
|
type: string
|
|
maxLength: 50
|
|
navigate_to:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
user_fullname:
|
|
type: string
|
|
readOnly: true
|
|
user_email:
|
|
type: string
|
|
readOnly: true
|
|
user_id:
|
|
type: integer
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- id
|
|
- message
|
|
- title
|
|
- updated_at
|
|
- user_email
|
|
- user_fullname
|
|
- user_id
|
|
AdminNotificationRequest:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 255
|
|
message:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 1024
|
|
is_read:
|
|
type: boolean
|
|
notification_type:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 50
|
|
action:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 50
|
|
navigate_to:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
required:
|
|
- message
|
|
- title
|
|
AdminUser:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: true
|
|
fullname:
|
|
type: string
|
|
nullable: true
|
|
title: Full Name
|
|
description: Full name of the user.
|
|
maxLength: 255
|
|
email:
|
|
type: string
|
|
format: email
|
|
phone_number:
|
|
type: string
|
|
nullable: true
|
|
description: e.g., +1 555 1234567
|
|
maxLength: 128
|
|
avatar:
|
|
type: string
|
|
nullable: true
|
|
gender:
|
|
nullable: true
|
|
oneOf:
|
|
- $ref: '#/components/schemas/GenderEnum'
|
|
- $ref: '#/components/schemas/BlankEnum'
|
|
- $ref: '#/components/schemas/NullEnum'
|
|
birthdate:
|
|
type: string
|
|
format: date
|
|
nullable: true
|
|
info:
|
|
type: string
|
|
nullable: true
|
|
title: Bio / Info
|
|
skill:
|
|
type: string
|
|
nullable: true
|
|
title: Skill / Role
|
|
maxLength: 512
|
|
city:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
country:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
device_id:
|
|
type: string
|
|
readOnly: true
|
|
device_os:
|
|
type: string
|
|
readOnly: true
|
|
user_agent:
|
|
type: string
|
|
readOnly: true
|
|
client_ip:
|
|
type: string
|
|
readOnly: true
|
|
fcm:
|
|
type: string
|
|
nullable: true
|
|
title: FCM Token
|
|
maxLength: 512
|
|
user_type:
|
|
$ref: '#/components/schemas/UserTypeEnum'
|
|
is_active:
|
|
type: boolean
|
|
title: Active
|
|
description: Designates whether this user should be treated as active.
|
|
is_staff:
|
|
type: boolean
|
|
is_superuser:
|
|
type: boolean
|
|
title: Superuser status
|
|
description: Designates that this user has all permissions without explicitly
|
|
assigning them.
|
|
date_joined:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_login:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
nullable: true
|
|
auth_token:
|
|
type: string
|
|
readOnly: true
|
|
plain_password:
|
|
type: string
|
|
readOnly: true
|
|
required:
|
|
- auth_token
|
|
- client_ip
|
|
- date_joined
|
|
- device_id
|
|
- device_os
|
|
- email
|
|
- id
|
|
- last_login
|
|
- plain_password
|
|
- user_agent
|
|
AdminUserRequest:
|
|
type: object
|
|
properties:
|
|
fullname:
|
|
type: string
|
|
nullable: true
|
|
title: Full Name
|
|
description: Full name of the user.
|
|
maxLength: 255
|
|
email:
|
|
type: string
|
|
format: email
|
|
minLength: 1
|
|
phone_number:
|
|
type: string
|
|
nullable: true
|
|
description: e.g., +1 555 1234567
|
|
maxLength: 128
|
|
password:
|
|
type: string
|
|
writeOnly: true
|
|
minLength: 1
|
|
avatar:
|
|
type: string
|
|
nullable: true
|
|
minLength: 1
|
|
gender:
|
|
nullable: true
|
|
oneOf:
|
|
- $ref: '#/components/schemas/GenderEnum'
|
|
- $ref: '#/components/schemas/BlankEnum'
|
|
- $ref: '#/components/schemas/NullEnum'
|
|
birthdate:
|
|
type: string
|
|
format: date
|
|
nullable: true
|
|
info:
|
|
type: string
|
|
nullable: true
|
|
title: Bio / Info
|
|
skill:
|
|
type: string
|
|
nullable: true
|
|
title: Skill / Role
|
|
maxLength: 512
|
|
city:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
country:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
fcm:
|
|
type: string
|
|
nullable: true
|
|
title: FCM Token
|
|
maxLength: 512
|
|
user_type:
|
|
$ref: '#/components/schemas/UserTypeEnum'
|
|
is_active:
|
|
type: boolean
|
|
title: Active
|
|
description: Designates whether this user should be treated as active.
|
|
is_staff:
|
|
type: boolean
|
|
is_superuser:
|
|
type: boolean
|
|
title: Superuser status
|
|
description: Designates that this user has all permissions without explicitly
|
|
assigning them.
|
|
required:
|
|
- email
|
|
AppTypeEnum:
|
|
enum:
|
|
- google_play
|
|
- app_store
|
|
- direct
|
|
type: string
|
|
description: |-
|
|
* `google_play` - Google Play
|
|
* `app_store` - Apple App Store
|
|
* `direct` - Direct Download
|
|
AppVersion:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: true
|
|
version:
|
|
type: string
|
|
description: Application version in format X.Y.Z (e.g., 1.0.0)
|
|
pattern: ^\d+\.\d+\.\d+$
|
|
maxLength: 20
|
|
apk_file:
|
|
type: string
|
|
format: uri
|
|
nullable: true
|
|
readOnly: true
|
|
description:
|
|
type: string
|
|
description: Release notes and changes for this version
|
|
app_type:
|
|
allOf:
|
|
- $ref: '#/components/schemas/AppTypeEnum'
|
|
title: App Distribution Platform
|
|
downloads_count:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: 0
|
|
format: int64
|
|
is_active:
|
|
type: boolean
|
|
title: Active
|
|
description: Is this version currently active?
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- apk_file
|
|
- created_at
|
|
- id
|
|
- updated_at
|
|
- version
|
|
BlankEnum:
|
|
enum:
|
|
- ''
|
|
Card:
|
|
type: object
|
|
properties:
|
|
card_number:
|
|
type: string
|
|
default: ''
|
|
card_name:
|
|
type: string
|
|
default: ''
|
|
whatsapp_number:
|
|
type: string
|
|
default: ''
|
|
CardRequest:
|
|
type: object
|
|
properties:
|
|
card_number:
|
|
type: string
|
|
default: ''
|
|
card_name:
|
|
type: string
|
|
default: ''
|
|
whatsapp_number:
|
|
type: string
|
|
default: ''
|
|
DeviceOsEnum:
|
|
enum:
|
|
- android
|
|
- apple
|
|
- web
|
|
type: string
|
|
description: |-
|
|
* `android` - Android
|
|
* `apple` - Apple iOS
|
|
* `web` - Web
|
|
ExchangeToken:
|
|
type: object
|
|
properties:
|
|
temp_token:
|
|
type: string
|
|
maxLength: 128
|
|
required:
|
|
- temp_token
|
|
ExchangeTokenRequest:
|
|
type: object
|
|
properties:
|
|
temp_token:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 128
|
|
required:
|
|
- temp_token
|
|
FAQItem:
|
|
type: object
|
|
properties:
|
|
question:
|
|
type: string
|
|
default: ''
|
|
answer:
|
|
type: string
|
|
default: ''
|
|
FAQItemRequest:
|
|
type: object
|
|
properties:
|
|
question:
|
|
type: string
|
|
default: ''
|
|
answer:
|
|
type: string
|
|
default: ''
|
|
GenderEnum:
|
|
enum:
|
|
- male
|
|
- female
|
|
- other
|
|
type: string
|
|
description: |-
|
|
* `male` - Male
|
|
* `female` - Female
|
|
* `other` - Other
|
|
HealthCheckResponse:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
default: healthy
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
version:
|
|
type: string
|
|
default: 1.0.0
|
|
required:
|
|
- timestamp
|
|
LocationHistory:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: true
|
|
lat:
|
|
type: number
|
|
format: double
|
|
nullable: true
|
|
title: Latitude
|
|
lon:
|
|
type: number
|
|
format: double
|
|
nullable: true
|
|
title: Longitude
|
|
country:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
city:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
selected_manually:
|
|
type: boolean
|
|
ip:
|
|
type: string
|
|
nullable: true
|
|
title: IP Address
|
|
maxLength: 255
|
|
timezone:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 60
|
|
required:
|
|
- id
|
|
LocationHistoryRequest:
|
|
type: object
|
|
properties:
|
|
lat:
|
|
type: number
|
|
format: double
|
|
nullable: true
|
|
title: Latitude
|
|
lon:
|
|
type: number
|
|
format: double
|
|
nullable: true
|
|
title: Longitude
|
|
country:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
city:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
selected_manually:
|
|
type: boolean
|
|
ip:
|
|
type: string
|
|
nullable: true
|
|
title: IP Address
|
|
maxLength: 255
|
|
timezone:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 60
|
|
Notification:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: true
|
|
title:
|
|
type: string
|
|
maxLength: 255
|
|
message:
|
|
type: string
|
|
maxLength: 1024
|
|
is_read:
|
|
type: boolean
|
|
notification_type:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 50
|
|
action:
|
|
type: string
|
|
maxLength: 50
|
|
navigate_to:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- id
|
|
- message
|
|
- title
|
|
- updated_at
|
|
NotificationTemplate:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: true
|
|
notification_type:
|
|
type: string
|
|
maxLength: 50
|
|
name:
|
|
type: string
|
|
maxLength: 100
|
|
is_active:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
maxLength: 255
|
|
body:
|
|
type: string
|
|
maxLength: 1024
|
|
placeholders_info:
|
|
type: string
|
|
nullable: true
|
|
title: Allowed Placeholders Description
|
|
maxLength: 255
|
|
required:
|
|
- id
|
|
- name
|
|
- notification_type
|
|
NotificationTemplateRequest:
|
|
type: object
|
|
properties:
|
|
notification_type:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 50
|
|
name:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 100
|
|
is_active:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 255
|
|
body:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 1024
|
|
placeholders_info:
|
|
type: string
|
|
nullable: true
|
|
title: Allowed Placeholders Description
|
|
maxLength: 255
|
|
required:
|
|
- name
|
|
- notification_type
|
|
NullEnum:
|
|
enum:
|
|
- null
|
|
PaginatedAdminNotificationList:
|
|
type: object
|
|
required:
|
|
- count
|
|
- results
|
|
properties:
|
|
count:
|
|
type: integer
|
|
example: 123
|
|
next:
|
|
type: string
|
|
nullable: true
|
|
format: uri
|
|
example: http://api.example.org/accounts/?page=4
|
|
previous:
|
|
type: string
|
|
nullable: true
|
|
format: uri
|
|
example: http://api.example.org/accounts/?page=2
|
|
results:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AdminNotification'
|
|
PaginatedAdminUserList:
|
|
type: object
|
|
required:
|
|
- count
|
|
- results
|
|
properties:
|
|
count:
|
|
type: integer
|
|
example: 123
|
|
next:
|
|
type: string
|
|
nullable: true
|
|
format: uri
|
|
example: http://api.example.org/accounts/?page=4
|
|
previous:
|
|
type: string
|
|
nullable: true
|
|
format: uri
|
|
example: http://api.example.org/accounts/?page=2
|
|
results:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AdminUser'
|
|
PaginatedNotificationList:
|
|
type: object
|
|
required:
|
|
- count
|
|
- results
|
|
properties:
|
|
count:
|
|
type: integer
|
|
example: 123
|
|
next:
|
|
type: string
|
|
nullable: true
|
|
format: uri
|
|
example: http://api.example.org/accounts/?page=4
|
|
previous:
|
|
type: string
|
|
nullable: true
|
|
format: uri
|
|
example: http://api.example.org/accounts/?page=2
|
|
results:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Notification'
|
|
PaginatedNotificationTemplateList:
|
|
type: object
|
|
required:
|
|
- count
|
|
- results
|
|
properties:
|
|
count:
|
|
type: integer
|
|
example: 123
|
|
next:
|
|
type: string
|
|
nullable: true
|
|
format: uri
|
|
example: http://api.example.org/accounts/?page=4
|
|
previous:
|
|
type: string
|
|
nullable: true
|
|
format: uri
|
|
example: http://api.example.org/accounts/?page=2
|
|
results:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/NotificationTemplate'
|
|
PatchedAdminNotificationRequest:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 255
|
|
message:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 1024
|
|
is_read:
|
|
type: boolean
|
|
notification_type:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 50
|
|
action:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 50
|
|
navigate_to:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
PatchedAdminUserRequest:
|
|
type: object
|
|
properties:
|
|
fullname:
|
|
type: string
|
|
nullable: true
|
|
title: Full Name
|
|
description: Full name of the user.
|
|
maxLength: 255
|
|
email:
|
|
type: string
|
|
format: email
|
|
minLength: 1
|
|
phone_number:
|
|
type: string
|
|
nullable: true
|
|
description: e.g., +1 555 1234567
|
|
maxLength: 128
|
|
password:
|
|
type: string
|
|
writeOnly: true
|
|
minLength: 1
|
|
avatar:
|
|
type: string
|
|
nullable: true
|
|
minLength: 1
|
|
gender:
|
|
nullable: true
|
|
oneOf:
|
|
- $ref: '#/components/schemas/GenderEnum'
|
|
- $ref: '#/components/schemas/BlankEnum'
|
|
- $ref: '#/components/schemas/NullEnum'
|
|
birthdate:
|
|
type: string
|
|
format: date
|
|
nullable: true
|
|
info:
|
|
type: string
|
|
nullable: true
|
|
title: Bio / Info
|
|
skill:
|
|
type: string
|
|
nullable: true
|
|
title: Skill / Role
|
|
maxLength: 512
|
|
city:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
country:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
fcm:
|
|
type: string
|
|
nullable: true
|
|
title: FCM Token
|
|
maxLength: 512
|
|
user_type:
|
|
$ref: '#/components/schemas/UserTypeEnum'
|
|
is_active:
|
|
type: boolean
|
|
title: Active
|
|
description: Designates whether this user should be treated as active.
|
|
is_staff:
|
|
type: boolean
|
|
is_superuser:
|
|
type: boolean
|
|
title: Superuser status
|
|
description: Designates that this user has all permissions without explicitly
|
|
assigning them.
|
|
PatchedNotificationTemplateRequest:
|
|
type: object
|
|
properties:
|
|
notification_type:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 50
|
|
name:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 100
|
|
is_active:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 255
|
|
body:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 1024
|
|
placeholders_info:
|
|
type: string
|
|
nullable: true
|
|
title: Allowed Placeholders Description
|
|
maxLength: 255
|
|
PatchedUserProfileRequest:
|
|
type: object
|
|
properties:
|
|
fcm:
|
|
type: string
|
|
minLength: 1
|
|
description: Firebase Cloud Messaging token.
|
|
fullname:
|
|
type: string
|
|
minLength: 1
|
|
avatar:
|
|
type: string
|
|
nullable: true
|
|
minLength: 1
|
|
phone_number:
|
|
type: string
|
|
nullable: true
|
|
description: e.g., +1 555 1234567
|
|
maxLength: 128
|
|
password:
|
|
type: string
|
|
writeOnly: true
|
|
minLength: 1
|
|
city:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
country:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
birthdate:
|
|
type: string
|
|
format: date
|
|
nullable: true
|
|
gender:
|
|
allOf:
|
|
- $ref: '#/components/schemas/GenderEnum'
|
|
description: |-
|
|
Select the user's gender.
|
|
|
|
* `male` - Male
|
|
* `female` - Female
|
|
* `other` - Other
|
|
Support:
|
|
type: object
|
|
properties:
|
|
telegram_number:
|
|
type: string
|
|
default: ''
|
|
whatsapp_number:
|
|
type: string
|
|
default: ''
|
|
office_hours:
|
|
type: string
|
|
default: ''
|
|
SupportMessageCreate:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: true
|
|
sender_name:
|
|
type: string
|
|
maxLength: 255
|
|
sender_email:
|
|
type: string
|
|
format: email
|
|
maxLength: 254
|
|
subject:
|
|
type: string
|
|
maxLength: 255
|
|
sender_phone:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
message:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- id
|
|
- message
|
|
- sender_email
|
|
- sender_name
|
|
- subject
|
|
SupportMessageCreateRequest:
|
|
type: object
|
|
properties:
|
|
sender_name:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 255
|
|
sender_email:
|
|
type: string
|
|
format: email
|
|
minLength: 1
|
|
maxLength: 254
|
|
subject:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 255
|
|
sender_phone:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
message:
|
|
type: string
|
|
minLength: 1
|
|
required:
|
|
- message
|
|
- sender_email
|
|
- sender_name
|
|
- subject
|
|
SupportRequest:
|
|
type: object
|
|
properties:
|
|
telegram_number:
|
|
type: string
|
|
default: ''
|
|
whatsapp_number:
|
|
type: string
|
|
default: ''
|
|
office_hours:
|
|
type: string
|
|
default: ''
|
|
TokenObtainPair:
|
|
type: object
|
|
properties:
|
|
access:
|
|
type: string
|
|
readOnly: true
|
|
refresh:
|
|
type: string
|
|
readOnly: true
|
|
required:
|
|
- access
|
|
- refresh
|
|
TokenObtainPairRequest:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
writeOnly: true
|
|
minLength: 1
|
|
password:
|
|
type: string
|
|
writeOnly: true
|
|
minLength: 1
|
|
required:
|
|
- email
|
|
- password
|
|
TokenRefresh:
|
|
type: object
|
|
properties:
|
|
access:
|
|
type: string
|
|
readOnly: true
|
|
refresh:
|
|
type: string
|
|
required:
|
|
- access
|
|
- refresh
|
|
TokenRefreshRequest:
|
|
type: object
|
|
properties:
|
|
refresh:
|
|
type: string
|
|
minLength: 1
|
|
required:
|
|
- refresh
|
|
TokenVerifyRequest:
|
|
type: object
|
|
properties:
|
|
token:
|
|
type: string
|
|
writeOnly: true
|
|
minLength: 1
|
|
required:
|
|
- token
|
|
UserFCM:
|
|
type: object
|
|
properties:
|
|
fcm:
|
|
type: string
|
|
nullable: true
|
|
title: FCM Token
|
|
maxLength: 512
|
|
UserFCMRequest:
|
|
type: object
|
|
properties:
|
|
fcm:
|
|
type: string
|
|
nullable: true
|
|
title: FCM Token
|
|
maxLength: 512
|
|
UserGuest:
|
|
type: object
|
|
properties:
|
|
device_id:
|
|
type: string
|
|
fcm:
|
|
type: string
|
|
device_os:
|
|
$ref: '#/components/schemas/DeviceOsEnum'
|
|
lat:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
lon:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
timezone:
|
|
type: string
|
|
nullable: true
|
|
UserGuestRequest:
|
|
type: object
|
|
properties:
|
|
device_id:
|
|
type: string
|
|
minLength: 1
|
|
fcm:
|
|
type: string
|
|
minLength: 1
|
|
device_os:
|
|
$ref: '#/components/schemas/DeviceOsEnum'
|
|
lat:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
lon:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
timezone:
|
|
type: string
|
|
nullable: true
|
|
UserLogin:
|
|
type: object
|
|
properties:
|
|
token:
|
|
type: string
|
|
readOnly: true
|
|
nullable: true
|
|
fullname:
|
|
type: string
|
|
readOnly: true
|
|
nullable: true
|
|
avatar:
|
|
type: string
|
|
readOnly: true
|
|
nullable: true
|
|
password:
|
|
type: string
|
|
fcm:
|
|
type: string
|
|
device_id:
|
|
type: string
|
|
timezone:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- avatar
|
|
- fullname
|
|
- password
|
|
- token
|
|
UserLoginRequest:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
format: email
|
|
writeOnly: true
|
|
minLength: 1
|
|
password:
|
|
type: string
|
|
minLength: 1
|
|
fcm:
|
|
type: string
|
|
minLength: 1
|
|
device_id:
|
|
type: string
|
|
minLength: 1
|
|
timezone:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- email
|
|
- password
|
|
UserProfile:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: true
|
|
device_id:
|
|
type: string
|
|
readOnly: true
|
|
nullable: true
|
|
fcm:
|
|
type: string
|
|
description: Firebase Cloud Messaging token.
|
|
fullname:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
readOnly: true
|
|
nullable: true
|
|
pattern: ^[-a-zA-Z0-9_]+$
|
|
avatar:
|
|
type: string
|
|
nullable: true
|
|
email:
|
|
type: string
|
|
format: email
|
|
readOnly: true
|
|
nullable: true
|
|
title: Email Address
|
|
description: User primary email address.
|
|
phone_number:
|
|
type: string
|
|
nullable: true
|
|
description: e.g., +1 555 1234567
|
|
maxLength: 128
|
|
info:
|
|
type: string
|
|
readOnly: true
|
|
nullable: true
|
|
title: Bio / Info
|
|
skill:
|
|
type: string
|
|
readOnly: true
|
|
nullable: true
|
|
title: Skill / Role
|
|
city:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
country:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
birthdate:
|
|
type: string
|
|
format: date
|
|
nullable: true
|
|
gender:
|
|
allOf:
|
|
- $ref: '#/components/schemas/GenderEnum'
|
|
description: |-
|
|
Select the user's gender.
|
|
|
|
* `male` - Male
|
|
* `female` - Female
|
|
* `other` - Other
|
|
saved_location:
|
|
type: string
|
|
readOnly: true
|
|
required:
|
|
- device_id
|
|
- email
|
|
- id
|
|
- info
|
|
- saved_location
|
|
- skill
|
|
- slug
|
|
UserProfileRequest:
|
|
type: object
|
|
properties:
|
|
fcm:
|
|
type: string
|
|
minLength: 1
|
|
description: Firebase Cloud Messaging token.
|
|
fullname:
|
|
type: string
|
|
minLength: 1
|
|
avatar:
|
|
type: string
|
|
nullable: true
|
|
minLength: 1
|
|
phone_number:
|
|
type: string
|
|
nullable: true
|
|
description: e.g., +1 555 1234567
|
|
maxLength: 128
|
|
password:
|
|
type: string
|
|
writeOnly: true
|
|
minLength: 1
|
|
city:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
country:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 255
|
|
birthdate:
|
|
type: string
|
|
format: date
|
|
nullable: true
|
|
gender:
|
|
allOf:
|
|
- $ref: '#/components/schemas/GenderEnum'
|
|
description: |-
|
|
Select the user's gender.
|
|
|
|
* `male` - Male
|
|
* `female` - Female
|
|
* `other` - Other
|
|
UserRecoverPassword:
|
|
type: object
|
|
description: |-
|
|
Validates that an email is provided and is in a valid format
|
|
without checking for database uniqueness.
|
|
properties:
|
|
email:
|
|
type: string
|
|
format: email
|
|
required:
|
|
- email
|
|
UserRecoverPasswordRequest:
|
|
type: object
|
|
description: |-
|
|
Validates that an email is provided and is in a valid format
|
|
without checking for database uniqueness.
|
|
properties:
|
|
email:
|
|
type: string
|
|
format: email
|
|
minLength: 1
|
|
required:
|
|
- email
|
|
UserRegister:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: true
|
|
fullname:
|
|
type: string
|
|
nullable: true
|
|
title: Full Name
|
|
description: Full name of the user.
|
|
maxLength: 255
|
|
email:
|
|
type: string
|
|
format: email
|
|
fcm:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- email
|
|
- fullname
|
|
- id
|
|
UserRegisterRequest:
|
|
type: object
|
|
properties:
|
|
fullname:
|
|
type: string
|
|
nullable: true
|
|
title: Full Name
|
|
description: Full name of the user.
|
|
maxLength: 255
|
|
email:
|
|
type: string
|
|
format: email
|
|
minLength: 1
|
|
password:
|
|
type: string
|
|
writeOnly: true
|
|
minLength: 1
|
|
fcm:
|
|
type: string
|
|
nullable: true
|
|
device_id:
|
|
type: string
|
|
writeOnly: true
|
|
nullable: true
|
|
required:
|
|
- email
|
|
- fullname
|
|
UserResetPasswordRequest:
|
|
type: object
|
|
properties:
|
|
password:
|
|
type: string
|
|
writeOnly: true
|
|
minLength: 1
|
|
required:
|
|
- password
|
|
UserTypeEnum:
|
|
enum:
|
|
- client
|
|
- student
|
|
- professor
|
|
- consultant
|
|
- admin
|
|
- super_admin
|
|
- regional_admin
|
|
- institution_admin
|
|
- editor
|
|
- viewer
|
|
type: string
|
|
description: |-
|
|
* `client` - Client / User
|
|
* `student` - Student / Member
|
|
* `professor` - Professor / Scholar
|
|
* `consultant` - Consultant
|
|
* `admin` - Admin
|
|
* `super_admin` - Super Admin
|
|
* `regional_admin` - Regional Admin
|
|
* `institution_admin` - Institution Admin
|
|
* `editor` - Editor
|
|
* `viewer` - Viewer
|
|
UserVerify:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
maxLength: 6
|
|
email:
|
|
type: string
|
|
format: email
|
|
device_id:
|
|
type: string
|
|
maxLength: 255
|
|
required:
|
|
- code
|
|
- email
|
|
UserVerifyRequest:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 6
|
|
email:
|
|
type: string
|
|
format: email
|
|
minLength: 1
|
|
device_id:
|
|
type: string
|
|
minLength: 1
|
|
maxLength: 255
|
|
required:
|
|
- code
|
|
- email
|
|
WebUserRegister:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: true
|
|
fullname:
|
|
type: string
|
|
nullable: true
|
|
title: Full Name
|
|
description: Full name of the user.
|
|
maxLength: 255
|
|
email:
|
|
type: string
|
|
format: email
|
|
fcm:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- email
|
|
- fullname
|
|
- id
|
|
WebUserRegisterRequest:
|
|
type: object
|
|
properties:
|
|
fullname:
|
|
type: string
|
|
nullable: true
|
|
title: Full Name
|
|
description: Full name of the user.
|
|
maxLength: 255
|
|
email:
|
|
type: string
|
|
format: email
|
|
minLength: 1
|
|
password:
|
|
type: string
|
|
writeOnly: true
|
|
minLength: 1
|
|
fcm:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- email
|
|
- fullname
|
|
- password
|
|
securitySchemes:
|
|
cookieAuth:
|
|
type: apiKey
|
|
in: cookie
|
|
name: sessionid
|
|
jwtAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
tokenAuth:
|
|
type: apiKey
|
|
in: header
|
|
name: Authorization
|
|
description: Token-based authentication with required prefix "Token"
|