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.
- checksums.yaml +4 -4
- data/lib/fragment.schema.json +6978 -2932
- data/lib/fragment_client.rb +19 -23
- data/lib/queries.graphql +17 -38
- metadata +9 -9
data/lib/fragment_client.rb
CHANGED
@@ -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'
|
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
|
-
|
45
|
-
|
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(
|
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'"
|
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
|
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
|
-
|
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:
|
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:
|
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.
|
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:
|
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.
|
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.
|
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.
|
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: []
|