Module mycalendar.views

View module.

Copyright ycookjp

https://github.com/ycookjp/

Functions

def delete_monthly(request: django.http.request.HttpRequest, user: str, year: int, month: int)

DELETE delete_monthly/<str:user>/<int:year>/<int:month>/

年月を指定してカレンダー情報を削除する。

Args

request : HttpRequest
リクエストオブジェクト
user : str
ユーザー名
year : int
month : int

Raises

ValidationError:

  • URLパラメータのmonthの値が1より小さい、または12より大きい場合
def get_daily(request: django.http.request.HttpRequest,
user: str,
year: int,
month: int,
day: int)

GET get_daily/<str:user>/<int:year>/<int:month>/<int:day>/

年月日を指定してカレンダー情報を取得する。

  • データベースから指定されたユーザー、年月日の MyCalendar オブジェクトを 取得する。
  • データベースに指定されたユーザー、年月日の MyCalendar オブジェクトが存在 しない場合は、ユーザーのその月の MyCalendar オブジェクトをデータベースに 作成した上で、指定された年月日の MyCalendar オブジェクトを返す。

Args

request : HttpRequest
リクエストオブジェクト
user : str
ユーザー名
year : int
month : int

day(int): 日

Returns

JsonResponse
指定された年月日の MyCalendar オブジェクトの内容を設定 したJSONオブジェクトレスポンス・ボディに設定して返す。
{
  "id": ID,
  "user": "<user_name>",
  "year": <year>,
  "month": <month>,
  "day": <day>,
  "note": "<note>"
}

Raises

ValidationError

  • URLパラメータの month の値が 1 より小さい、または 12 より大きい場合
  • URLパラメータの day の値が 1 より大きい、または month で指定された 月の最終日より大きい場合
def get_monthly(request: django.http.request.HttpRequest, user: str, year: int, month: int)

GET get_monthly/<str:user>/<int:year>/<int:month>/

年月を指定してカレンダー情報を取得する。

Args

request : HttpRequest
リクエストオブジェクト
user : str
ユーザー名
year : int
month : int

Returns

JsonResponse
指定された年月のカレンダー情報の配列を設定したJSON オブジェクトをレスポンス・ボディに設定して返す。
[
  {
    "id": ID,
    "user": "<user_name>",
    "year": <year>,
    "month": <month>,
    "day": <day>,
    "note": "<note>"
  },
  ...
]

Raises

ValidationError

  • URLパラメータの month の値が 1 より小さい、または 12 より大きい場合
def save_daily(request: django.http.request.HttpRequest,
user: str,
year: int,
month: int,
day: int)

PUT save_daily/<str:user>/<int:year>/<int:month>/<int:day>/

年月日を指定してカレンダー情報を登録・更新する。

  • リクエスト・ボディ

    {
      "id": ID,
      "user": "<user_name>",
      "year": <year>,
      "month": <month>,
      "day": <day>,
      "note": "<note>"
    }
    
    • 登録(レコードのインサート)の場合は、「id」は指定しない(項目なし または値が空)
    • URLパラメータで指定された年月のカレンダー情報がDBに登録されていない 場合は、その年月の1ヶ月分のカレンダー情報をDBに登録した後に、 リクエスト・ボディに設定されたカレンダー情報をDBに更新する

Args

request : HttpRequest
リクエストオブジェクト
user : str
ユーザー名
year : int
month : int

day(int): 日

Raises

ValidationError:

  • URLパラメータの user、year、month、day がリクエスト・ボディの JSONオブジェクトのそれぞれの同名の属性と一致しないものがある場合
  • URLパラメータの month の値が 1 より小さい、または 12 より大きい場合
  • URLパラメータの day の値が 1 より大きい、または month で指定された 月の最終日より大きい場合
def save_monthly(request: django.http.request.HttpRequest, user: str, year: int, month: int)

PUT save_monthly/<str:user>/<int:year>/<int:month>/

年月を指定してカレンダー情報を登録・更新する。

  • リクエスト・ボディ

    [
      {
        "id": ID,
        "user": "<user_name>",
        "year": <year>,
        "month": <month>,
        "day": <day>,
        "note": "<note>"
      },
      ...
    ]
    
    • 登録(レコードのインサート)の場合は、「id」は指定しない(項目なし または値が空)
    • URLパラメータで指定された年月のカレンダー情報がDBに登録されていない 場合は、その年月の1ヶ月分のカレンダー情報をDBに登録した後に、 リクエスト・ボディに設定されたカレンダー情報をDBに更新する

Args

request : HttpRequest
リクエストオブジェクト
user : str
ユーザー名
year : int
month : int

Raises

ValidationError:

  • URLパラメータのmonthの値が1より小さい、または12より大きい場合
  • リクエスト・ボディのディクショナリ配列の個々の要素について、 monthの値が1より小さい、または12より大きい場合
  • リクエスト・ボディのディクショナリ配列の個々の要素について、 dayの値が1より小さい、または月の最終日より大きい場合