318 lines
7.0 KiB
YAML
318 lines
7.0 KiB
YAML
openapi: '3.0.2'
|
|
|
|
info:
|
|
title: Dash API
|
|
version: '0.1'
|
|
|
|
servers:
|
|
- url: http://localhost:18010/api/v1
|
|
- url: http://localhost:8080/api/v1
|
|
- url: https://dash.pander.me/api/v1
|
|
|
|
paths:
|
|
/journal/entry/:
|
|
post:
|
|
operationId: writeJournalEntry
|
|
tags:
|
|
- journal
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/JournalEntry'
|
|
responses:
|
|
'200':
|
|
description: Journal entry successfully written.
|
|
/journal/entry/{date}:
|
|
get:
|
|
operationId: getJournalEntryForDate
|
|
tags:
|
|
- journal
|
|
responses:
|
|
'200':
|
|
description: A journal entry for a specific date.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/JournalEntry'
|
|
parameters:
|
|
- name: date
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2022-02-18
|
|
delete:
|
|
operationId: deleteJournalEntryForDate
|
|
tags:
|
|
- journal
|
|
responses:
|
|
'200':
|
|
description: Journal entry successfully deleted.
|
|
parameters:
|
|
- name: date
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2022-02-18
|
|
|
|
/plan/day/entry/:
|
|
post:
|
|
operationId: savePlanForDay
|
|
tags:
|
|
- plan
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PlanDay'
|
|
responses:
|
|
'200':
|
|
description: Plan successfully written.
|
|
/plan/day/entry/{date}:
|
|
get:
|
|
operationId: getPlanDayForDate
|
|
tags:
|
|
- plan
|
|
responses:
|
|
'200':
|
|
description: A plan for a specific date.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PlanDay'
|
|
parameters:
|
|
- name: date
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2022-02-18
|
|
|
|
/plan/week/entry/:
|
|
post:
|
|
operationId: savePlanForWeek
|
|
tags:
|
|
- plan
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PlanWeek'
|
|
responses:
|
|
'200':
|
|
description: Plan successfully written.
|
|
/plan/week/entry/{date}:
|
|
get:
|
|
operationId: getPlanWeekForDate
|
|
tags:
|
|
- plan
|
|
responses:
|
|
'200':
|
|
description: A plan for a specific week.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PlanWeek'
|
|
parameters:
|
|
- name: date
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2022-02-18
|
|
|
|
/plan/month/entry/:
|
|
post:
|
|
operationId: savePlanForMonth
|
|
tags:
|
|
- plan
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PlanMonth'
|
|
responses:
|
|
'200':
|
|
description: Plan successfully written.
|
|
/plan/month/entry/{date}:
|
|
get:
|
|
operationId: getPlanMonthForDate
|
|
tags:
|
|
- plan
|
|
responses:
|
|
'200':
|
|
description: A plan for a specific week.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PlanMonth'
|
|
parameters:
|
|
- name: date
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2022-02-18
|
|
|
|
components:
|
|
schemas:
|
|
JournalEntry:
|
|
type: object
|
|
required:
|
|
- date
|
|
properties:
|
|
date:
|
|
type: string
|
|
format: date
|
|
example: 2022-02-18
|
|
thankful:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example:
|
|
- "thankful 1"
|
|
- "thankful 2"
|
|
- "thankful 3"
|
|
looking_forward:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example:
|
|
- "looking forward 1"
|
|
- "looking forward 2"
|
|
- "looking forward 3"
|
|
been_great:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example:
|
|
- "been great 1"
|
|
- "been great 2"
|
|
- "been great 3"
|
|
do_better:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example:
|
|
- "do better 1"
|
|
- "do better 2"
|
|
- "do better 3"
|
|
journal:
|
|
type: string
|
|
example: "journal entry 1"
|
|
|
|
PlanDay:
|
|
type: object
|
|
required:
|
|
- date
|
|
properties:
|
|
date:
|
|
type: string
|
|
format: date
|
|
example: 2022-02-18
|
|
morning:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example:
|
|
- "morning 1"
|
|
- "morning 2"
|
|
- "morning 3"
|
|
midday:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example:
|
|
- "midday 1"
|
|
- "midday 2"
|
|
- "midday 3"
|
|
afternoon:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example:
|
|
- "afternoon 1"
|
|
- "afternoon 2"
|
|
- "afternoon 3"
|
|
evening:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example:
|
|
- "evening 1"
|
|
- "evening 2"
|
|
- "evening 3"
|
|
pleasant:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example:
|
|
- "pleasant 1"
|
|
- "pleasant 2"
|
|
- "pleasant 3"
|
|
reminders:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example:
|
|
- "reminders 1"
|
|
- "reminders 2"
|
|
- "reminders 3"
|
|
|
|
PlanWeek:
|
|
type: object
|
|
required:
|
|
- date
|
|
properties:
|
|
date:
|
|
type: string
|
|
format: date
|
|
example: 2022-02-18
|
|
items:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PlanWeekItem'
|
|
example: '[{"item": "witem 1"}, {"item": "witem 2", "numTodos":3, "numDone":2}, {"item": "witem 3", "numTodos":2, "numDone":2}]'
|
|
|
|
PlanWeekItem:
|
|
type: object
|
|
required:
|
|
- item
|
|
properties:
|
|
item:
|
|
type: string
|
|
example: 'planWeekItem'
|
|
numTodos:
|
|
type: integer
|
|
format: int32
|
|
example: 3
|
|
numDone:
|
|
type: integer
|
|
format: int32
|
|
example: 2
|
|
|
|
PlanMonth:
|
|
type: object
|
|
required:
|
|
- date
|
|
properties:
|
|
date:
|
|
type: string
|
|
format: date
|
|
example: 2022-02-18
|
|
items:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example: '["mitem1", "mitem2", "mitem3"]' |