fragment-alpha-sdk 0.1.6 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -15,7 +15,7 @@ module FragmentGraphQl
15
15
  extend T::Sig
16
16
  sig { params(context: T.untyped).returns(T::Hash[T.untyped, T.untyped]) }
17
17
  def headers(context)
18
- { 'Authorization' => 'Bearer %s' % context[:access_token] }
18
+ { 'Authorization' => format('Bearer %s', context[:access_token]) }
19
19
  end
20
20
  end, GraphQL::Client::HTTP)
21
21
 
@@ -37,36 +37,32 @@ class FragmentClient
37
37
  execute: GraphQL::Client::HTTP).void
38
38
  end
39
39
  def initialize(client_id, client_secret, extra_queries_filename: nil, execute: FragmentGraphQl::HTTP)
40
+ set_instance_variables(execute, client_id, client_secret)
41
+ define_method_from_queries(FragmentGraphQl::Queries)
42
+ return if extra_queries_filename.nil?
43
+
44
+ queries = FragmentGraphQl::Client.parse(
45
+ File.read(extra_queries_filename)
46
+ )
47
+ define_method_from_queries(queries)
48
+ end
49
+
50
+ def set_instance_variables(execute, client_id, client_secret)
40
51
  @client = T.let(GraphQL::Client.new(schema: FragmentGraphQl::Schema, execute: execute), GraphQL::Client)
41
52
  conn = create_conn(client_id, client_secret)
42
53
  # TODO: the token may need to be refreshed if the client is around for a long time
43
54
  @token = T.let(get_token(conn, client_id), String)
44
- FragmentGraphQl::Queries.constants.each do |q|
45
- name = q.to_s.gsub(/[a-z]([A-Z])/) do |m|
55
+ end
56
+
57
+ def define_method_from_queries(queries)
58
+ queries.constants.each do |qry|
59
+ name = qry.to_s.gsub(/[a-z]([A-Z])/) do |m|
46
60
  format('%<lower>s_%<upper>s', lower: m[0], upper: m[1].downcase)
47
61
  end.gsub(/^[A-Z]/, &:downcase)
48
62
  define_singleton_method(name) do |v|
49
- query(FragmentGraphQl::Queries.const_get(q), v)
63
+ query(queries.const_get(qry), v)
50
64
  end
51
65
  end
52
-
53
- return if extra_queries_filename.nil?
54
-
55
- queries = FragmentGraphQl::Client.parse(
56
- File.read(extra_queries_filename)
57
- )
58
- queries.constants.each do |q|
59
- define_method_from_query(q, queries)
60
- end
61
- end
62
-
63
- def define_method_from_query(q, queries)
64
- name = q.to_s.gsub(/[a-z]([A-Z])/) do |m|
65
- format('%<lower>s_%<upper>s', lower: m[0], upper: m[1].downcase)
66
- end.gsub(/^[A-Z]/, &:downcase)
67
- define_singleton_method(name) do |v|
68
- query(queries.const_get(q), v)
69
- end
70
66
  end
71
67
 
72
68
  def create_conn(client_id, client_secret)
@@ -92,7 +88,7 @@ class FragmentClient
92
88
  req.body = format('grant_type=client_credentials&scope=https://api.fragment.dev/*&client_id=%s', client_id)
93
89
  end
94
90
  rescue Faraday::ClientError => e
95
- raise StandardError, "oauth Authentication failed: '%s'" % e.to_s
91
+ raise StandardError, format("oauth Authentication failed: '%s'", e.to_s)
96
92
  end
97
93
  T.let(JSON.parse(response.body)['access_token'], String)
98
94
  end
