permit-sdk 0.0.3 → 0.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 98c6cfe745f4f3a5b4ca702a6de008de9061892865ec8bd487d50c05511a21de
4
- data.tar.gz: 035b167833d6ec6ee41bb257c985a79f26db83f7953b8c67c16db4c9e9d48561
3
+ metadata.gz: bdf1ab70789ef163e2ff19405f5d5cddc76444cc373852b7c2b621aed1e9fe98
4
+ data.tar.gz: 0d9b7709d13d9d10dd11c5886e09762a46a725ed5b1930f799678111f0dd713b
5
5
  SHA512:
6
- metadata.gz: 97470adcef3ef3025b82d0816ee5dc9336bac0f28490a9fa3bd3d6d7c64257722f149a33ab2d8295a692d4900c80f0adac0bba756be5567364e967013c097e0c
7
- data.tar.gz: 25334d817049788fe2e8893d92bfafca712f278db71ef25608f27a46a258126a20ab60c57351a57189757c7d5dc0bb992fc900387f0f6e5794284c8690f7eea2
6
+ metadata.gz: 3419465498ff507eb2de256a919eb7320099a143ea5a5af6d70f548320c239f730f0989d86dc7faa3bcac303e6a24b00c1db15ef8038f0df71d7e46a0060da13
7
+ data.tar.gz: eedd785a5b77fdc2dd3efba2ce3762f9557b5da7f0cb79148b31cb168802476dd6ba9618689cc96b9fbd1889edfb04a5d05d56616e31c83ca0bc6ed96645d05d
data/lib/api/api.rb CHANGED
@@ -3,6 +3,7 @@ require_relative 'users'
3
3
  require_relative 'resources'
4
4
  require_relative 'utils'
5
5
  require_relative 'tenants'
6
+ require_relative 'elements'
6
7
 
7
8
  class PermitApiClient
8
9
  attr_accessor :config, :logger, :client, :tenants, :resources, :roles, :users, :elements
@@ -13,6 +14,8 @@ class PermitApiClient
13
14
  openapi_config.scheme = Utils.get_schema_from_url(config.api_url)
14
15
  openapi_config.host = Utils.get_host_from_url(config.api_url)
15
16
  openapi_config.access_token = config.token
17
+ openapi_config.server_operation_index = {}
18
+ openapi_config.server_index = nil
16
19
  end
17
20
  @config = config
18
21
  @logger = logger
@@ -20,6 +23,6 @@ class PermitApiClient
20
23
  @tenants = TenantsApi.new(OpenapiClient::TenantsApi.new, config, logger)
21
24
  @resources = ResourcesApi.new(OpenapiClient::ResourcesApi.new, config, logger)
22
25
  # @roles = RolesApi.new(OpenapiClient::RolesApi.new, config, logger)
23
- # @elements = ElementsApi.new(OpenapiClient::ElementsConfigsApi.new, config, logger)
26
+ @elements = ElementsApi.new(OpenapiClient::AuthenticationApi.new, config, logger)
24
27
  end
25
28
  end
@@ -0,0 +1,13 @@
1
+ require_relative 'base'
2
+ require_relative '../openapi_client/api/authentication_api'
3
+ class ElementsApi < PermitBaseApi
4
+ def initialize(client, config, logger)
5
+ super
6
+ end
7
+
8
+ def login_as(user_id, tenant_id)
9
+ login_input = OpenapiClient::UserLoginRequestInput.new({:user_id => user_id, :tenant_id => tenant_id})
10
+ data = @client.elements_login_as(login_input)
11
+ data
12
+ end
13
+ end
data/lib/api/resources.rb CHANGED
@@ -6,8 +6,8 @@ class ResourcesApi < PermitBaseApi
6
6
  end
7
7
 
8
8
  def get(resource_key)
9
-
10
- data = @client.get_tenant(config.context.project, config.context.project, resource_key)
9
+ lazy_load_context
10
+ data = @client.get_resource(config.context.project, config.context.project, resource_key)
11
11
  data
12
12
  end
13
13
  end
data/lib/api/tenants.rb CHANGED
@@ -5,6 +5,7 @@ class TenantsApi < PermitBaseApi
5
5
  end
6
6
 
7
7
  def get(tenant_key)
8
+ lazy_load_context
8
9
  data = @client.get_tenant(config.context.project, config.context.project, tenant_key)
9
10
  data
10
11
  end
data/lib/permit.rb CHANGED
@@ -9,10 +9,10 @@ class Permit
9
9
  DEFAULT_PDP_URL = 'http://localhost:7766'.freeze
10
10
  DEFAULT_TENANT = "default"
11
11
 
12
- def initialize(token, api_url = DEFAULT_API_URL, pdp_url = DEFAULT_PDP_URL, debug = false, logger = Logger.new(STDOUT))
12
+ def initialize(token, pdp_url = DEFAULT_PDP_URL, api_url = DEFAULT_API_URL, debug = false, logger = Logger.new(STDOUT))
13
13
  @config = PermitConfig.new(token, api_url, pdp_url, nil, debug, logger)
14
14
  @api = PermitApiClient.new(@config, logger)
15
- # @elements = PermitElements.new
15
+ @elements = @api.elements
16
16
  # @enforcement = PermitEnforcer.new
17
17
  end
18
18
 
@@ -43,6 +43,7 @@ class Permit
43
43
  http.request(req)
44
44
  end
45
45
 
46
+
46
47
  if res.code != '200'
47
48
  raise "Permit SDK got unexpected status code: #{res.code}, please check your Permit SDK class init and PDP container are configured correctly. \nRead more about setting up the PDP at https://docs.permit.io/reference/SDKs/Ruby/quickstart_ruby"
48
49
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: permit-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Permit.io
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-06 00:00:00.000000000 Z
11
+ date: 2023-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -33,6 +33,7 @@ extra_rdoc_files: []
33
33
  files:
34
34
  - lib/api/api.rb
35
35
  - lib/api/base.rb
36
+ - lib/api/elements.rb
36
37
  - lib/api/resources.rb
37
38
  - lib/api/tenants.rb
38
39
  - lib/api/users.rb