AuthZ | Node.js SDK
Check Authorization (Beta)
check(request: CheckRequest): Promise<PangeaResponse<CheckResult>>Check if a subject is authorized to perform an action on a resource in the AuthZ Service.
escript
const response = await authz.check({
resource: { namespace: 'folder', id: 'resource1' },
action: 'read',
subject: { namespace: 'user', id: 'user1' },
debug: true,
});
List Resources (Beta)
listResources(request: ListResourcesRequest): Promise<PangeaResponse<ListResourcesResult>>List resources that a subject is authorized to perform a specified action on in the AuthZ Service.
escript
const response = await authz.listResources({
namespace: 'folder',
action: 'read',
subject: { namespace: 'user', id: 'user1' },
});
List Subjects (Beta)
listSubjects(request: ListSubjectsRequest): Promise<PangeaResponse<ListSubjectsResult>>List subjects that are authorized to perform a specified action on a resource in the AuthZ Service.
escript
const response = await authz.listSubjects({
resource: { namespace: 'folder', id: 'resource1' },
action: 'read',
});
post(endpoint: string, data: object, options: PostOptions): Promise<PangeaResponse<R>>
POST
request.
Tuple Create (Beta)
tupleCreate(request: TupleCreateRequest): Promise<PangeaResponse<TupleCreateResult>>Create tuples in the AuthZ Service. The request will fail if there is no schema or the tuples do not validate against the schema.
escript
const response = await authz.tupleCreate({
tuples: [
{
resource: { namespace: 'folder', id: 'resource1' },
relation: 'editor',
subject: { namespace: 'user', id: 'user1' },
},
// Add more tuples as needed
],
});
Tuple Delete (Beta)
tupleDelete(request: TupleDeleteRequest): Promise<PangeaResponse<TupleDeleteResult>>Delete tuples in the AuthZ Service based on the provided criteria.
escript
const response = await authz.tupleDelete({
tuples: [
{
resource: { namespace: 'folder', id: 'resource1' },
relation: 'owner',
subject: { namespace: 'user', id: 'user1' },
},
// Add more tuples to be deleted as needed
],
});
Tuple List (Beta)
tupleList(request: TupleListRequest): Promise<PangeaResponse<TupleListResult>>List tuples in the AuthZ Service based on provided filters.
escript
const response = await authz.tupleList({
filter: {
resource: { namespace: 'folder', id: 'resource1' },
},
size: 10,
});
Enum ItemOrder
ItemOrderASC
= "asc"
DESC
= "desc"
Enum TupleOrderBy
TupleOrderByRELATION
= "relation"
RESOURCE_ID
= "resource_id"
RESOURCE_NAMESPACE
= "resource_namespace"
SUBJECT_ACTION
= "subject_action"
SUBJECT_ID
= "subject_id"
SUBJECT_NAMESPACE
= "subject_namespace"