{"version":3,"sources":["../src/index.ts","../src/utils/index.ts","../src/utils/asserts.ts","../src/constants/index.ts","../src/permissions/permissions.ts"],"sourcesContent":["export * as utils from \"./utils\";\r\nexport * as constants from \"./constants\";\r\nexport { PERMISSIONS } from \"./permissions\";\r\n","export * from \"./asserts\";\r\n","export function validateObjectId(value: string) {\r\n  if (!/^[a-f\\d]{24}$/i.test(value)) {\r\n    throw new Error(\"Некорректный ObjectId\");\r\n  }\r\n}\r\n","export const USER_ROLES = {\r\n  ADMIN: \"admin\",\r\n  OWNER: \"owner\",\r\n  USER: \"user\",\r\n} as const;\r\n\r\nexport const RULER_RANKS = {\r\n  LEADER: \"R5\",\r\n  OFFICER: \"R4\",\r\n  FIGHTER: \"R3\",\r\n  SOLDIER: \"R2\",\r\n  MEMBER: \"R1\",\r\n  OUTCAST: \"R0\",\r\n} as const;\r\n","// Все доступные разрешения по категориям\r\nexport const PERMISSIONS = {\r\n  PLAYER: {\r\n    READ: \"player:read\",\r\n    WRITE: \"player:write\",\r\n    DELETE: \"player:delete\",\r\n    MANAGE: \"player:manage\",\r\n  },\r\n  EVENT: {\r\n    READ: \"event:read\",\r\n    WRITE: \"event:write\",\r\n    DELETE: \"event:delete\",\r\n    MANAGE: \"event:manage\",\r\n  },\r\n  ALLIANCE: {\r\n    READ: \"alliance:read\",\r\n    WRITE: \"alliance:write\",\r\n    DELETE: \"alliance:delete\",\r\n    MANAGE: \"alliance:manage\",\r\n  },\r\n  ADMIN_DASHBOARD: {\r\n    VIEW_DASHBOARD: \"admin_dashboard:view-dashboard\",\r\n  },\r\n} as const;\r\n\r\nexport const ALL_PERMISSIONS: Permission[] = Object.values(PERMISSIONS).flatMap(\r\n  (group) => Object.values(group)\r\n);\r\n\r\n// Рекурсивно извлекаем все строки из PERMISSIONS\r\ntype ExtractPermissionValues<T> = T extends Record<string, infer V>\r\n  ? V extends string\r\n    ? V\r\n    : ExtractPermissionValues<V>\r\n  : never;\r\n\r\nexport type Permission = ExtractPermissionValues<typeof PERMISSIONS>;\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;;;ACAO,SAAS,iBAAiB,OAAe;AAC9C,MAAI,CAAC,iBAAiB,KAAK,KAAK,GAAG;AACjC,UAAM,IAAI,MAAM,mFAAuB;AAAA,EACzC;AACF;;;ACJA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,aAAa;AAAA,EACxB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AACR;AAEO,IAAM,cAAc;AAAA,EACzB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AACX;;;ACZO,IAAM,cAAc;AAAA,EACzB,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,gBAAgB;AAAA,EAClB;AACF;AAEO,IAAM,kBAAgC,OAAO,OAAO,WAAW,EAAE;AAAA,EACtE,CAAC,UAAU,OAAO,OAAO,KAAK;AAChC;","names":[]}