sws-frontend
Version:
sws frontend project
34 lines (33 loc) • 928 B
TypeScript
import { Action, Role } from "./action";
export declare type User = {
username: string;
roles: Role[];
permissions: Action[];
details: {
firstname: string;
lastname: string;
email: string;
placement: string;
post: string;
contact: string;
};
islogged: boolean;
};
export declare type Api = {
login(u: User): User;
logged(): User;
name(u: User): string;
fingerprintOf(u: User): string;
actionsOf(u: User): Action[];
allActionsOf(u: User): Action[];
can(a: Action): boolean;
canOver(a: Action, resource: string): boolean;
canAny(...a: Action[]): boolean;
cannotAny(...a: Action[]): boolean;
canUser(u: User, a: Action): boolean;
isLoaded(u: User): boolean;
};
/** static for the logged user, exposed through api below. */
export declare var userlogged: User;
export declare const api: Api;
export default api;