Class: Printavo::Resources::ApprovalRequests

Inherits:
Base
  • Object
show all
Defined in:
lib/printavo/resources/approval_requests.rb

Constant Summary collapse

ALL_QUERY =
File.read(File.join(__dir__, '../graphql/approval_requests/all.graphql')).freeze
FIND_QUERY =
File.read(File.join(__dir__, '../graphql/approval_requests/find.graphql')).freeze
CREATE_MUTATION =
File.read(File.join(__dir__, '../graphql/approval_requests/create.graphql')).freeze
APPROVE_MUTATION =
File.read(File.join(__dir__, '../graphql/approval_requests/approve.graphql')).freeze
REVOKE_MUTATION =
File.read(File.join(__dir__, '../graphql/approval_requests/revoke.graphql')).freeze
UNAPPROVE_MUTATION =
File.read(File.join(__dir__, '../graphql/approval_requests/unapprove.graphql')).freeze

Instance Method Summary collapse

Methods inherited from Base

#all_pages, #each_page, #initialize

Constructor Details

This class inherits a constructor from Printavo::Resources::Base

Instance Method Details

#all(order_id:, first: 25, after: nil) ⇒ Object



14
15
16
# File 'lib/printavo/resources/approval_requests.rb', line 14

def all(order_id:, first: 25, after: nil)
  fetch_page(order_id: order_id, first: first, after: after).records
end

#approve(id) ⇒ Object



28
29
30
31
# File 'lib/printavo/resources/approval_requests.rb', line 28

def approve(id)
  data = @graphql.mutate(APPROVE_MUTATION, variables: { id: id.to_s })
  Printavo::ApprovalRequest.new(data['approvalRequestApprove'])
end

#create(**input) ⇒ Object



23
24
25
26
# File 'lib/printavo/resources/approval_requests.rb', line 23

def create(**input)
  data = @graphql.mutate(CREATE_MUTATION, variables: { input: camelize_keys(input) })
  Printavo::ApprovalRequest.new(data['approvalRequestCreate'])
end

#find(id) ⇒ Object



18
19
20
21
# File 'lib/printavo/resources/approval_requests.rb', line 18

def find(id)
  data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
  Printavo::ApprovalRequest.new(data['approvalRequest'])
end

#revoke(id) ⇒ Object



33
34
35
36
# File 'lib/printavo/resources/approval_requests.rb', line 33

def revoke(id)
  data = @graphql.mutate(REVOKE_MUTATION, variables: { id: id.to_s })
  Printavo::ApprovalRequest.new(data['approvalRequestRevoke'])
end

#unapprove(id) ⇒ Object



38
39
40
41
# File 'lib/printavo/resources/approval_requests.rb', line 38

def unapprove(id)
  data = @graphql.mutate(UNAPPROVE_MUTATION, variables: { id: id.to_s })
  Printavo::ApprovalRequest.new(data['approvalRequestUnapprove'])
end