@63pokupki/nodejs-common
Version:
Common nodejs functionality
143 lines (142 loc) • 5.29 kB
TypeScript
import { P63Context } from './P63Context';
import { OrgRoleT } from '../Interfaces/OrgRoleI';
/** Информация по пользователю */
interface UserInfoI {
user_id: number;
username: string;
consumer_rating: number;
}
/** Группы пользователей */
interface GroupUserI {
group_id: number;
alias: string;
}
/**
* Класс который глобально знает все данные пользователя
*/
export declare class UserSys {
idUser: number;
private apikey;
private vUserInfo;
private ixUserGroups;
private ctx;
private errorSys;
/** Глобальные роли */
private ixRole;
/** роуты, доступные по глобальным ролям */
private ixRoleRoute;
/** Роли в организациях */
private ixOrgRole;
/** роуты, доступные по ролям в организациях */
private ixOrgRoleRoute;
constructor(ctx: P63Context);
/**
* Инициализация данных пользователя
* только если this.isAuth() == true
*
* @return void
*/
init(param?: {
vUser: UserInfoI;
aGroup: GroupUserI[];
ixRole: Record<string, boolean>;
ixRoleRoute: Record<string, boolean>;
ixOrgRole: Record<string | number, Record<OrgRoleT, boolean>>;
ixOrgRoleRoute: Record<string | number, Record<string, boolean>>;
}): void;
/**
* Проверка является ли пользователь организатором
*/
isOrg(): boolean;
/**
* Проверка является ли пользователь администратором организаторов на пр Ольга Проданова
*/
isOrgAdmin(): boolean;
/**
* Проверка является ли пользователь администратором
*/
isAdmin(): boolean;
/**
* Проверка является ли пользователь модератором
*/
isModerator(): boolean;
/**
* Проверка имеет ли пользователь доступ к ПВЗ
*/
isPvzUser(): boolean;
/**
* Проверка является ли пользователь модератором ПВЗ
*/
isPvzModerator(): boolean;
/**
* Проверка является ли пользователь авторизированным
*/
isAuth(): boolean;
/**
* возвращает apikey
*/
fGetApikey(): string;
/**
* Получить ID пользователя
*/
getIdUser(): number;
/**
* Получить рейтинг пользователя
*/
getUserRating(): number;
/**
* Получить инфу о пользователе
*/
getUserInfo(): UserInfoI;
/**
* Список ID групп в которых состоит пользователь
* @todo вырезать из абстрактного класса UserSys
*/
getUserGroupIds(): number[];
/**
* Проверяет состоит ли пользователь в группе
* @param groupAlias Алиас группы на принадлежность к которой нужно проверить пользователя
*/
isUserInGroup(groupAlias: string): boolean;
/**
* Получить глобальные роли пользователя
* @todo вырезать из абстрактного класса UserSys
*/
getIxRole(): Record<string, boolean>;
/**
* Получить роли пользователя в организациях
* @todo вырезать из абстрактного класса UserSys
*/
getIxOrgRole(): Record<string | number, Record<OrgRoleT, boolean>>;
/**
* Получить роуты, доступные по глобальным ролям
* @todo вырезать из абстрактного класса UserSys
*/
getIxRoleRoute(): Record<string, boolean>;
/**
* Получить роуты, доступные по ролям в организациях
* @todo вырезать из абстрактного класса UserSys
*/
getIxOrgRoleRoute(): Record<string | number, Record<string, boolean>>;
/**
* Проверить, есть ли у пользователя конкретная роль
*/
isRole(role: string): boolean;
/**
* Проверить, есть ли у пользователя роль в конкретной или любой организаци
*/
isRoleInOrganization(role: OrgRoleT, idOrg: number): boolean;
/**
* Проверить, если доступ к роуту по глобальной роли
*/
isAccessByRole(): boolean;
/**
* Проверить, если доступ к роуту по орг роли
*/
isAccessByOrgRole(idOrg: number): boolean;
/**
* Получить IDs организаций, в которых доступен данный роут
*/
getAvailableOrganizationId(): number[];
}
export {};