UNPKG

@63pokupki/nodejs-common

Version:
143 lines (142 loc) 5.29 kB
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 {};