data/lib/queries.graphql CHANGED
@@ -1,6 +1,19 @@
1
- mutation CreateLedger($ik: ID!, $ledger: CreateLedgerInput!) {
1
+ mutation StoreSchema($schema: SchemaInput!) {
2
+ storeSchema(schema: $schema) {
3
+ schema {
4
+ key
5
+ name
6
+ version {
7
+ created
8
+ version
9
+ }
10
+ }
11
+ }
12
+ }
13
+
14
+ mutation CreateLedger($ik: SafeString!, $ledger: CreateLedgerInput!) {
2
15
  createLedger(ik: $ik, ledger: $ledger) {
3
- __typename
16
+ __typename
4
17
  ... on CreateLedgerResult {
5
18
  ledger {
6
19
  id
@@ -75,7 +88,7 @@ mutation ReconcileTx($entry: LedgerEntryInput!) {
75
88
  }
76
89
  }
77
90
 
78
- mutation AddLedgerEntry($entry: LedgerEntryInput!, $ik: ID!) {
91
+ mutation AddLedgerEntry($entry: LedgerEntryInput!, $ik: SafeString!) {
79
92
  addLedgerEntry(entry: $entry, ik: $ik) {
80
93
  __typename
81
94
  ... on AddLedgerEntryResult {
@@ -146,7 +159,7 @@ mutation UpdateLedgerAccount(
146
159
  }
147
160
  }
148
161
 
149
- mutation NewCustomLink($name: String!, $ik: ID!) {
162
+ mutation NewCustomLink($name: String!, $ik: SafeString!) {
150
163
  createCustomLink(name: $name, ik: $ik) {
151
164
  __typename
152
165
  ... on CreateCustomLinkResult {
@@ -195,24 +208,6 @@ mutation SyncBankAccounts(
195
208
  }
196
209
  }
197
210
 
198
- mutation MakeBankTransfer($bankTransfer: MakeBankTransferInput!, $ik: ID!) {
199
- makeBankTransfer(bankTransfer: $bankTransfer, ik: $ik) {
200
- __typename
201
- ... on MakeBankTransferResult {
202
- bankTransfer {
203
- id
204
- description
205
- status
206
- }
207
- isIkReplay
208
- }
209
- ... on Error {
210
- code
211
- message
212
- }
213
- }
214
- }
215
-
216
211
  query LedgerEntry($ledgerEntry: LedgerEntryMatchInput!) {
217
212
  ledgerEntry(ledgerEntry: $ledgerEntry) {
218
213
  id
@@ -222,7 +217,6 @@ query LedgerEntry($ledgerEntry: LedgerEntryMatchInput!) {
222
217
  description
223
218
  workspaceId
224
219
  ledgerId
225
- orderId
226
220
  lines {
227
221
  nodes {
228
222
  id
@@ -231,21 +225,6 @@ query LedgerEntry($ledgerEntry: LedgerEntryMatchInput!) {
231
225
  }
232
226
  }
233
227
 
234
- # copied from https://fragment.dev/api-reference#query-bankTransfer
235
- query BankTransfer($bankTransfer: BankTransferMatchInput!) {
236
- bankTransfer(bankTransfer: $bankTransfer) {
237
- id
238
- description
239
- status
240
- order {
241
- id
242
- description
243
- entryIds
244
- stateMachine
245
- }
246
- }
247
- }
248
-
249
228
  # copied from https://fragment.dev/api-reference#query-ledger
250
229
  query Ledger($ledger: LedgerMatchInput!) {
251
230
  ledger(ledger: $ledger) {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fragment-alpha-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - fragment
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 1980-01-01 00:00:00.000000000 Z
11
+ date: 2024-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.18'
33
+ version: '0.20'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.18'
40
+ version: '0.20'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sorbet-runtime
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,7 +52,7 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.5'
55
- description:
55
+ description:
56
56
  email: snoble@fragment.dev
57
57
  executables: []
58
58
  extensions: []
@@ -66,7 +66,7 @@ homepage: https://fragment.dev
66
66
  licenses:
67
67
  - Nonstandard
68
68
  metadata: {}
69
- post_install_message:
69
+ post_install_message:
70
70
  rdoc_options: []
71
71
  require_paths:
72
72
  - lib
@@ -81,8 +81,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  requirements: []
84
- rubygems_version: 3.3.11
85
- signing_key:
84
+ rubygems_version: 3.0.3.1
85
+ signing_key:
86
86
  specification_version: 4
87
87
  summary: an alpha version for the fragment client sdk
88
88
  test_files: []