Skip to content
Draft
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
159 changes: 159 additions & 0 deletions api_services_app_backend.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ tags:
description: Retrieve resources details
- name: featured
description: Retrieve featured Lists
- name: favourites
description: Manage user favourite services
security:
- Bearer: []
paths:
Expand Down Expand Up @@ -239,6 +241,130 @@ paths:
description: Bad gateway
'504':
description: Gateway timeout
/favourites/services:
get:
tags:
- favourites
summary: Retrieve all user favourite services
description: Retrieve all user favourite services
operationId: getAllUserFavouriteServices
parameters:
- name: continuation_token
in: query
description: pagination continuation token
required: false
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FavouriteServicesResource'
'401':
description: Bearer token null or expired
'404':
description: Not found
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemJson'
'502':
description: Bad gateway
'504':
description: Gateway timeout
/favourites/services/{serviceId}:
get:
tags:
- favourites
summary: Retrieve user favourite service
description: Retrieve a user favourite service by ID
operationId: getUserFavouriteService
parameters:
- name: serviceId
in: path
description: ID of favourite service to return
required: true
schema:
type: string
responses:
'200':
description: Successful operation
'401':
description: Bearer token null or expired
'404':
description: Not found
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemJson'
'502':
description: Bad gateway
'504':
description: Gateway timeout
put:
tags:
- favourites
summary: Set user favourite service
description: Set a user favourite service by ID
operationId: setUserFavouriteService
parameters:
- name: serviceId
in: path
description: ID of favourite service to set
required: true
schema:
type: string
responses:
'204':
description: Successful operation
'401':
description: Bearer token null or expired
'404':
description: Not found
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemJson'
'502':
description: Bad gateway
'504':
description: Gateway timeout
delete:
tags:
- favourites
summary: Remove user favourite service
description: Remove a user favourite service by ID
operationId: removeUserFavouriteService
parameters:
- name: serviceId
in: path
description: ID of favourite service to remove
required: true
schema:
type: string
responses:
'204':
description: Successful operation
'401':
description: Bearer token null or expired
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemJson'
'502':
description: Bad gateway
'504':
description: Gateway timeout
components:
securitySchemes:
Bearer:
Expand Down Expand Up @@ -278,6 +404,39 @@ components:
allOf:
- $ref: '#/components/schemas/Services'
- $ref: '#/components/schemas/PaginationResultSet'
FavouriteServicesResource:
allOf:
- $ref: '#/components/schemas/FavouriteServices'
- type: object
properties:
continuation_token:
type: string
description: pagination continuation token
FavouriteServices:
type: object
properties:
favourite_services:
type: array
items:
$ref: '#/components/schemas/FavouriteService'
required:
- favourite_services
FavouriteService:
type: object
description: Favourite service data
properties:
id:
type: string
description: Service Id (ULID format)
name:
type: string
description: Service Name
institution:
$ref: '#/components/schemas/Institution'
required:
- id
- name
- institution
Services:
type: object
properties:
Expand Down
159 changes: 159 additions & 0 deletions openapi/api_services_app_backend.template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ tags:
description: Retrieve resources details
- name: featured
description: Retrieve featured Lists
- name: favourites
description: Manage user favourite services
security:
- Bearer: []
paths:
Expand Down Expand Up @@ -225,6 +227,130 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/ProblemJson"
/favourites/services:
get:
tags:
- favourites
summary: Retrieve all user favourite services
description: Retrieve all user favourite services
operationId: getAllUserFavouriteServices
parameters:
- name: continuation_token
in: query
description: pagination continuation token
required: false
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/FavouriteServicesResource'
'401':
description: Bearer token null or expired
'404':
description: Not found
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemJson'
'502':
description: Bad gateway
'504':
description: Gateway timeout
/favourites/services/{serviceId}:
get:
tags:
- favourites
summary: Retrieve user favourite service
description: Retrieve a user favourite service by ID
operationId: getUserFavouriteService
parameters:
- name: serviceId
in: path
description: ID of favourite service to return
required: true
schema:
type: string
responses:
'200':
description: Successful operation
'401':
description: Bearer token null or expired
'404':
description: Not found
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemJson'
'502':
description: Bad gateway
'504':
description: Gateway timeout
put:
tags:
- favourites
summary: Set user favourite service
description: Set a user favourite service by ID
operationId: setUserFavouriteService
parameters:
- name: serviceId
in: path
description: ID of favourite service to set
required: true
schema:
type: string
responses:
'204':
description: Successful operation
'401':
description: Bearer token null or expired
'404':
description: Not found
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemJson'
'502':
description: Bad gateway
'504':
description: Gateway timeout
delete:
tags:
- favourites
summary: Remove user favourite service
description: Remove a user favourite service by ID
operationId: removeUserFavouriteService
parameters:
- name: serviceId
in: path
description: ID of favourite service to remove
required: true
schema:
type: string
responses:
'204':
description: Successful operation
'401':
description: Bearer token null or expired
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemJson'
'502':
description: Bad gateway
'504':
description: Gateway timeout
components:
securitySchemes:
Bearer:
Expand Down Expand Up @@ -264,6 +390,39 @@ components:
allOf:
- $ref: "#/components/schemas/Services"
- $ref: "#/components/schemas/PaginationResultSet"
FavouriteServicesResource:
allOf:
- $ref: '#/components/schemas/FavouriteServices'
- type: object
properties:
continuation_token:
type: string
description: pagination continuation token
FavouriteServices:
type: object
properties:
favourite_services:
type: array
items:
$ref: '#/components/schemas/FavouriteService'
required:
- favourite_services
FavouriteService:
type: object
description: Favourite service data
properties:
id:
type: string
description: Service Id (ULID format)
name:
type: string
description: Service Name
institution:
$ref: '#/components/schemas/Institution'
required:
- id
- name
- institution
Services:
type: object
properties:
Expand Down
Loading
Loading