fragment-alpha-sdk 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: []