wallee
Version:
TypeScript/JavaScript client for wallee
69 lines (68 loc) • 2 kB
TypeScript
import type { Account } from './Account';
import type { Permission } from './Permission';
import type { RoleState } from './RoleState';
/**
*
* @export
* @interface Role
*/
export interface Role {
/**
* The permissions granted to users with this role.
* @type {Set<Permission>}
* @memberof Role
*/
readonly permissions?: Set<Permission>;
/**
* The name used to identify the role.
* @type {{ [key: string]: string; }}
* @memberof Role
*/
readonly name?: {
[key: string]: string;
};
/**
* The date and time when the object is planned to be permanently removed. If the value is empty, the object will not be removed.
* @type {Date}
* @memberof Role
*/
readonly plannedPurgeDate?: Date;
/**
* A unique identifier for the object.
* @type {number}
* @memberof Role
*/
readonly id?: number;
/**
*
* @type {RoleState}
* @memberof Role
*/
state?: RoleState;
/**
* The version is used for optimistic locking and incremented whenever the object is updated.
* @type {number}
* @memberof Role
*/
readonly version?: number;
/**
*
* @type {Account}
* @memberof Role
*/
account?: Account;
/**
* Whether users with this role are required to use two-factor authentication.
* @type {boolean}
* @memberof Role
*/
readonly twoFactorRequired?: boolean;
}
/**
* Check if a given object implements the Role interface.
*/
export declare function instanceOfRole(value: object): value is Role;
export declare function RoleFromJSON(json: any): Role;
export declare function RoleFromJSONTyped(json: any, ignoreDiscriminator: boolean): Role;
export declare function RoleToJSON(json: any): Role;
export declare function RoleToJSONTyped(value?: Omit<Role, 'permissions' | 'name' | 'plannedPurgeDate' | 'id' | 'version' | 'twoFactorRequired'> | null, ignoreDiscriminator?: boolean): any;