15469 lines
417 KiB
YAML
15469 lines
417 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: Tandoor
|
|
version: 0.0.0 (2.3.6)
|
|
x-logo:
|
|
url: /static/assets/brand_logo.svg
|
|
backgroundColor: '#FFFFFF'
|
|
altText: Tandoor logo
|
|
href: /
|
|
description: Tandoor API Docs
|
|
paths:
|
|
/api-token-auth/:
|
|
post:
|
|
operationId: apiTokenAuthCreate
|
|
tags:
|
|
- api-token-auth
|
|
requestBody:
|
|
content:
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AuthToken'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AuthToken'
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AuthToken'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AuthToken'
|
|
description: ''
|
|
/api/access-token/:
|
|
get:
|
|
operationId: apiAccessTokenList
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AccessToken'
|
|
description: ''
|
|
post:
|
|
operationId: apiAccessTokenCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccessToken'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AccessToken'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AccessToken'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccessToken'
|
|
description: ''
|
|
/api/access-token/{id}/:
|
|
get:
|
|
operationId: apiAccessTokenRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this access token.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccessToken'
|
|
description: ''
|
|
put:
|
|
operationId: apiAccessTokenUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this access token.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccessToken'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AccessToken'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AccessToken'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccessToken'
|
|
description: ''
|
|
patch:
|
|
operationId: apiAccessTokenPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this access token.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAccessToken'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAccessToken'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAccessToken'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AccessToken'
|
|
description: ''
|
|
delete:
|
|
operationId: apiAccessTokenDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this access token.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/ai-import/:
|
|
post:
|
|
operationId: apiAiImportCreate
|
|
description: given an image or PDF file convert its content to a structured
|
|
recipe using AI and the scraping system
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AiImport'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeFromSourceResponse'
|
|
description: ''
|
|
/api/ai-log/:
|
|
get:
|
|
operationId: apiAiLogList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedAiLogList'
|
|
description: ''
|
|
/api/ai-log/{id}/:
|
|
get:
|
|
operationId: apiAiLogRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ai log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AiLog'
|
|
description: ''
|
|
/api/ai-provider/:
|
|
get:
|
|
operationId: apiAiProviderList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedAiProviderList'
|
|
description: ''
|
|
post:
|
|
operationId: apiAiProviderCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AiProvider'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AiProvider'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AiProvider'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AiProvider'
|
|
description: ''
|
|
/api/ai-provider/{id}/:
|
|
get:
|
|
operationId: apiAiProviderRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ai provider.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AiProvider'
|
|
description: ''
|
|
put:
|
|
operationId: apiAiProviderUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ai provider.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AiProvider'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AiProvider'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AiProvider'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AiProvider'
|
|
description: ''
|
|
patch:
|
|
operationId: apiAiProviderPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ai provider.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAiProvider'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAiProvider'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAiProvider'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AiProvider'
|
|
description: ''
|
|
delete:
|
|
operationId: apiAiProviderDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ai provider.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/ai-provider/{id}/cascading/:
|
|
get:
|
|
operationId: apiAiProviderCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ai provider.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/ai-provider/{id}/nulling/:
|
|
get:
|
|
operationId: apiAiProviderNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ai provider.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/ai-provider/{id}/protecting/:
|
|
get:
|
|
operationId: apiAiProviderProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ai provider.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/ai-step-sort/:
|
|
post:
|
|
operationId: apiAiStepSortCreate
|
|
description: given an image or PDF file convert its content to a structured
|
|
recipe using AI and the scraping system
|
|
parameters:
|
|
- in: query
|
|
name: provider
|
|
schema:
|
|
type: integer
|
|
description: ID of the AI provider that should be used for this AI request
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
description: ''
|
|
/api/auto-plan/:
|
|
post:
|
|
operationId: apiAutoPlanCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutoMealPlan'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/AutoMealPlan'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AutoMealPlan'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AutoMealPlan'
|
|
description: ''
|
|
/api/automation/:
|
|
get:
|
|
operationId: apiAutomationList
|
|
description: logs request counts to redis cache total/per user/
|
|
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
|
|
- in: query
|
|
name: type
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- DESCRIPTION_REPLACE
|
|
- FOOD_ALIAS
|
|
- FOOD_REPLACE
|
|
- INSTRUCTION_REPLACE
|
|
- KEYWORD_ALIAS
|
|
- NAME_REPLACE
|
|
- NEVER_UNIT
|
|
- TRANSPOSE_WORDS
|
|
- UNIT_ALIAS
|
|
- UNIT_REPLACE
|
|
description: Return the Automations matching the automation type. Repeat
|
|
for multiple.
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedAutomationList'
|
|
description: ''
|
|
post:
|
|
operationId: apiAutomationCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Automation'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Automation'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Automation'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Automation'
|
|
description: ''
|
|
/api/automation/{id}/:
|
|
get:
|
|
operationId: apiAutomationRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this automation.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Automation'
|
|
description: ''
|
|
put:
|
|
operationId: apiAutomationUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this automation.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Automation'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Automation'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Automation'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Automation'
|
|
description: ''
|
|
patch:
|
|
operationId: apiAutomationPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this automation.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAutomation'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAutomation'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedAutomation'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Automation'
|
|
description: ''
|
|
delete:
|
|
operationId: apiAutomationDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this automation.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/bookmarklet-import/:
|
|
get:
|
|
operationId: apiBookmarkletImportList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedBookmarkletImportListList'
|
|
description: ''
|
|
post:
|
|
operationId: apiBookmarkletImportCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BookmarkletImport'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/BookmarkletImport'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/BookmarkletImport'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BookmarkletImport'
|
|
description: ''
|
|
/api/bookmarklet-import/{id}/:
|
|
get:
|
|
operationId: apiBookmarkletImportRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this bookmarklet import.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BookmarkletImport'
|
|
description: ''
|
|
put:
|
|
operationId: apiBookmarkletImportUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this bookmarklet import.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BookmarkletImport'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/BookmarkletImport'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/BookmarkletImport'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BookmarkletImport'
|
|
description: ''
|
|
patch:
|
|
operationId: apiBookmarkletImportPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this bookmarklet import.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedBookmarkletImport'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedBookmarkletImport'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedBookmarkletImport'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BookmarkletImport'
|
|
description: ''
|
|
delete:
|
|
operationId: apiBookmarkletImportDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this bookmarklet import.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/connector-config/:
|
|
get:
|
|
operationId: apiConnectorConfigList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedConnectorConfigList'
|
|
description: ''
|
|
post:
|
|
operationId: apiConnectorConfigCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConnectorConfig'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ConnectorConfig'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ConnectorConfig'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConnectorConfig'
|
|
description: ''
|
|
/api/connector-config/{id}/:
|
|
get:
|
|
operationId: apiConnectorConfigRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this connector config.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConnectorConfig'
|
|
description: ''
|
|
put:
|
|
operationId: apiConnectorConfigUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this connector config.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConnectorConfig'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ConnectorConfig'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ConnectorConfig'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConnectorConfig'
|
|
description: ''
|
|
patch:
|
|
operationId: apiConnectorConfigPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this connector config.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedConnectorConfig'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedConnectorConfig'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedConnectorConfig'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConnectorConfig'
|
|
description: ''
|
|
delete:
|
|
operationId: apiConnectorConfigDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this connector config.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/connector-config/{id}/cascading/:
|
|
get:
|
|
operationId: apiConnectorConfigCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this connector config.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/connector-config/{id}/nulling/:
|
|
get:
|
|
operationId: apiConnectorConfigNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this connector config.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/connector-config/{id}/protecting/:
|
|
get:
|
|
operationId: apiConnectorConfigProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this connector config.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/cook-log/:
|
|
get:
|
|
operationId: apiCookLogList
|
|
description: logs request counts to redis cache total/per user/
|
|
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
|
|
- in: query
|
|
name: recipe
|
|
schema:
|
|
type: integer
|
|
description: Filter for entries with the given recipe
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedCookLogList'
|
|
description: ''
|
|
post:
|
|
operationId: apiCookLogCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CookLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/CookLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/CookLog'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CookLog'
|
|
description: ''
|
|
/api/cook-log/{id}/:
|
|
get:
|
|
operationId: apiCookLogRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this cook log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CookLog'
|
|
description: ''
|
|
put:
|
|
operationId: apiCookLogUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this cook log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CookLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/CookLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/CookLog'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CookLog'
|
|
description: ''
|
|
patch:
|
|
operationId: apiCookLogPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this cook log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedCookLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedCookLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedCookLog'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CookLog'
|
|
description: ''
|
|
delete:
|
|
operationId: apiCookLogDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this cook log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/custom-filter/:
|
|
get:
|
|
operationId: apiCustomFilterList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: limit
|
|
schema:
|
|
type: string
|
|
description: limit number of entries to return
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: lookup if query string is contained within the name, case insensitive
|
|
- in: query
|
|
name: random
|
|
schema:
|
|
type: string
|
|
description: randomly orders entries (only works together with limit)
|
|
- in: query
|
|
name: type
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- FOOD
|
|
- KEYWORD
|
|
- RECIPE
|
|
description: Return the CustomFilters matching the model type. Repeat for
|
|
multiple.
|
|
- in: query
|
|
name: updated_at
|
|
schema:
|
|
type: string
|
|
description: if model has an updated_at timestamp, filter only models updated
|
|
at or after datetime
|
|
examples:
|
|
DateFormat:
|
|
value: '1972-12-05'
|
|
summary: Date Format
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedCustomFilterList'
|
|
description: ''
|
|
post:
|
|
operationId: apiCustomFilterCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CustomFilter'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/CustomFilter'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/CustomFilter'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CustomFilter'
|
|
description: ''
|
|
/api/custom-filter/{id}/:
|
|
get:
|
|
operationId: apiCustomFilterRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this custom filter.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CustomFilter'
|
|
description: ''
|
|
put:
|
|
operationId: apiCustomFilterUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this custom filter.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CustomFilter'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/CustomFilter'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/CustomFilter'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CustomFilter'
|
|
description: ''
|
|
patch:
|
|
operationId: apiCustomFilterPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this custom filter.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedCustomFilter'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedCustomFilter'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedCustomFilter'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CustomFilter'
|
|
description: ''
|
|
delete:
|
|
operationId: apiCustomFilterDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this custom filter.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/download-file/{fileId}/:
|
|
get:
|
|
operationId: apiDownloadFileRetrieve
|
|
description: |-
|
|
function to download a user file securely (wrapping as zip to prevent any context based XSS problems)
|
|
temporary solution until a real file manager is implemented
|
|
parameters:
|
|
- in: path
|
|
name: fileId
|
|
schema:
|
|
type: integer
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
description: No response body
|
|
/api/export/:
|
|
post:
|
|
operationId: apiExportCreate
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportRequest'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportRequest'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportRequest'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportLog'
|
|
description: ''
|
|
/api/export-log/:
|
|
get:
|
|
operationId: apiExportLogList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedExportLogList'
|
|
description: ''
|
|
post:
|
|
operationId: apiExportLogCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportLog'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportLog'
|
|
description: ''
|
|
/api/export-log/{id}/:
|
|
get:
|
|
operationId: apiExportLogRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this export log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportLog'
|
|
description: ''
|
|
put:
|
|
operationId: apiExportLogUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this export log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportLog'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportLog'
|
|
description: ''
|
|
patch:
|
|
operationId: apiExportLogPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this export log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedExportLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedExportLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedExportLog'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExportLog'
|
|
description: ''
|
|
delete:
|
|
operationId: apiExportLogDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this export log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/fdc-search/:
|
|
get:
|
|
operationId: apiFdcSearchRetrieve
|
|
parameters:
|
|
- in: query
|
|
name: dataType
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: 'options: Branded,Foundation,Survey (FNDDS),SR Legacy'
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/FdcQuery'
|
|
description: ''
|
|
/api/food/:
|
|
get:
|
|
operationId: apiFoodList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: limit
|
|
schema:
|
|
type: string
|
|
description: limit number of entries to return
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: lookup if query string is contained within the name, case insensitive
|
|
- in: query
|
|
name: random
|
|
schema:
|
|
type: string
|
|
description: randomly orders entries (only works together with limit)
|
|
- in: query
|
|
name: root
|
|
schema:
|
|
type: integer
|
|
description: Return first level children of {obj} with ID [int]. Integer
|
|
0 will return root {obj}s.
|
|
- in: query
|
|
name: root_tree
|
|
schema:
|
|
type: integer
|
|
description: Return all items belonging to the tree of the given {obj} id
|
|
- in: query
|
|
name: tree
|
|
schema:
|
|
type: integer
|
|
description: Return all self and children of {obj} with ID [int].
|
|
- in: query
|
|
name: updated_at
|
|
schema:
|
|
type: string
|
|
description: if model has an updated_at timestamp, filter only models updated
|
|
at or after datetime
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedFoodList'
|
|
description: ''
|
|
post:
|
|
operationId: apiFoodCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
description: ''
|
|
/api/food-inherit-field/:
|
|
get:
|
|
operationId: apiFoodInheritFieldList
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/FoodInheritField'
|
|
description: ''
|
|
/api/food-inherit-field/{id}/:
|
|
get:
|
|
operationId: apiFoodInheritFieldRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food inherit field.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/FoodInheritField'
|
|
description: ''
|
|
/api/food/{id}/:
|
|
get:
|
|
operationId: apiFoodRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
description: ''
|
|
put:
|
|
operationId: apiFoodUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
description: ''
|
|
patch:
|
|
operationId: apiFoodPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedFood'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedFood'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedFood'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
description: ''
|
|
delete:
|
|
operationId: apiFoodDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/food/{id}/aiproperties/:
|
|
post:
|
|
operationId: apiFoodAipropertiesCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
- in: query
|
|
name: provider
|
|
schema:
|
|
type: integer
|
|
description: ID of the AI provider that should be used for this AI request
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
description: ''
|
|
/api/food/{id}/cascading/:
|
|
get:
|
|
operationId: apiFoodCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/food/{id}/fdc/:
|
|
post:
|
|
operationId: apiFoodFdcCreate
|
|
description: |-
|
|
updates the food with all possible data from the FDC Api
|
|
if properties with a fdc_id already exist they will be overridden, if existing properties don't have a fdc_id they won't be changed
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
description: ''
|
|
/api/food/{id}/merge/{target}/:
|
|
put:
|
|
operationId: apiFoodMergeUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
- in: path
|
|
name: target
|
|
schema:
|
|
type: integer
|
|
description: The ID of the {obj} you want to merge with.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
description: ''
|
|
/api/food/{id}/move/{parent}/:
|
|
put:
|
|
operationId: apiFoodMoveUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
- in: path
|
|
name: parent
|
|
schema:
|
|
type: integer
|
|
description: The ID of the desired parent of the {obj}.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Food'
|
|
description: ''
|
|
/api/food/{id}/nulling/:
|
|
get:
|
|
operationId: apiFoodNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/food/{id}/protecting/:
|
|
get:
|
|
operationId: apiFoodProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/food/{id}/shopping/:
|
|
put:
|
|
operationId: apiFoodShoppingUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this food.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/FoodShoppingUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/FoodShoppingUpdate'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/FoodShoppingUpdate'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/FoodShoppingUpdate'
|
|
description: ''
|
|
/api/food/batch_update/:
|
|
put:
|
|
operationId: apiFoodBatchUpdateUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/FoodBatchUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/FoodBatchUpdate'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/FoodBatchUpdate'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/FoodBatchUpdate'
|
|
description: ''
|
|
/api/get_external_file_link/{id}/:
|
|
get:
|
|
operationId: apiGetExternalFileLinkRetrieve
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
description: No response body
|
|
/api/get_recipe_file/{id}/:
|
|
get:
|
|
operationId: apiGetRecipeFileRetrieve
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
description: No response body
|
|
/api/group/:
|
|
get:
|
|
operationId: apiGroupList
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Group'
|
|
description: ''
|
|
/api/group/{id}/:
|
|
get:
|
|
operationId: apiGroupRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this gruppo.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Group'
|
|
description: ''
|
|
/api/import/:
|
|
post:
|
|
operationId: apiImportCreate
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/AiImport'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeFromSourceResponse'
|
|
description: ''
|
|
/api/import-log/:
|
|
get:
|
|
operationId: apiImportLogList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedImportLogList'
|
|
description: ''
|
|
post:
|
|
operationId: apiImportLogCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportLog'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportLog'
|
|
description: ''
|
|
/api/import-log/{id}/:
|
|
get:
|
|
operationId: apiImportLogRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this import log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportLog'
|
|
description: ''
|
|
put:
|
|
operationId: apiImportLogUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this import log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportLog'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportLog'
|
|
description: ''
|
|
patch:
|
|
operationId: apiImportLogPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this import log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedImportLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedImportLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedImportLog'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportLog'
|
|
description: ''
|
|
delete:
|
|
operationId: apiImportLogDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this import log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/import-open-data/:
|
|
get:
|
|
operationId: apiImportOpenDataRetrieve
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportOpenDataMetaData'
|
|
description: ''
|
|
post:
|
|
operationId: apiImportOpenDataCreate
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportOpenData'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportOpenData'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportOpenData'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ImportOpenDataResponse'
|
|
description: ''
|
|
/api/ingredient/:
|
|
get:
|
|
operationId: apiIngredientList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: food
|
|
schema:
|
|
type: integer
|
|
description: ID of food to filter for
|
|
- 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
|
|
- in: query
|
|
name: unit
|
|
schema:
|
|
type: integer
|
|
description: ID of unit to filter for
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedIngredientList'
|
|
description: ''
|
|
post:
|
|
operationId: apiIngredientCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
description: ''
|
|
/api/ingredient-from-string/:
|
|
post:
|
|
operationId: apiIngredientFromStringCreate
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/IngredientString'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/IngredientString'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/IngredientString'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ParsedIngredient'
|
|
description: ''
|
|
/api/ingredient/{id}/:
|
|
get:
|
|
operationId: apiIngredientRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ingredient.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
description: ''
|
|
put:
|
|
operationId: apiIngredientUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ingredient.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
description: ''
|
|
patch:
|
|
operationId: apiIngredientPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ingredient.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedIngredient'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedIngredient'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedIngredient'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
description: ''
|
|
delete:
|
|
operationId: apiIngredientDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this ingredient.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/invite-link/:
|
|
get:
|
|
operationId: apiInviteLinkList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: internal_note
|
|
schema:
|
|
type: string
|
|
description: Text field to store data that gets carried over to the UserSpace
|
|
created from the InviteLink
|
|
- in: query
|
|
name: limit
|
|
schema:
|
|
type: string
|
|
description: limit number of entries to return
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: lookup if query string is contained within the name, case insensitive
|
|
- in: query
|
|
name: random
|
|
schema:
|
|
type: string
|
|
description: randomly orders entries (only works together with limit)
|
|
- in: query
|
|
name: unused
|
|
schema:
|
|
type: boolean
|
|
description: Only return InviteLinks that have not been used yet.
|
|
- in: query
|
|
name: updated_at
|
|
schema:
|
|
type: string
|
|
description: if model has an updated_at timestamp, filter only models updated
|
|
at or after datetime
|
|
examples:
|
|
DateFormat:
|
|
value: '1972-12-05'
|
|
summary: Date Format
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedInviteLinkList'
|
|
description: ''
|
|
post:
|
|
operationId: apiInviteLinkCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InviteLink'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/InviteLink'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/InviteLink'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InviteLink'
|
|
description: ''
|
|
/api/invite-link/{id}/:
|
|
get:
|
|
operationId: apiInviteLinkRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this invite link.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InviteLink'
|
|
description: ''
|
|
put:
|
|
operationId: apiInviteLinkUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this invite link.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InviteLink'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/InviteLink'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/InviteLink'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InviteLink'
|
|
description: ''
|
|
patch:
|
|
operationId: apiInviteLinkPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this invite link.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedInviteLink'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedInviteLink'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedInviteLink'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InviteLink'
|
|
description: ''
|
|
delete:
|
|
operationId: apiInviteLinkDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this invite link.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/keyword/:
|
|
get:
|
|
operationId: apiKeywordList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: limit
|
|
schema:
|
|
type: string
|
|
description: limit number of entries to return
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: lookup if query string is contained within the name, case insensitive
|
|
- in: query
|
|
name: random
|
|
schema:
|
|
type: string
|
|
description: randomly orders entries (only works together with limit)
|
|
- in: query
|
|
name: root
|
|
schema:
|
|
type: integer
|
|
description: Return first level children of {obj} with ID [int]. Integer
|
|
0 will return root {obj}s.
|
|
- in: query
|
|
name: root_tree
|
|
schema:
|
|
type: integer
|
|
description: Return all items belonging to the tree of the given {obj} id
|
|
- in: query
|
|
name: tree
|
|
schema:
|
|
type: integer
|
|
description: Return all self and children of {obj} with ID [int].
|
|
- in: query
|
|
name: updated_at
|
|
schema:
|
|
type: string
|
|
description: if model has an updated_at timestamp, filter only models updated
|
|
at or after datetime
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedKeywordList'
|
|
description: ''
|
|
post:
|
|
operationId: apiKeywordCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
description: ''
|
|
/api/keyword/{id}/:
|
|
get:
|
|
operationId: apiKeywordRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this keyword.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
description: ''
|
|
put:
|
|
operationId: apiKeywordUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this keyword.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
description: ''
|
|
patch:
|
|
operationId: apiKeywordPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this keyword.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedKeyword'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedKeyword'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedKeyword'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
description: ''
|
|
delete:
|
|
operationId: apiKeywordDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this keyword.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/keyword/{id}/cascading/:
|
|
get:
|
|
operationId: apiKeywordCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this keyword.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/keyword/{id}/merge/{target}/:
|
|
put:
|
|
operationId: apiKeywordMergeUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this keyword.
|
|
required: true
|
|
- in: path
|
|
name: target
|
|
schema:
|
|
type: integer
|
|
description: The ID of the {obj} you want to merge with.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
description: ''
|
|
/api/keyword/{id}/move/{parent}/:
|
|
put:
|
|
operationId: apiKeywordMoveUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this keyword.
|
|
required: true
|
|
- in: path
|
|
name: parent
|
|
schema:
|
|
type: integer
|
|
description: The ID of the desired parent of the {obj}.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Keyword'
|
|
description: ''
|
|
/api/keyword/{id}/nulling/:
|
|
get:
|
|
operationId: apiKeywordNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this keyword.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/keyword/{id}/protecting/:
|
|
get:
|
|
operationId: apiKeywordProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this keyword.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/localization/:
|
|
get:
|
|
operationId: apiLocalizationList
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Localization'
|
|
description: ''
|
|
/api/meal-plan/:
|
|
get:
|
|
operationId: apiMealPlanList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: from_date
|
|
schema:
|
|
type: string
|
|
description: Filter meal plans from date (inclusive).
|
|
examples:
|
|
DateFormat:
|
|
value: '1972-12-05'
|
|
summary: Date Format
|
|
- in: query
|
|
name: meal_type
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: Filter meal plans with MealType ID. For multiple repeat parameter.
|
|
- 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
|
|
- in: query
|
|
name: to_date
|
|
schema:
|
|
type: string
|
|
description: Filter meal plans to date (inclusive).
|
|
examples:
|
|
DateFormat:
|
|
value: '1972-12-05'
|
|
summary: Date Format
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedMealPlanList'
|
|
description: ''
|
|
post:
|
|
operationId: apiMealPlanCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealPlan'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/MealPlan'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/MealPlan'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealPlan'
|
|
description: ''
|
|
/api/meal-plan/{id}/:
|
|
get:
|
|
operationId: apiMealPlanRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this meal plan.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealPlan'
|
|
description: ''
|
|
put:
|
|
operationId: apiMealPlanUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this meal plan.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealPlan'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/MealPlan'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/MealPlan'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealPlan'
|
|
description: ''
|
|
patch:
|
|
operationId: apiMealPlanPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this meal plan.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedMealPlan'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedMealPlan'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedMealPlan'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealPlan'
|
|
description: ''
|
|
delete:
|
|
operationId: apiMealPlanDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this meal plan.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/meal-plan/ical/:
|
|
get:
|
|
operationId: apiMealPlanIcalRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: from_date
|
|
schema:
|
|
type: string
|
|
description: Filter meal plans from date (inclusive).
|
|
examples:
|
|
DateFormat:
|
|
value: '1972-12-05'
|
|
summary: Date Format
|
|
- in: query
|
|
name: meal_type
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: Filter meal plans with MealType ID. For multiple repeat parameter.
|
|
- in: query
|
|
name: to_date
|
|
schema:
|
|
type: string
|
|
description: Filter meal plans to date (inclusive).
|
|
examples:
|
|
DateFormat:
|
|
value: '1972-12-05'
|
|
summary: Date Format
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
text/calendar:
|
|
schema:
|
|
type: string
|
|
description: ''
|
|
/api/meal-type/:
|
|
get:
|
|
operationId: apiMealTypeList
|
|
description: |-
|
|
returns list of meal types created by the
|
|
requesting user ordered by the order field.
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedMealTypeList'
|
|
description: ''
|
|
post:
|
|
operationId: apiMealTypeCreate
|
|
description: |-
|
|
returns list of meal types created by the
|
|
requesting user ordered by the order field.
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealType'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/MealType'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/MealType'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealType'
|
|
description: ''
|
|
/api/meal-type/{id}/:
|
|
get:
|
|
operationId: apiMealTypeRetrieve
|
|
description: |-
|
|
returns list of meal types created by the
|
|
requesting user ordered by the order field.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this meal type.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealType'
|
|
description: ''
|
|
put:
|
|
operationId: apiMealTypeUpdate
|
|
description: |-
|
|
returns list of meal types created by the
|
|
requesting user ordered by the order field.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this meal type.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealType'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/MealType'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/MealType'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealType'
|
|
description: ''
|
|
patch:
|
|
operationId: apiMealTypePartialUpdate
|
|
description: |-
|
|
returns list of meal types created by the
|
|
requesting user ordered by the order field.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this meal type.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedMealType'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedMealType'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedMealType'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MealType'
|
|
description: ''
|
|
delete:
|
|
operationId: apiMealTypeDestroy
|
|
description: |-
|
|
returns list of meal types created by the
|
|
requesting user ordered by the order field.
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this meal type.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/meal-type/{id}/cascading/:
|
|
get:
|
|
operationId: apiMealTypeCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this meal type.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/meal-type/{id}/nulling/:
|
|
get:
|
|
operationId: apiMealTypeNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this meal type.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/meal-type/{id}/protecting/:
|
|
get:
|
|
operationId: apiMealTypeProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this meal type.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/property/:
|
|
get:
|
|
operationId: apiPropertyList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedPropertyList'
|
|
description: ''
|
|
post:
|
|
operationId: apiPropertyCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Property'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Property'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Property'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Property'
|
|
description: ''
|
|
/api/property-type/:
|
|
get:
|
|
operationId: apiPropertyTypeList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: category
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- ALLERGEN
|
|
- GOAL
|
|
- NUTRITION
|
|
- OTHER
|
|
- PRICE
|
|
description: Return the PropertyTypes matching the property category. Repeat
|
|
for multiple.
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedPropertyTypeList'
|
|
description: ''
|
|
post:
|
|
operationId: apiPropertyTypeCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
description: ''
|
|
/api/property-type/{id}/:
|
|
get:
|
|
operationId: apiPropertyTypeRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this property type.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
description: ''
|
|
put:
|
|
operationId: apiPropertyTypeUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this property type.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
description: ''
|
|
patch:
|
|
operationId: apiPropertyTypePartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this property type.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedPropertyType'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedPropertyType'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedPropertyType'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
description: ''
|
|
delete:
|
|
operationId: apiPropertyTypeDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this property type.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/property-type/{id}/cascading/:
|
|
get:
|
|
operationId: apiPropertyTypeCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this property type.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/property-type/{id}/nulling/:
|
|
get:
|
|
operationId: apiPropertyTypeNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this property type.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/property-type/{id}/protecting/:
|
|
get:
|
|
operationId: apiPropertyTypeProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this property type.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/property/{id}/:
|
|
get:
|
|
operationId: apiPropertyRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this property.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Property'
|
|
description: ''
|
|
put:
|
|
operationId: apiPropertyUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this property.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Property'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Property'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Property'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Property'
|
|
description: ''
|
|
patch:
|
|
operationId: apiPropertyPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this property.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedProperty'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedProperty'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedProperty'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Property'
|
|
description: ''
|
|
delete:
|
|
operationId: apiPropertyDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this property.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/recipe/:
|
|
get:
|
|
operationId: apiRecipeList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: books
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: ID of book a recipe should be in. For multiple repeat parameter.
|
|
- in: query
|
|
name: books_and
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Book IDs, repeat for multiple. Return recipes with all of the
|
|
books.
|
|
- in: query
|
|
name: books_and_not
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Book IDs, repeat for multiple. Exclude recipes with all of the
|
|
books.
|
|
- in: query
|
|
name: books_or
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Book IDs, repeat for multiple. Return recipes with any of the
|
|
books
|
|
- in: query
|
|
name: books_or_not
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Book IDs, repeat for multiple. Exclude recipes with any of the
|
|
books.
|
|
- in: query
|
|
name: cookedon_gte
|
|
schema:
|
|
type: string
|
|
format: date
|
|
description: Filter recipes last cooked on the given date or after.
|
|
- in: query
|
|
name: cookedon_lte
|
|
schema:
|
|
type: string
|
|
format: date
|
|
description: Filter recipes last cooked on the given date or before.
|
|
- in: query
|
|
name: createdby
|
|
schema:
|
|
type: integer
|
|
description: Filter recipes for ones created by the given user ID
|
|
- in: query
|
|
name: createdon
|
|
schema:
|
|
type: string
|
|
format: date
|
|
description: Filter recipes created on the given date.
|
|
- in: query
|
|
name: createdon_gte
|
|
schema:
|
|
type: string
|
|
format: date
|
|
description: Filter recipes created on the given date or after.
|
|
- in: query
|
|
name: createdon_lte
|
|
schema:
|
|
type: string
|
|
format: date
|
|
description: Filter recipes created on the given date or before.
|
|
- in: query
|
|
name: filter
|
|
schema:
|
|
type: integer
|
|
description: ID of a custom filter. Returns all recipes matched by that filter.
|
|
- in: query
|
|
name: foods
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: ID of food a recipe should have. For multiple repeat parameter.
|
|
- in: query
|
|
name: foods_and
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Food IDs, repeat for multiple. Return recipes with all of the
|
|
foods.
|
|
- in: query
|
|
name: foods_and_not
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Food IDs, repeat for multiple. Exclude recipes with all of the
|
|
foods.
|
|
- in: query
|
|
name: foods_or
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Food IDs, repeat for multiple. Return recipes with any of the
|
|
foods
|
|
- in: query
|
|
name: foods_or_not
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Food IDs, repeat for multiple. Exclude recipes with any of the
|
|
foods.
|
|
- in: query
|
|
name: internal
|
|
schema:
|
|
type: boolean
|
|
description: If only internal recipes should be returned. [true/<b>false</b>]
|
|
- in: query
|
|
name: keywords
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: ID of keyword a recipe should have. For multiple repeat parameter.
|
|
Equivalent to keywords_or
|
|
- in: query
|
|
name: keywords_and
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Keyword IDs, repeat for multiple. Return recipes with all of
|
|
the keywords.
|
|
- in: query
|
|
name: keywords_and_not
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Keyword IDs, repeat for multiple. Exclude recipes with all of
|
|
the keywords.
|
|
- in: query
|
|
name: keywords_or
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Keyword IDs, repeat for multiple. Return recipes with any of
|
|
the keywords
|
|
- in: query
|
|
name: keywords_or_not
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Keyword IDs, repeat for multiple. Exclude recipes with any of
|
|
the keywords.
|
|
- in: query
|
|
name: makenow
|
|
schema:
|
|
type: boolean
|
|
description: Filter recipes that can be made with OnHand food. [true/<b>false</b>]
|
|
- in: query
|
|
name: new
|
|
schema:
|
|
type: boolean
|
|
description: Returns new results first in search results. [true/<b>false</b>]
|
|
- in: query
|
|
name: num_recent
|
|
schema:
|
|
type: integer
|
|
description: Returns the given number of recently viewed recipes before search
|
|
results (if given)
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: Query string matched (fuzzy) against recipe name. In the future
|
|
also fulltext search.
|
|
- in: query
|
|
name: random
|
|
schema:
|
|
type: boolean
|
|
description: Returns the results in randomized order. [true/<b>false</b>]
|
|
- in: query
|
|
name: rating
|
|
schema:
|
|
type: integer
|
|
description: Exact rating of recipe
|
|
- in: query
|
|
name: rating_gte
|
|
schema:
|
|
type: integer
|
|
description: Rating a recipe should have or greater.
|
|
- in: query
|
|
name: rating_lte
|
|
schema:
|
|
type: integer
|
|
description: Rating a recipe should have or smaller.
|
|
- in: query
|
|
name: sort_order
|
|
schema:
|
|
type: string
|
|
description: 'Determines the order of the results. Options are: score,-score,name,-name,lastcooked,-lastcooked,rating,-rating,times_cooked,-times_cooked,created_at,-created_at,lastviewed,-lastviewed'
|
|
- in: query
|
|
name: timescooked
|
|
schema:
|
|
type: integer
|
|
description: Filter recipes cooked X times.
|
|
- in: query
|
|
name: timescooked_gte
|
|
schema:
|
|
type: integer
|
|
description: Filter recipes cooked X times or more.
|
|
- in: query
|
|
name: timescooked_lte
|
|
schema:
|
|
type: integer
|
|
description: Filter recipes cooked X times or less.
|
|
- in: query
|
|
name: units
|
|
schema:
|
|
type: integer
|
|
description: ID of unit a recipe should have.
|
|
- in: query
|
|
name: updatedon
|
|
schema:
|
|
type: string
|
|
format: date
|
|
description: Filter recipes updated on the given date.
|
|
- in: query
|
|
name: updatedon_gte
|
|
schema:
|
|
type: string
|
|
format: date
|
|
description: Filter recipes updated on the given date.
|
|
- in: query
|
|
name: updatedon_lte
|
|
schema:
|
|
type: string
|
|
format: date
|
|
description: Filter recipes updated on the given date.
|
|
- in: query
|
|
name: viewedon_gte
|
|
schema:
|
|
type: string
|
|
format: date
|
|
description: Filter recipes lasts viewed on the given date.
|
|
- in: query
|
|
name: viewedon_lte
|
|
schema:
|
|
type: string
|
|
format: date
|
|
description: Filter recipes lasts viewed on the given date.
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedRecipeOverviewList'
|
|
description: ''
|
|
post:
|
|
operationId: apiRecipeCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
description: ''
|
|
/api/recipe-book/:
|
|
get:
|
|
operationId: apiRecipeBookList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: limit
|
|
schema:
|
|
type: string
|
|
description: limit number of entries to return
|
|
- in: query
|
|
name: order_direction
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- asc
|
|
- desc
|
|
description: Order ascending or descending
|
|
- in: query
|
|
name: order_field
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- id
|
|
- name
|
|
- order
|
|
description: Field to order recipe books on
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: lookup if query string is contained within the name, case insensitive
|
|
- in: query
|
|
name: random
|
|
schema:
|
|
type: string
|
|
description: randomly orders entries (only works together with limit)
|
|
- in: query
|
|
name: updated_at
|
|
schema:
|
|
type: string
|
|
description: if model has an updated_at timestamp, filter only models updated
|
|
at or after datetime
|
|
examples:
|
|
DateFormat:
|
|
value: '1972-12-05'
|
|
summary: Date Format
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedRecipeBookList'
|
|
description: ''
|
|
post:
|
|
operationId: apiRecipeBookCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBook'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBook'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBook'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBook'
|
|
description: ''
|
|
/api/recipe-book-entry/:
|
|
get:
|
|
operationId: apiRecipeBookEntryList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: book
|
|
schema:
|
|
type: integer
|
|
description: id of book - only return recipes in that book
|
|
- 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
|
|
- in: query
|
|
name: recipe
|
|
schema:
|
|
type: integer
|
|
description: id of recipe - only return books for that recipe
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedRecipeBookEntryList'
|
|
description: ''
|
|
post:
|
|
operationId: apiRecipeBookEntryCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBookEntry'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBookEntry'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBookEntry'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBookEntry'
|
|
description: ''
|
|
/api/recipe-book-entry/{id}/:
|
|
get:
|
|
operationId: apiRecipeBookEntryRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe book entry.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBookEntry'
|
|
description: ''
|
|
put:
|
|
operationId: apiRecipeBookEntryUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe book entry.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBookEntry'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBookEntry'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBookEntry'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBookEntry'
|
|
description: ''
|
|
patch:
|
|
operationId: apiRecipeBookEntryPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe book entry.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipeBookEntry'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipeBookEntry'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipeBookEntry'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBookEntry'
|
|
description: ''
|
|
delete:
|
|
operationId: apiRecipeBookEntryDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe book entry.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/recipe-book/{id}/:
|
|
get:
|
|
operationId: apiRecipeBookRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe book.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBook'
|
|
description: ''
|
|
put:
|
|
operationId: apiRecipeBookUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe book.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBook'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBook'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBook'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBook'
|
|
description: ''
|
|
patch:
|
|
operationId: apiRecipeBookPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe book.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipeBook'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipeBook'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipeBook'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBook'
|
|
description: ''
|
|
delete:
|
|
operationId: apiRecipeBookDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe book.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/recipe-book/{id}/cascading/:
|
|
get:
|
|
operationId: apiRecipeBookCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe book.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/recipe-book/{id}/nulling/:
|
|
get:
|
|
operationId: apiRecipeBookNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe book.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/recipe-book/{id}/protecting/:
|
|
get:
|
|
operationId: apiRecipeBookProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe book.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/recipe-from-source/:
|
|
post:
|
|
operationId: apiRecipeFromSourceCreate
|
|
description: |-
|
|
function to retrieve a recipe from a given url or source string
|
|
:param request: standard request with additional post parameters
|
|
- url: url to use for importing recipe
|
|
- data: if no url is given recipe is imported from provided source data
|
|
- (optional) bookmarklet: id of bookmarklet import to use, overrides URL and data attributes
|
|
:return: JsonResponse containing the parsed json and images
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeFromSource'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeFromSource'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeFromSource'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeFromSourceResponse'
|
|
description: ''
|
|
/api/recipe-import/:
|
|
get:
|
|
operationId: apiRecipeImportList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedRecipeImportList'
|
|
description: ''
|
|
post:
|
|
operationId: apiRecipeImportCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
description: ''
|
|
/api/recipe-import/{id}/:
|
|
get:
|
|
operationId: apiRecipeImportRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe import.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
description: ''
|
|
put:
|
|
operationId: apiRecipeImportUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe import.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
description: ''
|
|
patch:
|
|
operationId: apiRecipeImportPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe import.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipeImport'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipeImport'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipeImport'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
description: ''
|
|
delete:
|
|
operationId: apiRecipeImportDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe import.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/recipe-import/{id}/import_recipe/:
|
|
post:
|
|
operationId: apiRecipeImportImportRecipeCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe import.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
description: ''
|
|
/api/recipe-import/import_all/:
|
|
post:
|
|
operationId: apiRecipeImportImportAllCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImport'
|
|
description: ''
|
|
/api/recipe/{id}/:
|
|
get:
|
|
operationId: apiRecipeRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
- in: query
|
|
name: share
|
|
schema:
|
|
type: string
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
description: ''
|
|
put:
|
|
operationId: apiRecipeUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
description: ''
|
|
patch:
|
|
operationId: apiRecipePartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipe'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipe'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipe'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
description: ''
|
|
delete:
|
|
operationId: apiRecipeDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/recipe/{id}/aiproperties/:
|
|
post:
|
|
operationId: apiRecipeAipropertiesCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
- in: query
|
|
name: provider
|
|
schema:
|
|
type: integer
|
|
description: ID of the AI provider that should be used for this AI request
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
description: ''
|
|
/api/recipe/{id}/cascading/:
|
|
get:
|
|
operationId: apiRecipeCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/recipe/{id}/delete_external/:
|
|
patch:
|
|
operationId: apiRecipeDeleteExternalPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipe'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipe'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedRecipe'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Recipe'
|
|
description: ''
|
|
/api/recipe/{id}/image/:
|
|
put:
|
|
operationId: apiRecipeImageUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImage'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeImage'
|
|
description: ''
|
|
/api/recipe/{id}/nulling/:
|
|
get:
|
|
operationId: apiRecipeNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/recipe/{id}/protecting/:
|
|
get:
|
|
operationId: apiRecipeProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/recipe/{id}/related/:
|
|
get:
|
|
operationId: apiRecipeRelatedList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RecipeSimple'
|
|
description: ''
|
|
/api/recipe/{id}/shopping/:
|
|
put:
|
|
operationId: apiRecipeShoppingUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeShoppingUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeShoppingUpdate'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeShoppingUpdate'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeShoppingUpdate'
|
|
description: ''
|
|
/api/recipe/batch_update/:
|
|
put:
|
|
operationId: apiRecipeBatchUpdateUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBatchUpdate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBatchUpdate'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBatchUpdate'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/RecipeBatchUpdate'
|
|
description: ''
|
|
/api/recipe/flat/:
|
|
get:
|
|
operationId: apiRecipeFlatList
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RecipeFlat'
|
|
description: ''
|
|
/api/reset-food-inheritance/:
|
|
post:
|
|
operationId: apiResetFoodInheritanceCreate
|
|
description: function to reset inheritance from api, see food method for docs
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
description: No response body
|
|
/api/search-fields/:
|
|
get:
|
|
operationId: apiSearchFieldsList
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
description: ''
|
|
/api/search-fields/{id}/:
|
|
get:
|
|
operationId: apiSearchFieldsRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this search fields.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
description: ''
|
|
/api/search-preference/:
|
|
get:
|
|
operationId: apiSearchPreferenceList
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchPreference'
|
|
description: ''
|
|
/api/search-preference/{user}/:
|
|
get:
|
|
operationId: apiSearchPreferenceRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: user
|
|
schema:
|
|
type: integer
|
|
description: A unique value identifying this search preference.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SearchPreference'
|
|
description: ''
|
|
patch:
|
|
operationId: apiSearchPreferencePartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: user
|
|
schema:
|
|
type: integer
|
|
description: A unique value identifying this search preference.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSearchPreference'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSearchPreference'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSearchPreference'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SearchPreference'
|
|
description: ''
|
|
/api/server-settings/current/:
|
|
get:
|
|
operationId: apiServerSettingsCurrentRetrieve
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ServerSettings'
|
|
description: ''
|
|
/api/share-link/{id}:
|
|
get:
|
|
operationId: apiShareLinkRetrieve
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShareLink'
|
|
description: ''
|
|
/api/shopping-list-entry/:
|
|
get:
|
|
operationId: apiShoppingListEntryList
|
|
description: |-
|
|
individual entries of a shopping list
|
|
automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint
|
|
parameters:
|
|
- in: query
|
|
name: mealplan
|
|
schema:
|
|
type: integer
|
|
description: Returns only entries associated with the given mealplan id
|
|
- 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
|
|
- in: query
|
|
name: updated_after
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
description: Returns only elements updated after the given timestamp in ISO
|
|
8601 format.
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedShoppingListEntryList'
|
|
description: ''
|
|
post:
|
|
operationId: apiShoppingListEntryCreate
|
|
description: |-
|
|
individual entries of a shopping list
|
|
automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntry'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntry'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntry'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntry'
|
|
description: ''
|
|
/api/shopping-list-entry/{id}/:
|
|
get:
|
|
operationId: apiShoppingListEntryRetrieve
|
|
description: |-
|
|
individual entries of a shopping list
|
|
automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this shopping list entry.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntry'
|
|
description: ''
|
|
put:
|
|
operationId: apiShoppingListEntryUpdate
|
|
description: |-
|
|
individual entries of a shopping list
|
|
automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this shopping list entry.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntry'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntry'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntry'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntry'
|
|
description: ''
|
|
patch:
|
|
operationId: apiShoppingListEntryPartialUpdate
|
|
description: |-
|
|
individual entries of a shopping list
|
|
automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this shopping list entry.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedShoppingListEntry'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedShoppingListEntry'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedShoppingListEntry'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntry'
|
|
description: ''
|
|
delete:
|
|
operationId: apiShoppingListEntryDestroy
|
|
description: |-
|
|
individual entries of a shopping list
|
|
automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this shopping list entry.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/shopping-list-entry/bulk/:
|
|
post:
|
|
operationId: apiShoppingListEntryBulkCreate
|
|
description: |-
|
|
individual entries of a shopping list
|
|
automatically filtered to only contain unchecked items that are not older than the shopping recent days setting to not bloat endpoint
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntryBulk'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntryBulk'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntryBulk'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntryBulk'
|
|
description: ''
|
|
/api/shopping-list-recipe/:
|
|
get:
|
|
operationId: apiShoppingListRecipeList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: mealplan
|
|
schema:
|
|
type: integer
|
|
description: Returns only entries associated with the given mealplan id
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedShoppingListRecipeList'
|
|
description: ''
|
|
post:
|
|
operationId: apiShoppingListRecipeCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListRecipe'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListRecipe'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListRecipe'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListRecipe'
|
|
description: ''
|
|
/api/shopping-list-recipe/{id}/:
|
|
get:
|
|
operationId: apiShoppingListRecipeRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this shopping list recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListRecipe'
|
|
description: ''
|
|
put:
|
|
operationId: apiShoppingListRecipeUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this shopping list recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListRecipe'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListRecipe'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListRecipe'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListRecipe'
|
|
description: ''
|
|
patch:
|
|
operationId: apiShoppingListRecipePartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this shopping list recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedShoppingListRecipe'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedShoppingListRecipe'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedShoppingListRecipe'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListRecipe'
|
|
description: ''
|
|
delete:
|
|
operationId: apiShoppingListRecipeDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this shopping list recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/shopping-list-recipe/{id}/bulk_create_entries/:
|
|
post:
|
|
operationId: apiShoppingListRecipeBulkCreateEntriesCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this shopping list recipe.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntryBulkCreate'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntryBulkCreate'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntryBulkCreate'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ShoppingListEntryBulkCreate'
|
|
description: ''
|
|
/api/space/:
|
|
get:
|
|
operationId: apiSpaceList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedSpaceList'
|
|
description: ''
|
|
post:
|
|
operationId: apiSpaceCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Space'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Space'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Space'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Space'
|
|
description: ''
|
|
/api/space/{id}/:
|
|
get:
|
|
operationId: apiSpaceRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this space.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Space'
|
|
description: ''
|
|
put:
|
|
operationId: apiSpaceUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this space.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Space'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Space'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Space'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Space'
|
|
description: ''
|
|
patch:
|
|
operationId: apiSpacePartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this space.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSpace'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSpace'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSpace'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Space'
|
|
description: ''
|
|
/api/space/current/:
|
|
get:
|
|
operationId: apiSpaceCurrentRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Space'
|
|
description: ''
|
|
/api/step/:
|
|
get:
|
|
operationId: apiStepList
|
|
description: logs request counts to redis cache total/per user/
|
|
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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: Query string matched (fuzzy) against object name.
|
|
- in: query
|
|
name: recipe
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: ID of recipe a step is part of. For multiple repeat parameter.
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedStepList'
|
|
description: ''
|
|
post:
|
|
operationId: apiStepCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Step'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Step'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Step'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Step'
|
|
description: ''
|
|
/api/step/{id}/:
|
|
get:
|
|
operationId: apiStepRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this step.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Step'
|
|
description: ''
|
|
put:
|
|
operationId: apiStepUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this step.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Step'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Step'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Step'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Step'
|
|
description: ''
|
|
patch:
|
|
operationId: apiStepPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this step.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedStep'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedStep'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedStep'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Step'
|
|
description: ''
|
|
delete:
|
|
operationId: apiStepDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this step.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/storage/:
|
|
get:
|
|
operationId: apiStorageList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedStorageList'
|
|
description: ''
|
|
post:
|
|
operationId: apiStorageCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Storage'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Storage'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Storage'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Storage'
|
|
description: ''
|
|
/api/storage/{id}/:
|
|
get:
|
|
operationId: apiStorageRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this storage.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Storage'
|
|
description: ''
|
|
put:
|
|
operationId: apiStorageUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this storage.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Storage'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Storage'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Storage'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Storage'
|
|
description: ''
|
|
patch:
|
|
operationId: apiStoragePartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this storage.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedStorage'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedStorage'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedStorage'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Storage'
|
|
description: ''
|
|
delete:
|
|
operationId: apiStorageDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this storage.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/storage/{id}/cascading/:
|
|
get:
|
|
operationId: apiStorageCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this storage.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/storage/{id}/nulling/:
|
|
get:
|
|
operationId: apiStorageNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this storage.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/storage/{id}/protecting/:
|
|
get:
|
|
operationId: apiStorageProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this storage.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/supermarket/:
|
|
get:
|
|
operationId: apiSupermarketList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: limit
|
|
schema:
|
|
type: string
|
|
description: limit number of entries to return
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: lookup if query string is contained within the name, case insensitive
|
|
- in: query
|
|
name: random
|
|
schema:
|
|
type: string
|
|
description: randomly orders entries (only works together with limit)
|
|
- in: query
|
|
name: updated_at
|
|
schema:
|
|
type: string
|
|
description: if model has an updated_at timestamp, filter only models updated
|
|
at or after datetime
|
|
examples:
|
|
DateFormat:
|
|
value: '1972-12-05'
|
|
summary: Date Format
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedSupermarketList'
|
|
description: ''
|
|
post:
|
|
operationId: apiSupermarketCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Supermarket'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Supermarket'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Supermarket'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Supermarket'
|
|
description: ''
|
|
/api/supermarket-category/:
|
|
get:
|
|
operationId: apiSupermarketCategoryList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: limit
|
|
schema:
|
|
type: string
|
|
description: limit number of entries to return
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: lookup if query string is contained within the name, case insensitive
|
|
- in: query
|
|
name: random
|
|
schema:
|
|
type: string
|
|
description: randomly orders entries (only works together with limit)
|
|
- in: query
|
|
name: updated_at
|
|
schema:
|
|
type: string
|
|
description: if model has an updated_at timestamp, filter only models updated
|
|
at or after datetime
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedSupermarketCategoryList'
|
|
description: ''
|
|
post:
|
|
operationId: apiSupermarketCategoryCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
description: ''
|
|
/api/supermarket-category-relation/:
|
|
get:
|
|
operationId: apiSupermarketCategoryRelationList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: limit
|
|
schema:
|
|
type: string
|
|
description: limit number of entries to return
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: lookup if query string is contained within the name, case insensitive
|
|
- in: query
|
|
name: random
|
|
schema:
|
|
type: string
|
|
description: randomly orders entries (only works together with limit)
|
|
- in: query
|
|
name: updated_at
|
|
schema:
|
|
type: string
|
|
description: if model has an updated_at timestamp, filter only models updated
|
|
at or after datetime
|
|
examples:
|
|
DateFormat:
|
|
value: '1972-12-05'
|
|
summary: Date Format
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedSupermarketCategoryRelationList'
|
|
description: ''
|
|
post:
|
|
operationId: apiSupermarketCategoryRelationCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
description: ''
|
|
/api/supermarket-category-relation/{id}/:
|
|
get:
|
|
operationId: apiSupermarketCategoryRelationRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category
|
|
relation.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
description: ''
|
|
put:
|
|
operationId: apiSupermarketCategoryRelationUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category
|
|
relation.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
description: ''
|
|
patch:
|
|
operationId: apiSupermarketCategoryRelationPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category
|
|
relation.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSupermarketCategoryRelation'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSupermarketCategoryRelation'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSupermarketCategoryRelation'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
description: ''
|
|
delete:
|
|
operationId: apiSupermarketCategoryRelationDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category
|
|
relation.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/supermarket-category/{id}/:
|
|
get:
|
|
operationId: apiSupermarketCategoryRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
description: ''
|
|
put:
|
|
operationId: apiSupermarketCategoryUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
description: ''
|
|
patch:
|
|
operationId: apiSupermarketCategoryPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSupermarketCategory'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSupermarketCategory'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSupermarketCategory'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
description: ''
|
|
delete:
|
|
operationId: apiSupermarketCategoryDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/supermarket-category/{id}/cascading/:
|
|
get:
|
|
operationId: apiSupermarketCategoryCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/supermarket-category/{id}/merge/{target}/:
|
|
put:
|
|
operationId: apiSupermarketCategoryMergeUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category.
|
|
required: true
|
|
- in: path
|
|
name: target
|
|
schema:
|
|
type: integer
|
|
description: The ID of the {obj} you want to merge with.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
description: ''
|
|
/api/supermarket-category/{id}/nulling/:
|
|
get:
|
|
operationId: apiSupermarketCategoryNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/supermarket-category/{id}/protecting/:
|
|
get:
|
|
operationId: apiSupermarketCategoryProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket category.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/supermarket/{id}/:
|
|
get:
|
|
operationId: apiSupermarketRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Supermarket'
|
|
description: ''
|
|
put:
|
|
operationId: apiSupermarketUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Supermarket'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Supermarket'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Supermarket'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Supermarket'
|
|
description: ''
|
|
patch:
|
|
operationId: apiSupermarketPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSupermarket'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSupermarket'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSupermarket'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Supermarket'
|
|
description: ''
|
|
delete:
|
|
operationId: apiSupermarketDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/supermarket/{id}/cascading/:
|
|
get:
|
|
operationId: apiSupermarketCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/supermarket/{id}/nulling/:
|
|
get:
|
|
operationId: apiSupermarketNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/supermarket/{id}/protecting/:
|
|
get:
|
|
operationId: apiSupermarketProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this supermarket.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/switch-active-space/{spaceId}/:
|
|
get:
|
|
operationId: apiSwitchActiveSpaceRetrieve
|
|
description: api endpoint to switch space function
|
|
parameters:
|
|
- in: path
|
|
name: spaceId
|
|
schema:
|
|
type: integer
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
description: No response body
|
|
/api/sync/:
|
|
get:
|
|
operationId: apiSyncList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedSyncList'
|
|
description: ''
|
|
post:
|
|
operationId: apiSyncCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
description: ''
|
|
/api/sync-log/:
|
|
get:
|
|
operationId: apiSyncLogList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedSyncLogList'
|
|
description: ''
|
|
/api/sync-log/{id}/:
|
|
get:
|
|
operationId: apiSyncLogRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this sync log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SyncLog'
|
|
description: ''
|
|
/api/sync/{id}/:
|
|
get:
|
|
operationId: apiSyncRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this sync.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
description: ''
|
|
put:
|
|
operationId: apiSyncUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this sync.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
description: ''
|
|
patch:
|
|
operationId: apiSyncPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this sync.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSync'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSync'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedSync'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
description: ''
|
|
delete:
|
|
operationId: apiSyncDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this sync.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/sync/{id}/cascading/:
|
|
get:
|
|
operationId: apiSyncCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this sync.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/sync/{id}/nulling/:
|
|
get:
|
|
operationId: apiSyncNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this sync.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/sync/{id}/protecting/:
|
|
get:
|
|
operationId: apiSyncProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this sync.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/sync/{id}/query_synced_folder/:
|
|
post:
|
|
operationId: apiSyncQuerySyncedFolderCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this sync.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Sync'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SyncLog'
|
|
description: ''
|
|
/api/unit/:
|
|
get:
|
|
operationId: apiUnitList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: limit
|
|
schema:
|
|
type: string
|
|
description: limit number of entries to return
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: lookup if query string is contained within the name, case insensitive
|
|
- in: query
|
|
name: random
|
|
schema:
|
|
type: string
|
|
description: randomly orders entries (only works together with limit)
|
|
- in: query
|
|
name: updated_at
|
|
schema:
|
|
type: string
|
|
description: if model has an updated_at timestamp, filter only models updated
|
|
at or after datetime
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedUnitList'
|
|
description: ''
|
|
post:
|
|
operationId: apiUnitCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
description: ''
|
|
/api/unit-conversion/:
|
|
get:
|
|
operationId: apiUnitConversionList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: food_id
|
|
schema:
|
|
type: integer
|
|
description: ID of food to filter for
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: query that looks into food, base unit or converted unit by name
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedUnitConversionList'
|
|
description: ''
|
|
post:
|
|
operationId: apiUnitConversionCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnitConversion'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UnitConversion'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UnitConversion'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnitConversion'
|
|
description: ''
|
|
/api/unit-conversion/{id}/:
|
|
get:
|
|
operationId: apiUnitConversionRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit conversion.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnitConversion'
|
|
description: ''
|
|
put:
|
|
operationId: apiUnitConversionUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit conversion.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnitConversion'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UnitConversion'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UnitConversion'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnitConversion'
|
|
description: ''
|
|
patch:
|
|
operationId: apiUnitConversionPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit conversion.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUnitConversion'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUnitConversion'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUnitConversion'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UnitConversion'
|
|
description: ''
|
|
delete:
|
|
operationId: apiUnitConversionDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit conversion.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/unit/{id}/:
|
|
get:
|
|
operationId: apiUnitRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
description: ''
|
|
put:
|
|
operationId: apiUnitUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
description: ''
|
|
patch:
|
|
operationId: apiUnitPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUnit'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUnit'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUnit'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
description: ''
|
|
delete:
|
|
operationId: apiUnitDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/unit/{id}/cascading/:
|
|
get:
|
|
operationId: apiUnitCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/unit/{id}/merge/{target}/:
|
|
put:
|
|
operationId: apiUnitMergeUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit.
|
|
required: true
|
|
- in: path
|
|
name: target
|
|
schema:
|
|
type: integer
|
|
description: The ID of the {obj} you want to merge with.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Unit'
|
|
description: ''
|
|
/api/unit/{id}/nulling/:
|
|
get:
|
|
operationId: apiUnitNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/unit/{id}/protecting/:
|
|
get:
|
|
operationId: apiUnitProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this unit.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/user/:
|
|
get:
|
|
operationId: apiUserList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: filter_list
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: User IDs, repeat for multiple
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
description: ''
|
|
/api/user-file/:
|
|
get:
|
|
operationId: apiUserFileList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: limit
|
|
schema:
|
|
type: string
|
|
description: limit number of entries to return
|
|
- 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
|
|
- in: query
|
|
name: query
|
|
schema:
|
|
type: string
|
|
description: lookup if query string is contained within the name, case insensitive
|
|
- in: query
|
|
name: random
|
|
schema:
|
|
type: string
|
|
description: randomly orders entries (only works together with limit)
|
|
- in: query
|
|
name: updated_at
|
|
schema:
|
|
type: string
|
|
description: if model has an updated_at timestamp, filter only models updated
|
|
at or after datetime
|
|
examples:
|
|
DateFormat:
|
|
value: '1972-12-05'
|
|
summary: Date Format
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedUserFileList'
|
|
description: ''
|
|
post:
|
|
operationId: apiUserFileCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserFile'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserFile'
|
|
description: ''
|
|
/api/user-file/{id}/:
|
|
get:
|
|
operationId: apiUserFileRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this user file.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserFile'
|
|
description: ''
|
|
put:
|
|
operationId: apiUserFileUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this user file.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserFile'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserFile'
|
|
description: ''
|
|
patch:
|
|
operationId: apiUserFilePartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this user file.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUserFile'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserFile'
|
|
description: ''
|
|
delete:
|
|
operationId: apiUserFileDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this user file.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/user-file/{id}/cascading/:
|
|
get:
|
|
operationId: apiUserFileCascadingList
|
|
description: get a paginated list of objects that will be cascaded (deleted)
|
|
when deleting the selected object
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this user file.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/user-file/{id}/nulling/:
|
|
get:
|
|
operationId: apiUserFileNullingList
|
|
description: get a paginated list of objects where the selected object will
|
|
be removed whe its deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this user file.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/user-file/{id}/protecting/:
|
|
get:
|
|
operationId: apiUserFileProtectingList
|
|
description: get a paginated list of objects that are protecting the selected
|
|
object form being deleted
|
|
parameters:
|
|
- in: query
|
|
name: cache
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
description: If results can be cached or not
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this user file.
|
|
required: true
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedGenericModelReferenceList'
|
|
description: ''
|
|
/api/user-preference/:
|
|
get:
|
|
operationId: apiUserPreferenceList
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/UserPreference'
|
|
description: ''
|
|
/api/user-preference/{user}/:
|
|
get:
|
|
operationId: apiUserPreferenceRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: user
|
|
schema:
|
|
type: integer
|
|
description: A unique value identifying this user preference.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserPreference'
|
|
description: ''
|
|
patch:
|
|
operationId: apiUserPreferencePartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: user
|
|
schema:
|
|
type: integer
|
|
description: A unique value identifying this user preference.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUserPreference'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUserPreference'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUserPreference'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserPreference'
|
|
description: ''
|
|
/api/user-space/:
|
|
get:
|
|
operationId: apiUserSpaceList
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: query
|
|
name: internal_note
|
|
schema:
|
|
type: string
|
|
description: text field to store information about the invite link
|
|
- 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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedUserSpaceList'
|
|
description: ''
|
|
/api/user-space/{id}/:
|
|
get:
|
|
operationId: apiUserSpaceRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this user space.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserSpace'
|
|
description: ''
|
|
put:
|
|
operationId: apiUserSpaceUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this user space.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserSpace'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/UserSpace'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserSpace'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserSpace'
|
|
description: ''
|
|
patch:
|
|
operationId: apiUserSpacePartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this user space.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUserSpace'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUserSpace'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUserSpace'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserSpace'
|
|
description: ''
|
|
delete:
|
|
operationId: apiUserSpaceDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this user space.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
/api/user-space/all_personal/:
|
|
get:
|
|
operationId: apiUserSpaceAllPersonalList
|
|
description: |-
|
|
return all userspaces for the user requesting the endpoint
|
|
:param request:
|
|
:return:
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedUserSpaceList'
|
|
description: ''
|
|
/api/user/{id}/:
|
|
get:
|
|
operationId: apiUserRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this utente.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
description: ''
|
|
patch:
|
|
operationId: apiUserPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this utente.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUser'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUser'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedUser'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
description: ''
|
|
/api/view-log/:
|
|
get:
|
|
operationId: apiViewLogList
|
|
description: logs request counts to redis cache total/per user/
|
|
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:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedViewLogList'
|
|
description: ''
|
|
post:
|
|
operationId: apiViewLogCreate
|
|
description: logs request counts to redis cache total/per user/
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ViewLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ViewLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ViewLog'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'201':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ViewLog'
|
|
description: ''
|
|
/api/view-log/{id}/:
|
|
get:
|
|
operationId: apiViewLogRetrieve
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this view log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ViewLog'
|
|
description: ''
|
|
put:
|
|
operationId: apiViewLogUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this view log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ViewLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/ViewLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ViewLog'
|
|
required: true
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ViewLog'
|
|
description: ''
|
|
patch:
|
|
operationId: apiViewLogPartialUpdate
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this view log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedViewLog'
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedViewLog'
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchedViewLog'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'200':
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ViewLog'
|
|
description: ''
|
|
delete:
|
|
operationId: apiViewLogDestroy
|
|
description: logs request counts to redis cache total/per user/
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
description: A unique integer value identifying this view log.
|
|
required: true
|
|
tags:
|
|
- api
|
|
security:
|
|
- ApiKeyAuth: []
|
|
responses:
|
|
'204':
|
|
description: No response body
|
|
components:
|
|
schemas:
|
|
AccessToken:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
token:
|
|
type: string
|
|
readOnly: true
|
|
expires:
|
|
type: string
|
|
format: date-time
|
|
scope:
|
|
type: string
|
|
created:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created
|
|
- expires
|
|
- token
|
|
- updated
|
|
AiImport:
|
|
type: object
|
|
properties:
|
|
ai_provider_id:
|
|
type: integer
|
|
file:
|
|
type: string
|
|
format: uri
|
|
nullable: true
|
|
text:
|
|
type: string
|
|
nullable: true
|
|
recipe_id:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- ai_provider_id
|
|
- file
|
|
- recipe_id
|
|
- text
|
|
AiLog:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
ai_provider:
|
|
allOf:
|
|
- $ref: '#/components/schemas/AiProvider'
|
|
readOnly: true
|
|
function:
|
|
type: string
|
|
maxLength: 64
|
|
credit_cost:
|
|
type: number
|
|
format: double
|
|
maximum: 1000000000000
|
|
minimum: -1000000000000
|
|
exclusiveMaximum: true
|
|
exclusiveMinimum: true
|
|
credits_from_balance:
|
|
type: boolean
|
|
input_tokens:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
output_tokens:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
start_time:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
created_by:
|
|
type: integer
|
|
nullable: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- ai_provider
|
|
- created_at
|
|
- credit_cost
|
|
- function
|
|
- updated_at
|
|
AiProvider:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
api_key:
|
|
type: string
|
|
writeOnly: true
|
|
model_name:
|
|
type: string
|
|
maxLength: 256
|
|
url:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 2048
|
|
log_credit_cost:
|
|
type: boolean
|
|
space:
|
|
type: integer
|
|
nullable: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- model_name
|
|
- name
|
|
- updated_at
|
|
AuthToken:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
writeOnly: true
|
|
password:
|
|
type: string
|
|
writeOnly: true
|
|
token:
|
|
type: string
|
|
readOnly: true
|
|
required:
|
|
- password
|
|
- token
|
|
- username
|
|
AutoMealPlan:
|
|
type: object
|
|
properties:
|
|
start_date:
|
|
type: string
|
|
format: date-time
|
|
end_date:
|
|
type: string
|
|
format: date-time
|
|
meal_type_id:
|
|
type: integer
|
|
keyword_ids:
|
|
type: array
|
|
items: {}
|
|
servings:
|
|
type: number
|
|
format: double
|
|
shared:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
nullable: true
|
|
addshopping:
|
|
type: boolean
|
|
required:
|
|
- addshopping
|
|
- end_date
|
|
- keyword_ids
|
|
- meal_type_id
|
|
- servings
|
|
- start_date
|
|
Automation:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
type:
|
|
$ref: '#/components/schemas/AutomationTypeEnum'
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
param_1:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
param_2:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
param_3:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
disabled:
|
|
type: boolean
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
required:
|
|
- created_by
|
|
- type
|
|
AutomationTypeEnum:
|
|
enum:
|
|
- FOOD_ALIAS
|
|
- UNIT_ALIAS
|
|
- KEYWORD_ALIAS
|
|
- DESCRIPTION_REPLACE
|
|
- INSTRUCTION_REPLACE
|
|
- NEVER_UNIT
|
|
- TRANSPOSE_WORDS
|
|
- FOOD_REPLACE
|
|
- UNIT_REPLACE
|
|
- NAME_REPLACE
|
|
type: string
|
|
description: |-
|
|
* `FOOD_ALIAS` - Food Alias
|
|
* `UNIT_ALIAS` - Unit Alias
|
|
* `KEYWORD_ALIAS` - Keyword Alias
|
|
* `DESCRIPTION_REPLACE` - Description Replace
|
|
* `INSTRUCTION_REPLACE` - Instruction Replace
|
|
* `NEVER_UNIT` - Never Unit
|
|
* `TRANSPOSE_WORDS` - Transpose Words
|
|
* `FOOD_REPLACE` - Food Replace
|
|
* `UNIT_REPLACE` - Unit Replace
|
|
* `NAME_REPLACE` - Name Replace
|
|
BookmarkletImport:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
url:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 256
|
|
html:
|
|
type: string
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- created_by
|
|
- html
|
|
BookmarkletImportList:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
url:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 256
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- created_by
|
|
ConnectorConfig:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
minLength: 1
|
|
type:
|
|
$ref: '#/components/schemas/ConnectorConfigTypeEnum'
|
|
url:
|
|
type: string
|
|
format: uri
|
|
nullable: true
|
|
maxLength: 200
|
|
token:
|
|
type: string
|
|
writeOnly: true
|
|
nullable: true
|
|
maxLength: 512
|
|
todo_entity:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
enabled:
|
|
type: boolean
|
|
description: Is Connector Enabled
|
|
on_shopping_list_entry_created_enabled:
|
|
type: boolean
|
|
on_shopping_list_entry_updated_enabled:
|
|
type: boolean
|
|
on_shopping_list_entry_deleted_enabled:
|
|
type: boolean
|
|
supports_description_field:
|
|
type: boolean
|
|
description: Does the todo entity support the description field
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
required:
|
|
- created_by
|
|
- name
|
|
ConnectorConfigTypeEnum:
|
|
enum:
|
|
- HomeAssistant
|
|
type: string
|
|
description: '* `HomeAssistant` - HomeAssistant'
|
|
CookLog:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
recipe:
|
|
type: integer
|
|
servings:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
nullable: true
|
|
rating:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
nullable: true
|
|
comment:
|
|
type: string
|
|
nullable: true
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_by
|
|
- recipe
|
|
- updated_at
|
|
CustomFilter:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
search:
|
|
type: string
|
|
shared:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
required:
|
|
- created_by
|
|
- name
|
|
- search
|
|
DefaultPageEnum:
|
|
enum:
|
|
- SEARCH
|
|
- PLAN
|
|
- BOOKS
|
|
- SHOPPING
|
|
type: string
|
|
description: |-
|
|
* `SEARCH` - Search
|
|
* `PLAN` - Meal-Plan
|
|
* `BOOKS` - Books
|
|
* `SHOPPING` - Shopping
|
|
DeleteEnum:
|
|
enum:
|
|
- 'true'
|
|
type: string
|
|
description: '* `true` - true'
|
|
ExportLog:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
type:
|
|
type: string
|
|
maxLength: 32
|
|
msg:
|
|
type: string
|
|
running:
|
|
type: boolean
|
|
total_recipes:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
exported_recipes:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
cache_duration:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
possibly_not_expired:
|
|
type: boolean
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- created_by
|
|
- type
|
|
ExportRequest:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
all:
|
|
type: boolean
|
|
default: false
|
|
recipes:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/RecipeSimple'
|
|
default: []
|
|
custom_filter:
|
|
allOf:
|
|
- $ref: '#/components/schemas/CustomFilter'
|
|
nullable: true
|
|
required:
|
|
- type
|
|
FdcQuery:
|
|
type: object
|
|
properties:
|
|
totalHits:
|
|
type: integer
|
|
currentPage:
|
|
type: integer
|
|
totalPages:
|
|
type: integer
|
|
foods:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/FdcQueryFoods'
|
|
required:
|
|
- currentPage
|
|
- foods
|
|
- totalHits
|
|
- totalPages
|
|
FdcQueryFoods:
|
|
type: object
|
|
properties:
|
|
fdcId:
|
|
type: integer
|
|
description:
|
|
type: string
|
|
dataType:
|
|
type: string
|
|
required:
|
|
- dataType
|
|
- description
|
|
- fdcId
|
|
Food:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
minLength: 1
|
|
plural_name:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
shopping:
|
|
type: string
|
|
readOnly: true
|
|
recipe:
|
|
allOf:
|
|
- $ref: '#/components/schemas/RecipeSimple'
|
|
nullable: true
|
|
url:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 1024
|
|
properties:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Property'
|
|
nullable: true
|
|
properties_food_amount:
|
|
type: number
|
|
format: double
|
|
properties_food_unit:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Unit'
|
|
nullable: true
|
|
fdc_id:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
nullable: true
|
|
food_onhand:
|
|
type: boolean
|
|
nullable: true
|
|
supermarket_category:
|
|
allOf:
|
|
- $ref: '#/components/schemas/SupermarketCategory'
|
|
nullable: true
|
|
parent:
|
|
type: integer
|
|
readOnly: true
|
|
numchild:
|
|
type: integer
|
|
readOnly: true
|
|
inherit_fields:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/FoodInheritField'
|
|
nullable: true
|
|
full_name:
|
|
type: string
|
|
description: |-
|
|
Returns a string representation of a tree node and it's ancestors,
|
|
e.g. 'Cuisine > Asian > Chinese > Catonese'.
|
|
readOnly: true
|
|
ignore_shopping:
|
|
type: boolean
|
|
substitute:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/FoodSimple'
|
|
nullable: true
|
|
substitute_siblings:
|
|
type: boolean
|
|
substitute_children:
|
|
type: boolean
|
|
substitute_onhand:
|
|
type: boolean
|
|
readOnly: true
|
|
child_inherit_fields:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/FoodInheritField'
|
|
nullable: true
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
required:
|
|
- full_name
|
|
- name
|
|
- numchild
|
|
- parent
|
|
- shopping
|
|
- substitute_onhand
|
|
FoodBatchUpdate:
|
|
type: object
|
|
properties:
|
|
foods:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
category:
|
|
type: integer
|
|
nullable: true
|
|
substitute_add:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
substitute_remove:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
substitute_set:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
substitute_remove_all:
|
|
type: boolean
|
|
default: false
|
|
inherit_fields_add:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
inherit_fields_remove:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
inherit_fields_set:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
inherit_fields_remove_all:
|
|
type: boolean
|
|
default: false
|
|
child_inherit_fields_add:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
child_inherit_fields_remove:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
child_inherit_fields_set:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
child_inherit_fields_remove_all:
|
|
type: boolean
|
|
default: false
|
|
substitute_children:
|
|
type: boolean
|
|
nullable: true
|
|
substitute_siblings:
|
|
type: boolean
|
|
nullable: true
|
|
ignore_shopping:
|
|
type: boolean
|
|
nullable: true
|
|
on_hand:
|
|
type: boolean
|
|
nullable: true
|
|
parent_remove:
|
|
type: boolean
|
|
nullable: true
|
|
parent_set:
|
|
type: integer
|
|
nullable: true
|
|
required:
|
|
- child_inherit_fields_add
|
|
- child_inherit_fields_remove
|
|
- child_inherit_fields_set
|
|
- foods
|
|
- inherit_fields_add
|
|
- inherit_fields_remove
|
|
- inherit_fields_set
|
|
- substitute_add
|
|
- substitute_remove
|
|
- substitute_set
|
|
FoodInheritField:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
nullable: true
|
|
field:
|
|
type: string
|
|
nullable: true
|
|
required: []
|
|
FoodShoppingUpdate:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
amount:
|
|
type: integer
|
|
writeOnly: true
|
|
nullable: true
|
|
description: Amount of food to add to the shopping list
|
|
unit:
|
|
type: integer
|
|
writeOnly: true
|
|
nullable: true
|
|
description: ID of unit to use for the shopping list
|
|
delete:
|
|
allOf:
|
|
- $ref: '#/components/schemas/DeleteEnum'
|
|
writeOnly: true
|
|
nullable: true
|
|
description: |-
|
|
When set to true will delete all food from active shopping lists.
|
|
|
|
* `true` - true
|
|
required:
|
|
- delete
|
|
FoodSimple:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
minLength: 1
|
|
plural_name:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
required:
|
|
- name
|
|
GenericModelReference:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
model:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- model
|
|
- name
|
|
Group:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
readOnly: true
|
|
title: Nome
|
|
required:
|
|
- name
|
|
ImportLog:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
type:
|
|
type: string
|
|
maxLength: 32
|
|
msg:
|
|
type: string
|
|
running:
|
|
type: boolean
|
|
keyword:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Keyword'
|
|
readOnly: true
|
|
total_recipes:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
imported_recipes:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- created_by
|
|
- keyword
|
|
- type
|
|
ImportOpenData:
|
|
type: object
|
|
properties:
|
|
selected_version:
|
|
type: string
|
|
selected_datatypes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
update_existing:
|
|
type: boolean
|
|
default: true
|
|
use_metric:
|
|
type: boolean
|
|
default: true
|
|
required:
|
|
- selected_datatypes
|
|
- selected_version
|
|
ImportOpenDataMetaData:
|
|
type: object
|
|
properties:
|
|
versions:
|
|
type: array
|
|
items:
|
|
type: string
|
|
datatypes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
base:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
cs:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
da:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
de:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
el:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
en:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
es:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
fr:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
hu:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
it:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
nb_NO:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
nl:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
pl:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
pt:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
pt_BR:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
sk:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
sl:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
zh_Hans:
|
|
$ref: '#/components/schemas/ImportOpenDataVersionMetaData'
|
|
required:
|
|
- base
|
|
- cs
|
|
- da
|
|
- datatypes
|
|
- de
|
|
- el
|
|
- en
|
|
- es
|
|
- fr
|
|
- hu
|
|
- it
|
|
- nb_NO
|
|
- nl
|
|
- pl
|
|
- pt
|
|
- pt_BR
|
|
- sk
|
|
- sl
|
|
- versions
|
|
- zh_Hans
|
|
ImportOpenDataResponse:
|
|
type: object
|
|
properties:
|
|
food:
|
|
$ref: '#/components/schemas/ImportOpenDataResponseDetail'
|
|
unit:
|
|
$ref: '#/components/schemas/ImportOpenDataResponseDetail'
|
|
category:
|
|
$ref: '#/components/schemas/ImportOpenDataResponseDetail'
|
|
property:
|
|
$ref: '#/components/schemas/ImportOpenDataResponseDetail'
|
|
store:
|
|
$ref: '#/components/schemas/ImportOpenDataResponseDetail'
|
|
conversion:
|
|
$ref: '#/components/schemas/ImportOpenDataResponseDetail'
|
|
ImportOpenDataResponseDetail:
|
|
type: object
|
|
properties:
|
|
total_created:
|
|
type: integer
|
|
default: 0
|
|
total_updated:
|
|
type: integer
|
|
default: 0
|
|
total_untouched:
|
|
type: integer
|
|
default: 0
|
|
total_errored:
|
|
type: integer
|
|
default: 0
|
|
ImportOpenDataVersionMetaData:
|
|
type: object
|
|
properties:
|
|
food:
|
|
type: integer
|
|
unit:
|
|
type: integer
|
|
category:
|
|
type: integer
|
|
property:
|
|
type: integer
|
|
store:
|
|
type: integer
|
|
conversion:
|
|
type: integer
|
|
required:
|
|
- category
|
|
- conversion
|
|
- food
|
|
- property
|
|
- store
|
|
- unit
|
|
Ingredient:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
food:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Food'
|
|
nullable: true
|
|
unit:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Unit'
|
|
nullable: true
|
|
amount:
|
|
type: number
|
|
format: double
|
|
conversions:
|
|
type: array
|
|
items: {}
|
|
readOnly: true
|
|
note:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 256
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
is_header:
|
|
type: boolean
|
|
no_amount:
|
|
type: boolean
|
|
original_text:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 512
|
|
used_in_recipes:
|
|
type: array
|
|
items: {}
|
|
readOnly: true
|
|
always_use_plural_unit:
|
|
type: boolean
|
|
always_use_plural_food:
|
|
type: boolean
|
|
required:
|
|
- amount
|
|
- conversions
|
|
- food
|
|
- unit
|
|
- used_in_recipes
|
|
IngredientString:
|
|
type: object
|
|
properties:
|
|
text:
|
|
type: string
|
|
required:
|
|
- text
|
|
InviteLink:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
uuid:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
email:
|
|
type: string
|
|
format: email
|
|
maxLength: 254
|
|
group:
|
|
$ref: '#/components/schemas/Group'
|
|
valid_until:
|
|
type: string
|
|
format: date
|
|
used_by:
|
|
type: integer
|
|
readOnly: true
|
|
nullable: true
|
|
reusable:
|
|
type: boolean
|
|
internal_note:
|
|
type: string
|
|
nullable: true
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- created_by
|
|
- group
|
|
- used_by
|
|
- uuid
|
|
Keyword:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 64
|
|
label:
|
|
type: string
|
|
readOnly: true
|
|
description:
|
|
type: string
|
|
parent:
|
|
type: integer
|
|
readOnly: true
|
|
numchild:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
full_name:
|
|
type: string
|
|
description: |-
|
|
Returns a string representation of a tree node and it's ancestors,
|
|
e.g. 'Cuisine > Asian > Chinese > Catonese'.
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- full_name
|
|
- label
|
|
- name
|
|
- numchild
|
|
- parent
|
|
- updated_at
|
|
KeywordLabel:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
label:
|
|
type: string
|
|
readOnly: true
|
|
required:
|
|
- label
|
|
Localization:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
readOnly: true
|
|
maxLength: 8
|
|
language:
|
|
type: string
|
|
readOnly: true
|
|
required:
|
|
- code
|
|
- language
|
|
MealPlan:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
title:
|
|
type: string
|
|
maxLength: 64
|
|
recipe:
|
|
allOf:
|
|
- $ref: '#/components/schemas/RecipeOverview'
|
|
nullable: true
|
|
servings:
|
|
type: number
|
|
format: double
|
|
note:
|
|
type: string
|
|
note_markdown:
|
|
type: string
|
|
readOnly: true
|
|
from_date:
|
|
type: string
|
|
format: date-time
|
|
to_date:
|
|
type: string
|
|
format: date-time
|
|
meal_type:
|
|
$ref: '#/components/schemas/MealType'
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
shared:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
nullable: true
|
|
recipe_name:
|
|
type: string
|
|
readOnly: true
|
|
meal_type_name:
|
|
type: string
|
|
readOnly: true
|
|
shopping:
|
|
type: boolean
|
|
readOnly: true
|
|
addshopping:
|
|
type: boolean
|
|
writeOnly: true
|
|
required:
|
|
- created_by
|
|
- from_date
|
|
- meal_type
|
|
- meal_type_name
|
|
- note_markdown
|
|
- recipe_name
|
|
- servings
|
|
- shopping
|
|
MealType:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
time:
|
|
type: string
|
|
format: time
|
|
nullable: true
|
|
color:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 7
|
|
default:
|
|
type: boolean
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
required:
|
|
- created_by
|
|
- name
|
|
MethodEnum:
|
|
enum:
|
|
- DB
|
|
- NEXTCLOUD
|
|
- LOCAL
|
|
type: string
|
|
description: |-
|
|
* `DB` - Dropbox
|
|
* `NEXTCLOUD` - Nextcloud
|
|
* `LOCAL` - Local
|
|
NutritionInformation:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
carbohydrates:
|
|
type: number
|
|
format: double
|
|
fats:
|
|
type: number
|
|
format: double
|
|
proteins:
|
|
type: number
|
|
format: double
|
|
calories:
|
|
type: number
|
|
format: double
|
|
source:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 512
|
|
required:
|
|
- calories
|
|
- carbohydrates
|
|
- fats
|
|
- proteins
|
|
PaginatedAiLogList:
|
|
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/AiLog'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedAiProviderList:
|
|
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/AiProvider'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedAutomationList:
|
|
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/Automation'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedBookmarkletImportListList:
|
|
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/BookmarkletImportList'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedConnectorConfigList:
|
|
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/ConnectorConfig'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedCookLogList:
|
|
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/CookLog'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedCustomFilterList:
|
|
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/CustomFilter'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedExportLogList:
|
|
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/ExportLog'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedFoodList:
|
|
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/Food'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedGenericModelReferenceList:
|
|
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/GenericModelReference'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedImportLogList:
|
|
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/ImportLog'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedIngredientList:
|
|
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/Ingredient'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedInviteLinkList:
|
|
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/InviteLink'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedKeywordList:
|
|
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/Keyword'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedMealPlanList:
|
|
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/MealPlan'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedMealTypeList:
|
|
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/MealType'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedPropertyList:
|
|
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/Property'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedPropertyTypeList:
|
|
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/PropertyType'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedRecipeBookEntryList:
|
|
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/RecipeBookEntry'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedRecipeBookList:
|
|
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/RecipeBook'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedRecipeImportList:
|
|
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/RecipeImport'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedRecipeOverviewList:
|
|
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/RecipeOverview'
|
|
PaginatedShoppingListEntryList:
|
|
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/ShoppingListEntry'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedShoppingListRecipeList:
|
|
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/ShoppingListRecipe'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedSpaceList:
|
|
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/Space'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedStepList:
|
|
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/Step'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedStorageList:
|
|
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/Storage'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedSupermarketCategoryList:
|
|
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/SupermarketCategory'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedSupermarketCategoryRelationList:
|
|
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/SupermarketCategoryRelation'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedSupermarketList:
|
|
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/Supermarket'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedSyncList:
|
|
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/Sync'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedSyncLogList:
|
|
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/SyncLog'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedUnitConversionList:
|
|
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/UnitConversion'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedUnitList:
|
|
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/Unit'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedUserFileList:
|
|
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/UserFile'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedUserSpaceList:
|
|
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/UserSpace'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
PaginatedViewLogList:
|
|
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/ViewLog'
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
ParsedIngredient:
|
|
type: object
|
|
properties:
|
|
amount:
|
|
type: integer
|
|
unit:
|
|
type: string
|
|
food:
|
|
type: string
|
|
note:
|
|
type: string
|
|
original_text:
|
|
type: string
|
|
required:
|
|
- amount
|
|
- food
|
|
- note
|
|
- original_text
|
|
- unit
|
|
PatchedAccessToken:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
token:
|
|
type: string
|
|
readOnly: true
|
|
expires:
|
|
type: string
|
|
format: date-time
|
|
scope:
|
|
type: string
|
|
created:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
PatchedAiProvider:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
api_key:
|
|
type: string
|
|
writeOnly: true
|
|
model_name:
|
|
type: string
|
|
maxLength: 256
|
|
url:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 2048
|
|
log_credit_cost:
|
|
type: boolean
|
|
space:
|
|
type: integer
|
|
nullable: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
PatchedAutomation:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
type:
|
|
$ref: '#/components/schemas/AutomationTypeEnum'
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
param_1:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
param_2:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
param_3:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
disabled:
|
|
type: boolean
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
PatchedBookmarkletImport:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
url:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 256
|
|
html:
|
|
type: string
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
PatchedConnectorConfig:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
minLength: 1
|
|
type:
|
|
$ref: '#/components/schemas/ConnectorConfigTypeEnum'
|
|
url:
|
|
type: string
|
|
format: uri
|
|
nullable: true
|
|
maxLength: 200
|
|
token:
|
|
type: string
|
|
writeOnly: true
|
|
nullable: true
|
|
maxLength: 512
|
|
todo_entity:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
enabled:
|
|
type: boolean
|
|
description: Is Connector Enabled
|
|
on_shopping_list_entry_created_enabled:
|
|
type: boolean
|
|
on_shopping_list_entry_updated_enabled:
|
|
type: boolean
|
|
on_shopping_list_entry_deleted_enabled:
|
|
type: boolean
|
|
supports_description_field:
|
|
type: boolean
|
|
description: Does the todo entity support the description field
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
PatchedCookLog:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
recipe:
|
|
type: integer
|
|
servings:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
nullable: true
|
|
rating:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
nullable: true
|
|
comment:
|
|
type: string
|
|
nullable: true
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
PatchedCustomFilter:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
search:
|
|
type: string
|
|
shared:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
PatchedExportLog:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
type:
|
|
type: string
|
|
maxLength: 32
|
|
msg:
|
|
type: string
|
|
running:
|
|
type: boolean
|
|
total_recipes:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
exported_recipes:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
cache_duration:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
possibly_not_expired:
|
|
type: boolean
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
PatchedFood:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
minLength: 1
|
|
plural_name:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
shopping:
|
|
type: string
|
|
readOnly: true
|
|
recipe:
|
|
allOf:
|
|
- $ref: '#/components/schemas/RecipeSimple'
|
|
nullable: true
|
|
url:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 1024
|
|
properties:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Property'
|
|
nullable: true
|
|
properties_food_amount:
|
|
type: number
|
|
format: double
|
|
properties_food_unit:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Unit'
|
|
nullable: true
|
|
fdc_id:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
nullable: true
|
|
food_onhand:
|
|
type: boolean
|
|
nullable: true
|
|
supermarket_category:
|
|
allOf:
|
|
- $ref: '#/components/schemas/SupermarketCategory'
|
|
nullable: true
|
|
parent:
|
|
type: integer
|
|
readOnly: true
|
|
numchild:
|
|
type: integer
|
|
readOnly: true
|
|
inherit_fields:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/FoodInheritField'
|
|
nullable: true
|
|
full_name:
|
|
type: string
|
|
description: |-
|
|
Returns a string representation of a tree node and it's ancestors,
|
|
e.g. 'Cuisine > Asian > Chinese > Catonese'.
|
|
readOnly: true
|
|
ignore_shopping:
|
|
type: boolean
|
|
substitute:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/FoodSimple'
|
|
nullable: true
|
|
substitute_siblings:
|
|
type: boolean
|
|
substitute_children:
|
|
type: boolean
|
|
substitute_onhand:
|
|
type: boolean
|
|
readOnly: true
|
|
child_inherit_fields:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/FoodInheritField'
|
|
nullable: true
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
PatchedImportLog:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
type:
|
|
type: string
|
|
maxLength: 32
|
|
msg:
|
|
type: string
|
|
running:
|
|
type: boolean
|
|
keyword:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Keyword'
|
|
readOnly: true
|
|
total_recipes:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
imported_recipes:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
PatchedIngredient:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
food:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Food'
|
|
nullable: true
|
|
unit:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Unit'
|
|
nullable: true
|
|
amount:
|
|
type: number
|
|
format: double
|
|
conversions:
|
|
type: array
|
|
items: {}
|
|
readOnly: true
|
|
note:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 256
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
is_header:
|
|
type: boolean
|
|
no_amount:
|
|
type: boolean
|
|
original_text:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 512
|
|
used_in_recipes:
|
|
type: array
|
|
items: {}
|
|
readOnly: true
|
|
always_use_plural_unit:
|
|
type: boolean
|
|
always_use_plural_food:
|
|
type: boolean
|
|
PatchedInviteLink:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
uuid:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
email:
|
|
type: string
|
|
format: email
|
|
maxLength: 254
|
|
group:
|
|
$ref: '#/components/schemas/Group'
|
|
valid_until:
|
|
type: string
|
|
format: date
|
|
used_by:
|
|
type: integer
|
|
readOnly: true
|
|
nullable: true
|
|
reusable:
|
|
type: boolean
|
|
internal_note:
|
|
type: string
|
|
nullable: true
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
PatchedKeyword:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 64
|
|
label:
|
|
type: string
|
|
readOnly: true
|
|
description:
|
|
type: string
|
|
parent:
|
|
type: integer
|
|
readOnly: true
|
|
numchild:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
full_name:
|
|
type: string
|
|
description: |-
|
|
Returns a string representation of a tree node and it's ancestors,
|
|
e.g. 'Cuisine > Asian > Chinese > Catonese'.
|
|
readOnly: true
|
|
PatchedMealPlan:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
title:
|
|
type: string
|
|
maxLength: 64
|
|
recipe:
|
|
allOf:
|
|
- $ref: '#/components/schemas/RecipeOverview'
|
|
nullable: true
|
|
servings:
|
|
type: number
|
|
format: double
|
|
note:
|
|
type: string
|
|
note_markdown:
|
|
type: string
|
|
readOnly: true
|
|
from_date:
|
|
type: string
|
|
format: date-time
|
|
to_date:
|
|
type: string
|
|
format: date-time
|
|
meal_type:
|
|
$ref: '#/components/schemas/MealType'
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
shared:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
nullable: true
|
|
recipe_name:
|
|
type: string
|
|
readOnly: true
|
|
meal_type_name:
|
|
type: string
|
|
readOnly: true
|
|
shopping:
|
|
type: boolean
|
|
readOnly: true
|
|
addshopping:
|
|
type: boolean
|
|
writeOnly: true
|
|
PatchedMealType:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
time:
|
|
type: string
|
|
format: time
|
|
nullable: true
|
|
color:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 7
|
|
default:
|
|
type: boolean
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
PatchedProperty:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
property_amount:
|
|
type: number
|
|
format: double
|
|
nullable: true
|
|
property_type:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
PatchedPropertyType:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
unit:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 64
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 512
|
|
order:
|
|
type: integer
|
|
default: 0
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
fdc_id:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
nullable: true
|
|
PatchedRecipe:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 512
|
|
image:
|
|
type: string
|
|
format: uri
|
|
readOnly: true
|
|
nullable: true
|
|
keywords:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Keyword'
|
|
steps:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Step'
|
|
working_time:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
waiting_time:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
source_url:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 1024
|
|
internal:
|
|
type: boolean
|
|
show_ingredient_overview:
|
|
type: boolean
|
|
nutrition:
|
|
allOf:
|
|
- $ref: '#/components/schemas/NutritionInformation'
|
|
nullable: true
|
|
properties:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Property'
|
|
food_properties:
|
|
readOnly: true
|
|
servings:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
file_path:
|
|
type: string
|
|
maxLength: 512
|
|
servings_text:
|
|
type: string
|
|
maxLength: 32
|
|
rating:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
nullable: true
|
|
last_cooked:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
nullable: true
|
|
private:
|
|
type: boolean
|
|
shared:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
PatchedRecipeBook:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
shared:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
filter:
|
|
allOf:
|
|
- $ref: '#/components/schemas/CustomFilter'
|
|
nullable: true
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
PatchedRecipeBookEntry:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
book:
|
|
type: integer
|
|
book_content:
|
|
allOf:
|
|
- $ref: '#/components/schemas/RecipeBook'
|
|
readOnly: true
|
|
recipe:
|
|
type: integer
|
|
recipe_content:
|
|
allOf:
|
|
- $ref: '#/components/schemas/RecipeOverview'
|
|
readOnly: true
|
|
PatchedRecipeImport:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
file_uid:
|
|
type: string
|
|
maxLength: 256
|
|
file_path:
|
|
type: string
|
|
maxLength: 512
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
storage:
|
|
type: integer
|
|
space:
|
|
type: integer
|
|
PatchedSearchPreference:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
user:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
search:
|
|
$ref: '#/components/schemas/SearchEnum'
|
|
lookup:
|
|
type: boolean
|
|
unaccent:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
nullable: true
|
|
icontains:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
nullable: true
|
|
istartswith:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
nullable: true
|
|
trigram:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
nullable: true
|
|
fulltext:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
nullable: true
|
|
trigram_threshold:
|
|
type: number
|
|
format: double
|
|
maximum: 10
|
|
minimum: -10
|
|
exclusiveMaximum: true
|
|
exclusiveMinimum: true
|
|
PatchedShoppingListEntry:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
list_recipe:
|
|
type: integer
|
|
nullable: true
|
|
food:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Food'
|
|
nullable: true
|
|
unit:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Unit'
|
|
nullable: true
|
|
amount:
|
|
type: number
|
|
format: double
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
checked:
|
|
type: boolean
|
|
ingredient:
|
|
type: integer
|
|
nullable: true
|
|
list_recipe_data:
|
|
allOf:
|
|
- $ref: '#/components/schemas/ShoppingListRecipe'
|
|
readOnly: true
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
completed_at:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
delay_until:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
mealplan_id:
|
|
type: integer
|
|
writeOnly: true
|
|
description: If a mealplan id is given try to find existing or create new
|
|
ShoppingListRecipe with that meal plan and link entry to it
|
|
PatchedShoppingListRecipe:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 32
|
|
recipe:
|
|
type: integer
|
|
nullable: true
|
|
recipe_data:
|
|
allOf:
|
|
- $ref: '#/components/schemas/RecipeOverview'
|
|
readOnly: true
|
|
mealplan:
|
|
type: integer
|
|
nullable: true
|
|
meal_plan_data:
|
|
allOf:
|
|
- $ref: '#/components/schemas/MealPlan'
|
|
readOnly: true
|
|
servings:
|
|
type: number
|
|
format: double
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
PatchedSpace:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
message:
|
|
type: string
|
|
maxLength: 512
|
|
max_recipes:
|
|
type: integer
|
|
readOnly: true
|
|
max_file_storage_mb:
|
|
type: integer
|
|
readOnly: true
|
|
description: Maximum file storage for space in MB. 0 for unlimited, -1 to
|
|
disable file upload.
|
|
max_users:
|
|
type: integer
|
|
readOnly: true
|
|
allow_sharing:
|
|
type: boolean
|
|
readOnly: true
|
|
demo:
|
|
type: boolean
|
|
readOnly: true
|
|
food_inherit:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/FoodInheritField'
|
|
user_count:
|
|
type: integer
|
|
readOnly: true
|
|
recipe_count:
|
|
type: integer
|
|
readOnly: true
|
|
file_size_mb:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
image:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
nav_logo:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
space_theme:
|
|
$ref: '#/components/schemas/SpaceThemeEnum'
|
|
custom_space_theme:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
nav_bg_color:
|
|
type: string
|
|
maxLength: 8
|
|
nav_text_color:
|
|
$ref: '#/components/schemas/SpaceNavTextColorEnum'
|
|
logo_color_32:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_128:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_144:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_180:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_192:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_512:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_svg:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
ai_credits_monthly:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
ai_credits_balance:
|
|
type: number
|
|
format: double
|
|
maximum: 1000000000000
|
|
minimum: -1000000000000
|
|
exclusiveMaximum: true
|
|
exclusiveMinimum: true
|
|
ai_monthly_credits_used:
|
|
type: integer
|
|
readOnly: true
|
|
ai_enabled:
|
|
type: boolean
|
|
ai_default_provider:
|
|
allOf:
|
|
- $ref: '#/components/schemas/AiProvider'
|
|
nullable: true
|
|
space_setup_completed:
|
|
type: boolean
|
|
PatchedStep:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
instruction:
|
|
type: string
|
|
ingredients:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
instructions_markdown:
|
|
type: string
|
|
readOnly: true
|
|
time:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
show_as_header:
|
|
type: boolean
|
|
file:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
step_recipe:
|
|
type: integer
|
|
nullable: true
|
|
step_recipe_data:
|
|
readOnly: true
|
|
numrecipe:
|
|
type: integer
|
|
readOnly: true
|
|
show_ingredients_table:
|
|
type: boolean
|
|
PatchedStorage:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
method:
|
|
$ref: '#/components/schemas/MethodEnum'
|
|
username:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
password:
|
|
type: string
|
|
writeOnly: true
|
|
nullable: true
|
|
maxLength: 128
|
|
token:
|
|
type: string
|
|
writeOnly: true
|
|
nullable: true
|
|
maxLength: 4098
|
|
url:
|
|
type: string
|
|
format: uri
|
|
nullable: true
|
|
maxLength: 200
|
|
path:
|
|
type: string
|
|
maxLength: 256
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
PatchedSupermarket:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
minLength: 1
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
category_to_supermarket:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
readOnly: true
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
PatchedSupermarketCategory:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
minLength: 1
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
PatchedSupermarketCategoryRelation:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
category:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
supermarket:
|
|
type: integer
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
PatchedSync:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
storage:
|
|
$ref: '#/components/schemas/Storage'
|
|
path:
|
|
type: string
|
|
maxLength: 512
|
|
active:
|
|
type: boolean
|
|
last_checked:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
PatchedUnit:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
minLength: 1
|
|
plural_name:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
base_unit:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 256
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
PatchedUnitConversion:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
readOnly: true
|
|
base_amount:
|
|
type: number
|
|
format: double
|
|
base_unit:
|
|
$ref: '#/components/schemas/Unit'
|
|
converted_amount:
|
|
type: number
|
|
format: double
|
|
converted_unit:
|
|
$ref: '#/components/schemas/Unit'
|
|
food:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Food'
|
|
nullable: true
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
PatchedUser:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
username:
|
|
type: string
|
|
readOnly: true
|
|
title: Nome utente
|
|
description: Obbligatorio. 150 caratteri o meno.Solo lettere, cifre e @/./+/-/_
|
|
first_name:
|
|
type: string
|
|
title: Nome
|
|
maxLength: 150
|
|
last_name:
|
|
type: string
|
|
title: Cognome
|
|
maxLength: 150
|
|
display_name:
|
|
type: string
|
|
readOnly: true
|
|
is_staff:
|
|
type: boolean
|
|
readOnly: true
|
|
title: Privilegi di staff
|
|
description: Stabilisce se l'utente può accedere a questo sito di amministrazione.
|
|
is_superuser:
|
|
type: boolean
|
|
readOnly: true
|
|
title: Privilegi di superutente
|
|
description: Attribuisce all'utente tutti i privilegi, senza che sia necessario
|
|
assegnarli esplicitamente.
|
|
is_active:
|
|
type: boolean
|
|
readOnly: true
|
|
title: Attivo
|
|
description: Stabilisce se l'utente debba essere considerato attivo. Deseleziona
|
|
qui, piuttosto che cancellare gli account.
|
|
PatchedUserFile:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
file:
|
|
type: string
|
|
format: uri
|
|
writeOnly: true
|
|
file_download:
|
|
type: string
|
|
readOnly: true
|
|
preview:
|
|
type: string
|
|
readOnly: true
|
|
file_size_kb:
|
|
type: integer
|
|
readOnly: true
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
PatchedUserPreference:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
user:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
image:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
theme:
|
|
$ref: '#/components/schemas/ThemeEnum'
|
|
nav_bg_color:
|
|
type: string
|
|
maxLength: 8
|
|
nav_text_color:
|
|
$ref: '#/components/schemas/UserPreferenceNavTextColorEnum'
|
|
nav_show_logo:
|
|
type: boolean
|
|
default_unit:
|
|
type: string
|
|
maxLength: 32
|
|
default_page:
|
|
$ref: '#/components/schemas/DefaultPageEnum'
|
|
use_fractions:
|
|
type: boolean
|
|
use_kj:
|
|
type: boolean
|
|
plan_share:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
nullable: true
|
|
nav_sticky:
|
|
type: boolean
|
|
ingredient_decimals:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
comments:
|
|
type: boolean
|
|
shopping_auto_sync:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
mealplan_autoadd_shopping:
|
|
type: boolean
|
|
food_inherit_default:
|
|
allOf:
|
|
- $ref: '#/components/schemas/FoodInheritField'
|
|
readOnly: true
|
|
default_delay:
|
|
type: number
|
|
format: double
|
|
maximum: 10000
|
|
minimum: -10000
|
|
exclusiveMaximum: true
|
|
exclusiveMinimum: true
|
|
mealplan_autoinclude_related:
|
|
type: boolean
|
|
mealplan_autoexclude_onhand:
|
|
type: boolean
|
|
shopping_share:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
nullable: true
|
|
shopping_recent_days:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: 0
|
|
format: int64
|
|
csv_delim:
|
|
type: string
|
|
maxLength: 2
|
|
csv_prefix:
|
|
type: string
|
|
maxLength: 10
|
|
filter_to_supermarket:
|
|
type: boolean
|
|
shopping_add_onhand:
|
|
type: boolean
|
|
left_handed:
|
|
type: boolean
|
|
show_step_ingredients:
|
|
type: boolean
|
|
food_children_exist:
|
|
type: boolean
|
|
readOnly: true
|
|
PatchedUserSpace:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
user:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
space:
|
|
type: integer
|
|
readOnly: true
|
|
groups:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Group'
|
|
active:
|
|
type: boolean
|
|
internal_note:
|
|
type: string
|
|
nullable: true
|
|
invite_link:
|
|
type: integer
|
|
readOnly: true
|
|
nullable: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
PatchedViewLog:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
recipe:
|
|
type: integer
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
Property:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
property_amount:
|
|
type: number
|
|
format: double
|
|
nullable: true
|
|
property_type:
|
|
$ref: '#/components/schemas/PropertyType'
|
|
required:
|
|
- property_amount
|
|
- property_type
|
|
PropertyType:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
unit:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 64
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 512
|
|
order:
|
|
type: integer
|
|
default: 0
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
fdc_id:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
nullable: true
|
|
required:
|
|
- name
|
|
Recipe:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 512
|
|
image:
|
|
type: string
|
|
format: uri
|
|
readOnly: true
|
|
nullable: true
|
|
keywords:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Keyword'
|
|
steps:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Step'
|
|
working_time:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
waiting_time:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
source_url:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 1024
|
|
internal:
|
|
type: boolean
|
|
show_ingredient_overview:
|
|
type: boolean
|
|
nutrition:
|
|
allOf:
|
|
- $ref: '#/components/schemas/NutritionInformation'
|
|
nullable: true
|
|
properties:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Property'
|
|
food_properties:
|
|
readOnly: true
|
|
servings:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
file_path:
|
|
type: string
|
|
maxLength: 512
|
|
servings_text:
|
|
type: string
|
|
maxLength: 32
|
|
rating:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
nullable: true
|
|
last_cooked:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
nullable: true
|
|
private:
|
|
type: boolean
|
|
shared:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
required:
|
|
- created_at
|
|
- created_by
|
|
- food_properties
|
|
- image
|
|
- last_cooked
|
|
- name
|
|
- rating
|
|
- steps
|
|
- updated_at
|
|
RecipeBatchUpdate:
|
|
type: object
|
|
properties:
|
|
recipes:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
keywords_add:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
keywords_remove:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
keywords_set:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
keywords_remove_all:
|
|
type: boolean
|
|
default: false
|
|
working_time:
|
|
type: integer
|
|
nullable: true
|
|
waiting_time:
|
|
type: integer
|
|
nullable: true
|
|
servings:
|
|
type: integer
|
|
nullable: true
|
|
servings_text:
|
|
type: string
|
|
nullable: true
|
|
private:
|
|
type: boolean
|
|
nullable: true
|
|
shared_add:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
shared_remove:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
shared_set:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
shared_remove_all:
|
|
type: boolean
|
|
default: false
|
|
show_ingredient_overview:
|
|
type: boolean
|
|
nullable: true
|
|
clear_description:
|
|
type: boolean
|
|
nullable: true
|
|
required:
|
|
- keywords_add
|
|
- keywords_remove
|
|
- keywords_set
|
|
- recipes
|
|
- shared_add
|
|
- shared_remove
|
|
- shared_set
|
|
RecipeBook:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
shared:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
filter:
|
|
allOf:
|
|
- $ref: '#/components/schemas/CustomFilter'
|
|
nullable: true
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
required:
|
|
- created_by
|
|
- name
|
|
- shared
|
|
RecipeBookEntry:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
book:
|
|
type: integer
|
|
book_content:
|
|
allOf:
|
|
- $ref: '#/components/schemas/RecipeBook'
|
|
readOnly: true
|
|
recipe:
|
|
type: integer
|
|
recipe_content:
|
|
allOf:
|
|
- $ref: '#/components/schemas/RecipeOverview'
|
|
readOnly: true
|
|
required:
|
|
- book
|
|
- book_content
|
|
- recipe
|
|
- recipe_content
|
|
RecipeFlat:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
readOnly: true
|
|
image:
|
|
type: string
|
|
format: uri
|
|
readOnly: true
|
|
nullable: true
|
|
required:
|
|
- image
|
|
- name
|
|
RecipeFromSource:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 4096
|
|
data:
|
|
type: string
|
|
nullable: true
|
|
bookmarklet:
|
|
type: integer
|
|
nullable: true
|
|
RecipeFromSourceResponse:
|
|
type: object
|
|
properties:
|
|
recipe:
|
|
$ref: '#/components/schemas/SourceImportRecipe'
|
|
recipe_id:
|
|
type: integer
|
|
images:
|
|
type: array
|
|
items:
|
|
type: string
|
|
default: []
|
|
error:
|
|
type: boolean
|
|
default: false
|
|
msg:
|
|
type: string
|
|
default: ''
|
|
maxLength: 1024
|
|
duplicates:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SourceImportDuplicate'
|
|
default: []
|
|
RecipeImage:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
image:
|
|
type: string
|
|
format: uri
|
|
nullable: true
|
|
image_url:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 4096
|
|
RecipeImport:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
file_uid:
|
|
type: string
|
|
maxLength: 256
|
|
file_path:
|
|
type: string
|
|
maxLength: 512
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
storage:
|
|
type: integer
|
|
space:
|
|
type: integer
|
|
required:
|
|
- created_at
|
|
- name
|
|
- space
|
|
- storage
|
|
RecipeOverview:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 512
|
|
image:
|
|
type: string
|
|
format: uri
|
|
readOnly: true
|
|
nullable: true
|
|
keywords:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/KeywordLabel'
|
|
readOnly: true
|
|
working_time:
|
|
type: integer
|
|
readOnly: true
|
|
waiting_time:
|
|
type: integer
|
|
readOnly: true
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
internal:
|
|
type: boolean
|
|
readOnly: true
|
|
private:
|
|
type: boolean
|
|
servings:
|
|
type: integer
|
|
readOnly: true
|
|
servings_text:
|
|
type: string
|
|
readOnly: true
|
|
rating:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
nullable: true
|
|
last_cooked:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
nullable: true
|
|
new:
|
|
type: boolean
|
|
readOnly: true
|
|
recent:
|
|
type: string
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- created_by
|
|
- image
|
|
- internal
|
|
- keywords
|
|
- last_cooked
|
|
- name
|
|
- new
|
|
- rating
|
|
- recent
|
|
- servings
|
|
- servings_text
|
|
- updated_at
|
|
- waiting_time
|
|
- working_time
|
|
RecipeShoppingUpdate:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
list_recipe:
|
|
type: integer
|
|
writeOnly: true
|
|
nullable: true
|
|
description: Existing shopping list to update
|
|
ingredients:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
writeOnly: true
|
|
nullable: true
|
|
description: List of ingredient IDs from the recipe to add, if not provided
|
|
all ingredients will be added.
|
|
servings:
|
|
type: integer
|
|
writeOnly: true
|
|
nullable: true
|
|
default: 1
|
|
description: Providing a list_recipe ID and servings of 0 will delete that
|
|
shopping list.
|
|
required:
|
|
- ingredients
|
|
RecipeSimple:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
url:
|
|
type: string
|
|
readOnly: true
|
|
required:
|
|
- name
|
|
- url
|
|
SearchEnum:
|
|
enum:
|
|
- plain
|
|
- phrase
|
|
- websearch
|
|
- raw
|
|
type: string
|
|
description: |-
|
|
* `plain` - Simple
|
|
* `phrase` - Phrase
|
|
* `websearch` - Web
|
|
* `raw` - Raw
|
|
SearchFields:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
nullable: true
|
|
field:
|
|
type: string
|
|
nullable: true
|
|
required: []
|
|
SearchPreference:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
user:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
search:
|
|
$ref: '#/components/schemas/SearchEnum'
|
|
lookup:
|
|
type: boolean
|
|
unaccent:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
nullable: true
|
|
icontains:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
nullable: true
|
|
istartswith:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
nullable: true
|
|
trigram:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
nullable: true
|
|
fulltext:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SearchFields'
|
|
nullable: true
|
|
trigram_threshold:
|
|
type: number
|
|
format: double
|
|
maximum: 10
|
|
minimum: -10
|
|
exclusiveMaximum: true
|
|
exclusiveMinimum: true
|
|
required:
|
|
- user
|
|
ServerSettings:
|
|
type: object
|
|
properties:
|
|
shopping_min_autosync_interval:
|
|
type: string
|
|
enable_pdf_export:
|
|
type: boolean
|
|
disable_external_connectors:
|
|
type: boolean
|
|
terms_url:
|
|
type: string
|
|
privacy_url:
|
|
type: string
|
|
imprint_url:
|
|
type: string
|
|
hosted:
|
|
type: boolean
|
|
debug:
|
|
type: boolean
|
|
version:
|
|
type: string
|
|
unauthenticated_theme_from_space:
|
|
type: integer
|
|
force_theme_from_space:
|
|
type: integer
|
|
logo_color_32:
|
|
type: string
|
|
format: uri
|
|
logo_color_128:
|
|
type: string
|
|
logo_color_144:
|
|
type: string
|
|
logo_color_180:
|
|
type: string
|
|
logo_color_192:
|
|
type: string
|
|
logo_color_512:
|
|
type: string
|
|
logo_color_svg:
|
|
type: string
|
|
custom_space_theme:
|
|
type: string
|
|
nav_logo:
|
|
type: string
|
|
nav_bg_color:
|
|
type: string
|
|
required:
|
|
- debug
|
|
- disable_external_connectors
|
|
- enable_pdf_export
|
|
- force_theme_from_space
|
|
- hosted
|
|
- imprint_url
|
|
- privacy_url
|
|
- shopping_min_autosync_interval
|
|
- terms_url
|
|
- unauthenticated_theme_from_space
|
|
- version
|
|
ShareLink:
|
|
type: object
|
|
properties:
|
|
pk:
|
|
type: integer
|
|
share:
|
|
type: string
|
|
format: uuid
|
|
link:
|
|
type: string
|
|
required:
|
|
- link
|
|
- pk
|
|
- share
|
|
ShoppingListEntry:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
list_recipe:
|
|
type: integer
|
|
nullable: true
|
|
food:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Food'
|
|
nullable: true
|
|
unit:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Unit'
|
|
nullable: true
|
|
amount:
|
|
type: number
|
|
format: double
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
checked:
|
|
type: boolean
|
|
ingredient:
|
|
type: integer
|
|
nullable: true
|
|
list_recipe_data:
|
|
allOf:
|
|
- $ref: '#/components/schemas/ShoppingListRecipe'
|
|
readOnly: true
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
completed_at:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
delay_until:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
mealplan_id:
|
|
type: integer
|
|
writeOnly: true
|
|
description: If a mealplan id is given try to find existing or create new
|
|
ShoppingListRecipe with that meal plan and link entry to it
|
|
required:
|
|
- amount
|
|
- created_at
|
|
- created_by
|
|
- food
|
|
- list_recipe_data
|
|
- updated_at
|
|
ShoppingListEntryBulk:
|
|
type: object
|
|
properties:
|
|
ids:
|
|
type: array
|
|
items: {}
|
|
checked:
|
|
type: boolean
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- checked
|
|
- ids
|
|
- timestamp
|
|
ShoppingListEntryBulkCreate:
|
|
type: object
|
|
properties:
|
|
entries:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ShoppingListEntrySimpleCreate'
|
|
required:
|
|
- entries
|
|
ShoppingListEntrySimpleCreate:
|
|
type: object
|
|
properties:
|
|
amount:
|
|
type: number
|
|
format: double
|
|
unit_id:
|
|
type: integer
|
|
nullable: true
|
|
food_id:
|
|
type: integer
|
|
nullable: true
|
|
ingredient_id:
|
|
type: integer
|
|
nullable: true
|
|
required:
|
|
- amount
|
|
- food_id
|
|
- ingredient_id
|
|
- unit_id
|
|
ShoppingListRecipe:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 32
|
|
recipe:
|
|
type: integer
|
|
nullable: true
|
|
recipe_data:
|
|
allOf:
|
|
- $ref: '#/components/schemas/RecipeOverview'
|
|
readOnly: true
|
|
mealplan:
|
|
type: integer
|
|
nullable: true
|
|
meal_plan_data:
|
|
allOf:
|
|
- $ref: '#/components/schemas/MealPlan'
|
|
readOnly: true
|
|
servings:
|
|
type: number
|
|
format: double
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
required:
|
|
- created_by
|
|
- meal_plan_data
|
|
- recipe_data
|
|
- servings
|
|
SourceImportDuplicate:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
SourceImportFood:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
SourceImportIngredient:
|
|
type: object
|
|
properties:
|
|
amount:
|
|
type: number
|
|
format: double
|
|
food:
|
|
$ref: '#/components/schemas/SourceImportFood'
|
|
unit:
|
|
$ref: '#/components/schemas/SourceImportUnit'
|
|
note:
|
|
type: string
|
|
original_text:
|
|
type: string
|
|
required:
|
|
- amount
|
|
- food
|
|
- original_text
|
|
- unit
|
|
SourceImportKeyword:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
nullable: true
|
|
readOnly: false
|
|
label:
|
|
type: string
|
|
name:
|
|
type: string
|
|
import_keyword:
|
|
type: boolean
|
|
default: true
|
|
required:
|
|
- label
|
|
- name
|
|
SourceImportProperty:
|
|
type: object
|
|
properties:
|
|
property_type:
|
|
$ref: '#/components/schemas/SourceImportPropertyType'
|
|
property_amount:
|
|
type: number
|
|
format: double
|
|
required:
|
|
- property_amount
|
|
- property_type
|
|
SourceImportPropertyType:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
SourceImportRecipe:
|
|
type: object
|
|
properties:
|
|
steps:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SourceImportStep'
|
|
internal:
|
|
type: boolean
|
|
default: true
|
|
source_url:
|
|
type: string
|
|
format: uri
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
servings:
|
|
type: integer
|
|
default: 1
|
|
servings_text:
|
|
type: string
|
|
default: ''
|
|
working_time:
|
|
type: integer
|
|
default: 0
|
|
waiting_time:
|
|
type: integer
|
|
default: 0
|
|
image_url:
|
|
type: string
|
|
format: uri
|
|
keywords:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SourceImportKeyword'
|
|
default: []
|
|
properties:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SourceImportProperty'
|
|
default: []
|
|
required:
|
|
- name
|
|
- source_url
|
|
- steps
|
|
SourceImportStep:
|
|
type: object
|
|
properties:
|
|
instruction:
|
|
type: string
|
|
ingredients:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SourceImportIngredient'
|
|
show_ingredients_table:
|
|
type: boolean
|
|
default: true
|
|
required:
|
|
- ingredients
|
|
- instruction
|
|
SourceImportUnit:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
Space:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
message:
|
|
type: string
|
|
maxLength: 512
|
|
max_recipes:
|
|
type: integer
|
|
readOnly: true
|
|
max_file_storage_mb:
|
|
type: integer
|
|
readOnly: true
|
|
description: Maximum file storage for space in MB. 0 for unlimited, -1 to
|
|
disable file upload.
|
|
max_users:
|
|
type: integer
|
|
readOnly: true
|
|
allow_sharing:
|
|
type: boolean
|
|
readOnly: true
|
|
demo:
|
|
type: boolean
|
|
readOnly: true
|
|
food_inherit:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/FoodInheritField'
|
|
user_count:
|
|
type: integer
|
|
readOnly: true
|
|
recipe_count:
|
|
type: integer
|
|
readOnly: true
|
|
file_size_mb:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
image:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
nav_logo:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
space_theme:
|
|
$ref: '#/components/schemas/SpaceThemeEnum'
|
|
custom_space_theme:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
nav_bg_color:
|
|
type: string
|
|
maxLength: 8
|
|
nav_text_color:
|
|
$ref: '#/components/schemas/SpaceNavTextColorEnum'
|
|
logo_color_32:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_128:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_144:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_180:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_192:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_512:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
logo_color_svg:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
ai_credits_monthly:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
ai_credits_balance:
|
|
type: number
|
|
format: double
|
|
maximum: 1000000000000
|
|
minimum: -1000000000000
|
|
exclusiveMaximum: true
|
|
exclusiveMinimum: true
|
|
ai_monthly_credits_used:
|
|
type: integer
|
|
readOnly: true
|
|
ai_enabled:
|
|
type: boolean
|
|
ai_default_provider:
|
|
allOf:
|
|
- $ref: '#/components/schemas/AiProvider'
|
|
nullable: true
|
|
space_setup_completed:
|
|
type: boolean
|
|
required:
|
|
- ai_monthly_credits_used
|
|
- allow_sharing
|
|
- created_at
|
|
- created_by
|
|
- demo
|
|
- file_size_mb
|
|
- max_file_storage_mb
|
|
- max_recipes
|
|
- max_users
|
|
- recipe_count
|
|
- user_count
|
|
SpaceNavTextColorEnum:
|
|
enum:
|
|
- BLANK
|
|
- LIGHT
|
|
- DARK
|
|
type: string
|
|
description: |-
|
|
* `BLANK` - -------
|
|
* `LIGHT` - Light
|
|
* `DARK` - Dark
|
|
SpaceThemeEnum:
|
|
enum:
|
|
- BLANK
|
|
- TANDOOR
|
|
- BOOTSTRAP
|
|
- DARKLY
|
|
- FLATLY
|
|
- SUPERHERO
|
|
- TANDOOR_DARK
|
|
type: string
|
|
description: |-
|
|
* `BLANK` - -------
|
|
* `TANDOOR` - Tandoor
|
|
* `BOOTSTRAP` - Bootstrap
|
|
* `DARKLY` - Darkly
|
|
* `FLATLY` - Flatly
|
|
* `SUPERHERO` - Superhero
|
|
* `TANDOOR_DARK` - Tandoor Dark (INCOMPLETE)
|
|
Step:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
instruction:
|
|
type: string
|
|
ingredients:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Ingredient'
|
|
instructions_markdown:
|
|
type: string
|
|
readOnly: true
|
|
time:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
show_as_header:
|
|
type: boolean
|
|
file:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
step_recipe:
|
|
type: integer
|
|
nullable: true
|
|
step_recipe_data:
|
|
readOnly: true
|
|
numrecipe:
|
|
type: integer
|
|
readOnly: true
|
|
show_ingredients_table:
|
|
type: boolean
|
|
required:
|
|
- ingredients
|
|
- instructions_markdown
|
|
- numrecipe
|
|
- step_recipe_data
|
|
Storage:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
method:
|
|
$ref: '#/components/schemas/MethodEnum'
|
|
username:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
password:
|
|
type: string
|
|
writeOnly: true
|
|
nullable: true
|
|
maxLength: 128
|
|
token:
|
|
type: string
|
|
writeOnly: true
|
|
nullable: true
|
|
maxLength: 4098
|
|
url:
|
|
type: string
|
|
format: uri
|
|
nullable: true
|
|
maxLength: 200
|
|
path:
|
|
type: string
|
|
maxLength: 256
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
required:
|
|
- created_by
|
|
- name
|
|
Supermarket:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
minLength: 1
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
category_to_supermarket:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SupermarketCategoryRelation'
|
|
readOnly: true
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
required:
|
|
- category_to_supermarket
|
|
- name
|
|
SupermarketCategory:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
minLength: 1
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
required:
|
|
- name
|
|
SupermarketCategoryRelation:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
category:
|
|
$ref: '#/components/schemas/SupermarketCategory'
|
|
supermarket:
|
|
type: integer
|
|
order:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
required:
|
|
- category
|
|
- supermarket
|
|
Sync:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
storage:
|
|
$ref: '#/components/schemas/Storage'
|
|
path:
|
|
type: string
|
|
maxLength: 512
|
|
active:
|
|
type: boolean
|
|
last_checked:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- storage
|
|
- updated_at
|
|
SyncLog:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
sync:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Sync'
|
|
readOnly: true
|
|
status:
|
|
type: string
|
|
maxLength: 32
|
|
msg:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- status
|
|
- sync
|
|
ThemeEnum:
|
|
enum:
|
|
- TANDOOR
|
|
- BOOTSTRAP
|
|
- DARKLY
|
|
- FLATLY
|
|
- SUPERHERO
|
|
- TANDOOR_DARK
|
|
type: string
|
|
description: |-
|
|
* `TANDOOR` - Tandoor
|
|
* `BOOTSTRAP` - Bootstrap
|
|
* `DARKLY` - Darkly
|
|
* `FLATLY` - Flatly
|
|
* `SUPERHERO` - Superhero
|
|
* `TANDOOR_DARK` - Tandoor Dark (INCOMPLETE)
|
|
Unit:
|
|
type: object
|
|
description: |-
|
|
Moves `UniqueValidator`'s from the validation stage to the save stage.
|
|
It solves the problem with nested validation for unique fields on update.
|
|
|
|
If you want more details, you can read related issues and articles:
|
|
https://github.com/beda-software/drf-writable-nested/issues/1
|
|
http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
|
|
|
|
Example of usage:
|
|
```
|
|
class Child(models.Model):
|
|
field = models.CharField(unique=True)
|
|
|
|
|
|
class Parent(models.Model):
|
|
child = models.ForeignKey('Child')
|
|
|
|
|
|
class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Child
|
|
|
|
|
|
class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
|
|
child = ChildSerializer()
|
|
|
|
class Meta:
|
|
model = Parent
|
|
```
|
|
|
|
Note: `UniqueFieldsMixin` must be applied only on the serializer
|
|
which has unique fields.
|
|
|
|
Note: When you are using both mixins
|
|
(`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
|
|
you should put `UniqueFieldsMixin` ahead.
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
minLength: 1
|
|
plural_name:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
base_unit:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 256
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
required:
|
|
- name
|
|
UnitConversion:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
readOnly: true
|
|
base_amount:
|
|
type: number
|
|
format: double
|
|
base_unit:
|
|
$ref: '#/components/schemas/Unit'
|
|
converted_amount:
|
|
type: number
|
|
format: double
|
|
converted_unit:
|
|
$ref: '#/components/schemas/Unit'
|
|
food:
|
|
allOf:
|
|
- $ref: '#/components/schemas/Food'
|
|
nullable: true
|
|
open_data_slug:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
required:
|
|
- base_amount
|
|
- base_unit
|
|
- converted_amount
|
|
- converted_unit
|
|
- name
|
|
User:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
username:
|
|
type: string
|
|
readOnly: true
|
|
title: Nome utente
|
|
description: Obbligatorio. 150 caratteri o meno.Solo lettere, cifre e @/./+/-/_
|
|
first_name:
|
|
type: string
|
|
title: Nome
|
|
maxLength: 150
|
|
last_name:
|
|
type: string
|
|
title: Cognome
|
|
maxLength: 150
|
|
display_name:
|
|
type: string
|
|
readOnly: true
|
|
is_staff:
|
|
type: boolean
|
|
readOnly: true
|
|
title: Privilegi di staff
|
|
description: Stabilisce se l'utente può accedere a questo sito di amministrazione.
|
|
is_superuser:
|
|
type: boolean
|
|
readOnly: true
|
|
title: Privilegi di superutente
|
|
description: Attribuisce all'utente tutti i privilegi, senza che sia necessario
|
|
assegnarli esplicitamente.
|
|
is_active:
|
|
type: boolean
|
|
readOnly: true
|
|
title: Attivo
|
|
description: Stabilisce se l'utente debba essere considerato attivo. Deseleziona
|
|
qui, piuttosto che cancellare gli account.
|
|
required:
|
|
- display_name
|
|
- is_active
|
|
- is_staff
|
|
- is_superuser
|
|
- username
|
|
UserFile:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
file:
|
|
type: string
|
|
format: uri
|
|
writeOnly: true
|
|
file_download:
|
|
type: string
|
|
readOnly: true
|
|
preview:
|
|
type: string
|
|
readOnly: true
|
|
file_size_kb:
|
|
type: integer
|
|
readOnly: true
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- created_by
|
|
- file_download
|
|
- file_size_kb
|
|
- name
|
|
- preview
|
|
UserFileView:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
file_download:
|
|
type: string
|
|
readOnly: true
|
|
preview:
|
|
type: string
|
|
readOnly: true
|
|
file_size_kb:
|
|
type: integer
|
|
readOnly: true
|
|
created_by:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- created_by
|
|
- file_download
|
|
- file_size_kb
|
|
- name
|
|
- preview
|
|
UserPreference:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
user:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
image:
|
|
allOf:
|
|
- $ref: '#/components/schemas/UserFileView'
|
|
nullable: true
|
|
theme:
|
|
$ref: '#/components/schemas/ThemeEnum'
|
|
nav_bg_color:
|
|
type: string
|
|
maxLength: 8
|
|
nav_text_color:
|
|
$ref: '#/components/schemas/UserPreferenceNavTextColorEnum'
|
|
nav_show_logo:
|
|
type: boolean
|
|
default_unit:
|
|
type: string
|
|
maxLength: 32
|
|
default_page:
|
|
$ref: '#/components/schemas/DefaultPageEnum'
|
|
use_fractions:
|
|
type: boolean
|
|
use_kj:
|
|
type: boolean
|
|
plan_share:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
nullable: true
|
|
nav_sticky:
|
|
type: boolean
|
|
ingredient_decimals:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
comments:
|
|
type: boolean
|
|
shopping_auto_sync:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: -9223372036854775808
|
|
format: int64
|
|
mealplan_autoadd_shopping:
|
|
type: boolean
|
|
food_inherit_default:
|
|
allOf:
|
|
- $ref: '#/components/schemas/FoodInheritField'
|
|
readOnly: true
|
|
default_delay:
|
|
type: number
|
|
format: double
|
|
maximum: 10000
|
|
minimum: -10000
|
|
exclusiveMaximum: true
|
|
exclusiveMinimum: true
|
|
mealplan_autoinclude_related:
|
|
type: boolean
|
|
mealplan_autoexclude_onhand:
|
|
type: boolean
|
|
shopping_share:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
nullable: true
|
|
shopping_recent_days:
|
|
type: integer
|
|
maximum: 9223372036854775807
|
|
minimum: 0
|
|
format: int64
|
|
csv_delim:
|
|
type: string
|
|
maxLength: 2
|
|
csv_prefix:
|
|
type: string
|
|
maxLength: 10
|
|
filter_to_supermarket:
|
|
type: boolean
|
|
shopping_add_onhand:
|
|
type: boolean
|
|
left_handed:
|
|
type: boolean
|
|
show_step_ingredients:
|
|
type: boolean
|
|
food_children_exist:
|
|
type: boolean
|
|
readOnly: true
|
|
required:
|
|
- food_children_exist
|
|
- food_inherit_default
|
|
- user
|
|
UserPreferenceNavTextColorEnum:
|
|
enum:
|
|
- LIGHT
|
|
- DARK
|
|
type: string
|
|
description: |-
|
|
* `LIGHT` - Light
|
|
* `DARK` - Dark
|
|
UserSpace:
|
|
type: object
|
|
description: Adds nested create feature
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
user:
|
|
allOf:
|
|
- $ref: '#/components/schemas/User'
|
|
readOnly: true
|
|
space:
|
|
type: integer
|
|
readOnly: true
|
|
groups:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Group'
|
|
active:
|
|
type: boolean
|
|
internal_note:
|
|
type: string
|
|
nullable: true
|
|
invite_link:
|
|
type: integer
|
|
readOnly: true
|
|
nullable: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- groups
|
|
- invite_link
|
|
- space
|
|
- updated_at
|
|
- user
|
|
ViewLog:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
readOnly: false
|
|
recipe:
|
|
type: integer
|
|
created_by:
|
|
type: integer
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
required:
|
|
- created_at
|
|
- created_by
|
|
- recipe
|
|
securitySchemes:
|
|
ApiKeyAuth:
|
|
type: apiKey
|
|
in: header
|
|
name: Authorization
|