table:
  schema: public
  name: availability_time
object_relationships:
  - name: appointment
    using:
      foreign_key_constraint_on: appointment_id
  - name: availability
    using:
      foreign_key_constraint_on: availability_id
insert_permissions:
  - role: marketplace
    permission:
      check:
        availability:
          user_id:
            _eq: X-Hasura-User-Id
      columns:
        - appointment_id
        - availability_id
        - id
        - reason
        - status
        - time
        - timezone
      backend_only: false
  - role: nutritionist_manager
    permission:
      check: {}
      columns:
        - appointment_id
        - availability_id
        - id
        - reason
        - status
        - time
        - timezone
      backend_only: false
  - role: personal_trainer
    permission:
      check:
        availability:
          user_id:
            _eq: X-Hasura-User-Id
      columns:
        - appointment_id
        - availability_id
        - id
        - reason
        - status
        - time
        - timezone
  - role: user
    permission:
      check:
        availability:
          user_id:
            _eq: X-Hasura-User-Id
      columns:
        - appointment_id
        - availability_id
        - id
        - reason
        - status
        - time
        - timezone
      backend_only: false
select_permissions:
  - role: marketplace
    permission:
      columns:
        - appointment_id
        - availability_id
        - id
        - reason
        - status
        - time
        - timezone
      filter:
        availability:
          user_id:
            _eq: X-Hasura-User-Id
  - role: nutritionist_manager
    permission:
      columns:
        - appointment_id
        - availability_id
        - id
        - reason
        - status
        - time
        - timezone
      filter: {}
      allow_aggregations: true
  - role: patient
    permission:
      columns:
        - appointment_id
        - availability_id
        - id
        - reason
        - status
        - time
        - timezone
      filter: {}
      allow_aggregations: true
  - role: personal_trainer
    permission:
      columns:
        - appointment_id
        - availability_id
        - id
        - reason
        - status
        - time
        - timezone
      filter:
        availability:
          user_id:
            _eq: X-Hasura-User-Id
  - role: user
    permission:
      columns:
        - appointment_id
        - availability_id
        - id
        - reason
        - status
        - time
        - timezone
      filter:
        availability:
          user_id:
            _eq: X-Hasura-User-Id
update_permissions:
  - role: nutritionist_manager
    permission:
      columns:
        - reason
        - status
      filter: {}
      check: null
delete_permissions:
  - role: marketplace
    permission:
      filter:
        availability:
          user_id:
            _eq: X-Hasura-User-Id
  - role: nutritionist_manager
    permission:
      filter: {}
  - role: personal_trainer
    permission:
      filter:
        availability:
          user_id:
            _eq: X-Hasura-User-Id
  - role: user
    permission:
      filter:
        availability:
          user_id:
            _eq: X-Hasura-User-Id
