Add Plan page with day planner

This commit is contained in:
Martin Pander
2022-11-26 18:41:39 +01:00
parent d9b92ab4e9
commit 32346e0aa9
48 changed files with 2400 additions and 148 deletions

View File

@ -1,15 +1,20 @@
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:
@ -22,9 +27,11 @@ paths:
/journal/entry/{date}:
get:
operationId: getJournalEntryForDate
tags:
- journal
responses:
'200':
description: A journal entry for a specific day.
description: A journal entry for a specific date.
content:
application/json:
schema:
@ -39,6 +46,8 @@ paths:
example: 2022-02-18
delete:
operationId: deleteJournalEntryForDate
tags:
- journal
responses:
'200':
description: Journal entry successfully deleted.
@ -50,6 +59,112 @@ paths:
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:
@ -95,4 +210,109 @@ components:
- "do better 3"
journal:
type: string
example: "journal entry 1"
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"]'