@api.stream/studio-kit
Version:
Client SDK for building studio experiences with API.stream
27 lines (26 loc) • 972 B
TypeScript
import { Role } from '../core/types';
type PermissionMap = {
[key in Role]: Permission[];
};
/**
* A contextual repurposing of API.stream roles
* https://www.api.stream/docs/api/auth/#permission-roles
*/
export declare enum Permission {
ReadProject = 0,// LiveAPI / LayoutAPI Read
UpdateProject = 1,// LiveAPI / LayoutAPI Write
JoinRoom = 2,// Join WebRTC
InviteGuests = 3,// Invite Guests
ManageGuests = 4,// (Non-API.stream?) Kick / rename guests
ManageBroadcast = 5,// Manage Broadcast
ManageSelf = 6
}
export declare const permissions: PermissionMap;
/**
* It returns true if the role has the permission, otherwise it returns false
* @param {Role} role - The role of the user.
* @param {Permission} permission - The permission we want to check for.
* @returns A function that takes in a role and permission and returns a boolean
*/
export declare const hasPermission: (role: Role, permission: Permission) => boolean;
export {};