Sha256: dee9e0247ee86124629ee841e00b6e9c21d1a6c0cd5f4001ecf55d2bb362b178

Contents?: true

Size: 1.12 KB

Versions: 2

Compression:

Stored size: 1.12 KB

Contents

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

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

      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

2 entries across 2 versions & 1 rubygems

Version Path
bunny_app-2.2.1 lib/bunny_app/feature_usage.rb
bunny_app-2.2.0 lib/bunny_app/feature_usage.rb