Skip to content

Permify/permify-javascript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

permify_api

PermifyApi - JavaScript client for permify_api Permify is an open source authorization service for creating fine-grained and scalable authorization systems. This SDK is automatically generated by the OpenAPI Generator project:

  • API version: v0.8.2
  • Package version: v0.8.2
  • Generator version: 7.6.0-SNAPSHOT
  • Build package: org.openapitools.codegen.languages.JavascriptClientCodegen For more information, please visit https://github.com/Permify/permify/issues

Installation

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install permify_api --save

Finally, you need to build the module:

npm run build
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

To use the link you just defined in your project, switch to the directory you want to use your permify_api from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

Finally, you need to build the module:

npm run build

git

If the library is hosted at a git repository, e.g.https://github.com/permify/permify-javascript then install it via:

    npm install permify/permify-javascript --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var PermifyApi = require('permify_api');


var api = new PermifyApi.BundleApi()
var tenantId = "tenantId_example"; // {String} Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.
var body = new PermifyApi.BundleDeleteRequest(); // {BundleDeleteRequest} 
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.bundleDelete(tenantId, body, callback);

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
PermifyApi.BundleApi bundleDelete POST /v1/tenants/{tenant_id}/bundle/delete delete bundle
PermifyApi.BundleApi bundleRead POST /v1/tenants/{tenant_id}/bundle/read read bundle
PermifyApi.BundleApi bundleWrite POST /v1/tenants/{tenant_id}/bundle/write write bundle
PermifyApi.DataApi bundleRun POST /v1/tenants/{tenant_id}/data/run-bundle run bundle
PermifyApi.DataApi dataAttributesRead POST /v1/tenants/{tenant_id}/data/attributes/read read attributes
PermifyApi.DataApi dataDelete POST /v1/tenants/{tenant_id}/data/delete delete data
PermifyApi.DataApi dataRelationshipsRead POST /v1/tenants/{tenant_id}/data/relationships/read read relationships
PermifyApi.DataApi dataWrite POST /v1/tenants/{tenant_id}/data/write write data
PermifyApi.DataApi relationshipsDelete POST /v1/tenants/{tenant_id}/relationships/delete delete relationships
PermifyApi.DataApi relationshipsWrite POST /v1/tenants/{tenant_id}/relationships/write write relationships
PermifyApi.PermissionApi permissionsCheck POST /v1/tenants/{tenant_id}/permissions/check check api
PermifyApi.PermissionApi permissionsExpand POST /v1/tenants/{tenant_id}/permissions/expand expand api
PermifyApi.PermissionApi permissionsLookupEntity POST /v1/tenants/{tenant_id}/permissions/lookup-entity lookup entity
PermifyApi.PermissionApi permissionsLookupEntityStream POST /v1/tenants/{tenant_id}/permissions/lookup-entity-stream lookup entity stream
PermifyApi.PermissionApi permissionsLookupSubject POST /v1/tenants/{tenant_id}/permissions/lookup-subject lookup-subject
PermifyApi.PermissionApi permissionsSubjectPermission POST /v1/tenants/{tenant_id}/permissions/subject-permission subject permission
PermifyApi.SchemaApi schemasList POST /v1/tenants/{tenant_id}/schemas/list list schema
PermifyApi.SchemaApi schemasPartialWrite PATCH /v1/tenants/{tenant_id}/schemas/partial-write partially update your authorization model
PermifyApi.SchemaApi schemasRead POST /v1/tenants/{tenant_id}/schemas/read read schema
PermifyApi.SchemaApi schemasWrite POST /v1/tenants/{tenant_id}/schemas/write write schema
PermifyApi.TenancyApi tenantsCreate POST /v1/tenants/create create tenant
PermifyApi.TenancyApi tenantsDelete DELETE /v1/tenants/{id} delete tenant
PermifyApi.TenancyApi tenantsList POST /v1/tenants/list list tenants
PermifyApi.WatchApi watchWatch POST /v1/tenants/{tenant_id}/watch watch changes

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

ApiKeyAuth

  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header

Releases

No releases published

Packages

No packages published