RocketChat/Rocket.Chat

View on GitHub
packages/model-typings/src/models/IPermissionsModel.ts

Summary

Maintainability
A
0 mins
Test Coverage
import type { IPermission, IRole } from '@rocket.chat/core-typings';
import type { FindCursor } from 'mongodb';

import type { IBaseModel } from './IBaseModel';

export interface IPermissionsModel extends IBaseModel<IPermission> {
    createOrUpdate(name: string, roles: IRole['_id'][]): Promise<IPermission['_id']>;
    create(id: string, roles: IRole['_id'][]): Promise<IPermission['_id']>;
    addRole(permission: string, role: IRole['_id']): Promise<void>;
    setRoles(permission: string, roles: IRole['_id'][]): Promise<void>;
    removeRole(permission: string, role: IRole['_id']): Promise<void>;
    findByLevel(level: 'settings', settingId?: string): FindCursor<IPermission>;
}