actions:
  - name: accept_invite_competition
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/ranking/competition/acceptInvite'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: available_features
    definition:
      kind: ""
      handler: '{{ACTIONS_HANDLER_URL}}/plans/available_features'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: available_plans
    definition:
      kind: ""
      handler: '{{ACTIONS_HANDLER_URL}}/plans/available'
      forward_client_headers: true
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: book
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/bookings/book'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: marketplace
      - role: nutritionist_manager
      - role: patient
      - role: user
  - name: campaign_credit
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/patients/add_credit_by_campaign'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: cancel_book
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/bookings/cancel'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: marketplace
      - role: nutritionist_manager
      - role: patient
      - role: user
  - name: cancel_subscription
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/subscriptions/cancel'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: nutritionist_manager
      - role: user
  - name: change_income_status
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/nutritionists/financial/change_income_status'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: nutritionist_manager
  - name: check_booking_conditions
    definition:
      kind: ""
      handler: '{{ACTIONS_HANDLER_URL}}/bookings/checkBookingConditions'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: check_subscription
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/subscriptions/check'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: nutritionist_manager
      - role: patient
      - role: user
  - name: consolidate_month
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/nutritionists/financial/consolidate_month'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: nutritionist_manager
  - name: createChallenge
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/challenge/create'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: createPatient
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/patients/sign_up'
      forward_client_headers: true
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: anonymous
  - name: createUser
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/nutritionists/sign_up'
      forward_client_headers: true
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: anonymous
  - name: create_competition
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/ranking/competition/create'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: enter_videocall
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/bookings/generateVideoCallSession'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: marketplace
      - role: nutritionist_manager
      - role: patient
      - role: user
  - name: generateMenu
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/menus/generate'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: generate_availabilities
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/bookings/availabilities/generate'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: user
      - role: personal_trainer
      - role: nutritionist_manager
      - role: marketplace
  - name: generate_client_session_token
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/subscriptions/payment-method/client-session-token'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: import_bioimpedances
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/bioimpedances/import'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: nutritionist_manager
      - role: user
  - name: inactive_nutri
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/nutritionists/inactive_nutri'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: nutritionist_manager
  - name: nutri_appointments_report
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/nutritionists/report/appointments'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: marketplace
      - role: nutritionist_manager
      - role: user
  - name: nutri_remove_auth_user
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/nutritionists/remove_auth_user'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: user
  - name: nutri_reset_password
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/nutritionists/reset_password'
      forward_client_headers: true
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: anonymous
  - name: nutritionistSignIn
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/nutritionists/sign_in'
      forward_client_headers: true
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: anonymous
  - name: reallocateNutri
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/bookings/reallocateNutri'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: nutritionist_manager
  - name: redirect_nutri
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/nutritionists/redirect_nutri'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: nutritionist_manager
  - name: regularize_subscription
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/subscriptions/regularize-subscription'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: reschedule_book
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/bookings/reschedule'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: sendToken
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/patients/send_token'
      forward_client_headers: true
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: anonymous
  - name: subscribe
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/subscriptions/subscribe'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: upgrade_subscription
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/subscriptions/upgrade'
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: patient
  - name: validateToken
    definition:
      kind: synchronous
      handler: '{{ACTIONS_HANDLER_URL}}/patients/validate_token'
      forward_client_headers: true
      headers:
        - name: Authorization
          value_from_env: ACTIONS_HANDLER_ACCESS_TOKEN
    permissions:
      - role: anonymous
      - role: user
custom_types:
  enums: []
  input_objects:
    - name: PatientInput
    - name: UserInput
    - name: CredentialsInput
    - name: GenerateAvailabilityTimesInput
    - name: Card
    - name: SubscriptionData
  objects:
    - name: PatientOutput
    - name: SendTokenResult
    - name: ValidateTokenResult
    - name: GenerateMenuResponse
    - name: ImportationResult
    - name: SubscribeResult
      relationships:
        - remote_table:
            schema: public
            name: subscription
          name: subscription
          source: default
          type: object
          field_mapping:
            subscription_id: id
    - name: CancellationResult
    - name: CheckSubscriptionResult
    - name: UpgradeSubscriptionResult
    - name: AvailablePlan
    - name: PlanFeature
    - name: BookResult
    - name: CancelResult
    - name: UserOutput
    - name: ResetPasswordOutput
    - name: RescheduleResult
    - name: CheckBookingConditionsResult
    - name: RemoveAuthUserOutput
    - name: EnterVideoCallResult
    - name: NutriAppointmentsReportResult
    - name: RedirectNutriOutput
    - name: InactiveNutriOutput
    - name: CreateCompetitionResult
    - name: AcceptInviteCompetitionResult
    - name: GenerateAvailabilitiesOutput
    - name: CreateChallengeResponse
    - name: CampaignCreditResult
    - name: ChangeIncomeStatusResult
    - name: ConsolidateMonthResult
    - name: ClientSessionTokenResponse
    - name: SubscribeError
    - name: RegularizeSubscriptionResponse
  scalars: []
