/v2/admin/verify-passkey:
  post:
    tags:
    - admin
    description: Verify admin's passkey
    operationId: verifyPasskey
    security:
    - bearerAuth: []
    requestBody:
      required: true
      content:
        application/json: 
          schema: 
            type: object
            properties:
              passkey:
                description: passkey
                type: string

    responses:
      $ref#4xx: './responses/4xx.yaml'
      200:
        description: result pass or no
        content:
          application/json:
            schema: 
              type: object
              properties:
                value:
                  description: result is pass or no
                  type: boolean
/v2/admin:
  get:
    tags:
      - admin
    description: List Admin's Accounts
    operationId: listAdminAccounts
    security:
    - bearerAuth: []
    responses:
      $ref#4xx: './responses/4xx.yaml'
      200:
        description: List Admin's Accounts
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Admin'
  post:
    tags:
      - admin
    description: Update/Create Admin
    operationId: saveAdmin
    security:
    - bearerAuth: []
    requestBody:
      required: true
      content:
        application/json: 
          schema: 
            $ref: '#/components/schemas/Admin'
    responses:
      $ref#4xx: './responses/4xx.yaml'
      $ref#upsert: './responses/20x-upsert.yaml'
/v2/admin/{id}:
  get:
    tags:
      - admin
    description: Admin's Account
    operationId: getAdminAccount
    security:
    - bearerAuth: []
    parameters:
    - $ref#id: './parameters/objectid.yaml'
    responses:
      $ref#4xx: './responses/4xx.yaml'
      200:
        description: Get Admin's Accounts
        content:
          application/json:
            schema:
              type: object
              properties: 
                value:
                  $ref: '#/components/schemas/Admin'
  delete:
    tags:
    - admin
    description: Delete a admin with given id
    operationId: deleteAdmin
    security:
    - bearerAuth: []
    parameters:
    - $ref#id: './parameters/objectid.yaml'
    responses:
      $ref#4xx: './responses/4xx.yaml'
      $ref#204: './responses/204.yaml'

/v2/aaccount:
  get:
    tags:
      - admin
    description: Admin's Account
    operationId: getCurrentAdminAccount
    security:
    - bearerAuth: []
    responses:
      $ref#4xx: './responses/4xx.yaml'
      200:
        description: Get Admin's Accounts
        content:
          application/json:
            schema:
              type: object
              properties: 
                value:
                  $ref: '#/components/schemas/Admin'
  post:
    tags:
      - admin
    description: Admin's Account
    operationId: saveCurrentAdminAccount
    security:
    - bearerAuth: []
    requestBody:
      required: true
      content:
        application/json: 
          schema: 
            $ref: '#/components/schemas/Admin'
    responses:
      $ref#4xx: './responses/4xx.yaml'
      $ref#204: './responses/204.yaml'