yamori

有給休暇計算を主目的とした簡易勤怠管理システム

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
# SPDX-License-Identifier: MPL-2.0
# Copyright 2026 Shota FUJI
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.

openapi: "3.1"
info:
  title: Yamori Internal API
  version: "0.0.0-unstable"

paths:
  /health:
    get:
      tags: ["meta"]
      summary: ハートビート
      description: |
        死活監視用のハートビートエンドポイント。

        HTTP サーバ機能の動作確認用。
        なおアプリケーション機能の動作正常性を保証するものではない。
      responses:
        "204":
          description: HTTP 送受機能は動作している
  /me:
    get:
      tags: ["account"]
      summary: ログインユーザ取得
      description: |
        現在ログイン中のユーザ情報を取得する。

        ログイン状態は JS によるアクセス不可の Cookie に保存され、
        サーバ側のみが読み取り・書き取りを行う。
        そのため JS は認証必須のエンドポイントをそのままコールし
        HTTP 401 が返ってきたらログアウト状態に遷移する必要がある。

        ブラウザ以外での API 利用は禁止はしていないもののサポート
        はしていないため、トークンによる認証は行っていない。
      responses:
        "200":
          description: 現在ログイン中のユーザ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserAccount"
        "401":
          description: ログインしていない

components:
  schemas:
    UserAccount:
      type: object
      properties:
        id:
          type: string
          description: |
            ワークスペース内全てのユーザで一意の識別子。
        attributes:
          type: object
          description: |
            ワークスペース固有のユーザカスタム属性。
          additionalProperties:
            oneOf:
            - type: null
            - type: boolean
            - type: number
            - type: string