node-appwrite
Version:
Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API
95 lines (94 loc) • 2.05 kB
JavaScript
// src/role.ts
var Role = class {
/**
* Grants access to anyone.
*
* This includes authenticated and unauthenticated users.
*
* @returns {string}
*/
static any() {
return "any";
}
/**
* Grants access to a specific user by user ID.
*
* You can optionally pass verified or unverified for
* `status` to target specific types of users.
*
* @param {string} id
* @param {string} status
* @returns {string}
*/
static user(id, status = "") {
if (status === "") {
return `user:${id}`;
}
return `user:${id}/${status}`;
}
/**
* Grants access to any authenticated or anonymous user.
*
* You can optionally pass verified or unverified for
* `status` to target specific types of users.
*
* @param {string} status
* @returns {string}
*/
static users(status = "") {
if (status === "") {
return "users";
}
return `users/${status}`;
}
/**
* Grants access to any guest user without a session.
*
* Authenticated users don't have access to this role.
*
* @returns {string}
*/
static guests() {
return "guests";
}
/**
* Grants access to a team by team ID.
*
* You can optionally pass a role for `role` to target
* team members with the specified role.
*
* @param {string} id
* @param {string} role
* @returns {string}
*/
static team(id, role = "") {
if (role === "") {
return `team:${id}`;
}
return `team:${id}/${role}`;
}
/**
* Grants access to a specific member of a team.
*
* When the member is removed from the team, they will
* no longer have access.
*
* @param {string} id
* @returns {string}
*/
static member(id) {
return `member:${id}`;
}
/**
* Grants access to a user with the specified label.
*
* @param {string} name
* @returns {string}
*/
static label(name) {
return `label:${name}`;
}
};
export { Role };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=role.mjs.map