fragment-dev 1.0.0 → 1.1.1
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_client/version.rb +1 -1
- data/lib/fragment_client.rb +40 -8
- data/lib/queries.graphql +32 -0
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6ae25bde4c6a410b126467fb316de657cb1c614dae3c9bd8dbfc5aa4fe1908a
|
4
|
+
data.tar.gz: e61d12c32f90b7de76115269e1299331df792a9b2ac1f9523941ca8d0ebf1750
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 386bbf0fb7a3e61a023a477d4b58e494b040e94b21ad513dd8a9d99fe4191b903ad597c6db18b4dbef117e475697aa7515d4066288374d4240d6b8b960aae65e
|
7
|
+
data.tar.gz: 4bb98e2ab615d095f895caba5327e39eefdc705fe2897b488e98f6d0ba2809ba867b59f8a006a5199fda12202f2cfeb59ee4bc666886b7122b4b7ca64ddcaa30
|
data/lib/fragment_client.rb
CHANGED
@@ -9,6 +9,36 @@ require 'uri'
|
|
9
9
|
require 'net/http'
|
10
10
|
require 'fragment_client/version'
|
11
11
|
|
12
|
+
module GraphQL
|
13
|
+
module StaticValidation
|
14
|
+
class LiteralValidator
|
15
|
+
alias recursive_validate_old recursively_validate
|
16
|
+
def recursively_validate(ast_value, type)
|
17
|
+
res = catch(:invalid) do
|
18
|
+
recursive_validate_old(ast_value, type)
|
19
|
+
end
|
20
|
+
if !res.valid? && type.kind.scalar? && ast_value.is_a?(GraphQL::Language::Nodes::InputObject)
|
21
|
+
maybe_raise_if_invalid(ast_value) do
|
22
|
+
['JSON', 'JSONObject', 'Any'].include?(type.graphql_name) ? @valid_response : @invalid_response
|
23
|
+
end
|
24
|
+
else
|
25
|
+
res
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class Client
|
32
|
+
# A monkey patch to change the definition name
|
33
|
+
class Definition
|
34
|
+
alias old_definition_name definition_name
|
35
|
+
def definition_name
|
36
|
+
old_definition_name.gsub(/#<Module.*>/, 'FragmentGraphQl__Dynamic')
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
12
42
|
# A support module for the client
|
13
43
|
module FragmentGraphQl
|
14
44
|
VERSION = FragmentSDK::VERSION
|
@@ -45,10 +75,11 @@ class FragmentClient
|
|
45
75
|
extend T::Sig
|
46
76
|
|
47
77
|
sig do
|
48
|
-
params(client_id: String, client_secret: String,
|
78
|
+
params(client_id: String, client_secret: String, extra_queries_filenames: T.nilable(T::Array[String]),
|
49
79
|
api_url: T.nilable(String), oauth_url: T.nilable(String), oauth_scope: T.nilable(String)).void
|
50
80
|
end
|
51
|
-
|
81
|
+
|
82
|
+
def initialize(client_id, client_secret, extra_queries_filenames: nil, api_url: nil,
|
52
83
|
oauth_url: 'https://auth.fragment.dev/oauth2/token', oauth_scope: 'https://api.fragment.dev/*')
|
53
84
|
@oauth_scope = T.let(oauth_scope, String)
|
54
85
|
@oauth_url = T.let(URI.parse(oauth_url), URI)
|
@@ -62,19 +93,20 @@ class FragmentClient
|
|
62
93
|
@token = T.let(create_token, Token)
|
63
94
|
|
64
95
|
define_method_from_queries(FragmentGraphQl::FragmentQueries)
|
65
|
-
return if
|
96
|
+
return if extra_queries_filenames.nil?
|
66
97
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
98
|
+
extra_queries_filenames.each do |filename|
|
99
|
+
queries = @client.parse(
|
100
|
+
File.read(filename)
|
101
|
+
)
|
102
|
+
define_method_from_queries(queries)
|
103
|
+
end
|
71
104
|
end
|
72
105
|
|
73
106
|
sig { params(query: T.untyped, variables: T.untyped).returns(T.untyped) }
|
74
107
|
def query(query, variables)
|
75
108
|
expiry_time_skew = 120
|
76
109
|
@token = create_token if Time.now > @token.expires_at - expiry_time_skew
|
77
|
-
puts query
|
78
110
|
@client.query(query, variables: variables, context: { access_token: @token.token })
|
79
111
|
end
|
80
112
|
|
data/lib/queries.graphql
CHANGED
@@ -511,3 +511,35 @@ query GetSchema($key: SafeString!, $version: Int) {
|
|
511
511
|
}
|
512
512
|
}
|
513
513
|
}
|
514
|
+
|
515
|
+
query ListLedgerEntries(
|
516
|
+
$ledgerIk: SafeString!
|
517
|
+
$after: String
|
518
|
+
$first: Int
|
519
|
+
$before: String
|
520
|
+
$filter: LedgerEntriesFilterSet
|
521
|
+
) {
|
522
|
+
ledger(ledger: { ik: $ledgerIk }) {
|
523
|
+
ledgerEntries(after: $after, first: $first, before: $before, filter: $filter) {
|
524
|
+
nodes {
|
525
|
+
ik
|
526
|
+
type
|
527
|
+
posted
|
528
|
+
lines {
|
529
|
+
nodes {
|
530
|
+
amount
|
531
|
+
account {
|
532
|
+
path
|
533
|
+
}
|
534
|
+
}
|
535
|
+
}
|
536
|
+
}
|
537
|
+
pageInfo {
|
538
|
+
hasNextPage
|
539
|
+
endCursor
|
540
|
+
hasPreviousPage
|
541
|
+
startCursor
|
542
|
+
}
|
543
|
+
}
|
544
|
+
}
|
545
|
+
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fragment-dev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fragment
|
@@ -10,6 +10,26 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 1980-01-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: graphql
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.13'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.13.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.13'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.13.0
|
13
33
|
- !ruby/object:Gem::Dependency
|
14
34
|
name: graphql-client
|
15
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -68,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
68
88
|
- !ruby/object:Gem::Version
|
69
89
|
version: '0'
|
70
90
|
requirements: []
|
71
|
-
rubygems_version: 3.
|
91
|
+
rubygems_version: 3.5.9
|
72
92
|
signing_key:
|
73
93
|
specification_version: 4
|
74
94
|
summary: the ruby fragment client sdk
|