Permissions class
Use to create, replace, query, and read all Permissions.
See Permission to read, replace, or delete a specific permission by id.
Properties
user |
Methods
create(Permission |
Create a permission. A permission represents a per-User Permission to access a specific resource e.g. Item or Container. Example
|
query(Sql |
Query all permissions. Example Query permission with id.
|
query<T>(Sql |
Query all permissions. |
read |
Read all permissions. Example Read all permissions to array.
|
upsert(Permission |
Upsert a permission. A permission represents a per-User Permission to access a specific resource e.g. Item or Container. Example
|
Property Details
user
Method Details
create(PermissionDefinition, RequestOptions)
Create a permission.
A permission represents a per-User Permission to access a specific resource e.g. Item or Container.
Example
import { CosmosClient, PermissionDefinition, PermissionMode } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { user } = await database.users.create({ id: "<user-id>" });
const permissionDefinition: PermissionDefinition = {
id: "<permission-id>",
permissionMode: PermissionMode.Read,
resource: "<resource-url>",
};
await user.permissions.create(permissionDefinition);
function create(body: PermissionDefinition, options?: RequestOptions): Promise<PermissionResponse>
Parameters
- body
- PermissionDefinition
Represents the body of the permission.
- options
- RequestOptions
Returns
Promise<PermissionResponse>
query(SqlQuerySpec, FeedOptions)
Query all permissions.
Example
Query permission with id.
import { CosmosClient, SqlQuerySpec } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const querySpec: SqlQuerySpec = {
query: `SELECT * FROM root r WHERE r.id = @permission`,
parameters: [{ name: "@permission", value: "<permission-id>" }],
};
const { resources: permisssion } = await database
.user("<user-id>")
.permissions.query(querySpec)
.fetchAll();
function query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<any>
Parameters
- query
- SqlQuerySpec
Query configuration for the operation. See SqlQuerySpec for more info on how to configure a query.
- options
- FeedOptions
Returns
QueryIterator<any>
query<T>(SqlQuerySpec, FeedOptions)
Query all permissions.
function query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T>
Parameters
- query
- SqlQuerySpec
Query configuration for the operation. See SqlQuerySpec for more info on how to configure a query.
- options
- FeedOptions
Returns
readAll(FeedOptions)
Read all permissions.
Example
Read all permissions to array.
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { resources: permissionList } = await database.user("user1").permissions.readAll().fetchAll();
function readAll(options?: FeedOptions): QueryIterator<PermissionDefinition & Resource>
Parameters
- options
- FeedOptions
Returns
upsert(PermissionDefinition, RequestOptions)
Upsert a permission. A permission represents a per-User Permission to access a specific resource e.g. Item or Container.
Example
import { CosmosClient, PermissionDefinition, PermissionMode } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const user = database.user("<user-id>");
const permissionDefinitionToUpsert: PermissionDefinition = {
id: "<permission-id>",
permissionMode: PermissionMode.Read,
resource: "<resource-url>",
};
await user.permissions.upsert(permissionDefinitionToUpsert);
function upsert(body: PermissionDefinition, options?: RequestOptions): Promise<PermissionResponse>
Parameters
- body
- PermissionDefinition
- options
- RequestOptions
Returns
Promise<PermissionResponse>