Sha256: fa5f4d0a525d9573e083a9a554b25104bcd2c07b52e778128b7bf7564c973fc9

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

module BunnyApp
  class FeatureUsage
    @feature_usage_create_mutation = <<-'GRAPHQL'
    mutation featureUsageCreate ($attributes: FeatureUsageAttributes!) {
        featureUsageCreate (attributes: $attributes) {
            errors
            featureUsage {
                id
                quantity
                usageAt
                tenant {
                    id
                    code
                    name
                }
                feature {
                    id
                    code
                    name
                }
            }
        }
    }
    GRAPHQL

    def self.create(quantity:, feature_code:, tenant_code:, usage_at: nil)
      variables = {
        attributes: {
          quantity:,
          featureCode: feature_code,
          tenantCode: tenant_code
        }
      }

      variables[:attributes][:usageAt] = usage_at unless usage_at.nil?

      res = Client.new.query(@feature_usage_create_mutation, variables)
      raise ResponseError, res['data']['featureUsageCreate']['errors'].join(',') if res['data']['featureUsageCreate']['errors']

      res['data']['featureUsageCreate']['featureUsage']
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bunny_app-2.1.0 lib/bunny_app/feature_usage.rb