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 +4 -4
- data/lib/api/api.rb +4 -1
- data/lib/api/elements.rb +13 -0
- data/lib/api/resources.rb +2 -2
- data/lib/api/tenants.rb +1 -0
- data/lib/permit.rb +3 -2
- metadata +3 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: bdf1ab70789ef163e2ff19405f5d5cddc76444cc373852b7c2b621aed1e9fe98
         | 
| 4 | 
            +
              data.tar.gz: 0d9b7709d13d9d10dd11c5886e09762a46a725ed5b1930f799678111f0dd713b
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 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 | 
            -
                 | 
| 26 | 
            +
                @elements = ElementsApi.new(OpenapiClient::AuthenticationApi.new, config, logger)
         | 
| 24 27 | 
             
              end
         | 
| 25 28 | 
             
            end
         | 
    
        data/lib/api/elements.rb
    ADDED
    
    | @@ -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. | 
| 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
    
    
    
        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,  | 
| 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 | 
            -
                 | 
| 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. | 
| 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- | 
| 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
         |