43 lines
1.6 KiB
TypeScript
43 lines
1.6 KiB
TypeScript
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||
// versions:
|
||
// protoc-gen-ts_proto v2.11.8
|
||
// protoc v4.25.9
|
||
// source: glifa/common/v1/authz.proto
|
||
|
||
/* eslint-disable */
|
||
|
||
export const protobufPackage = "glifa.common.v1";
|
||
|
||
export interface SubjectContext {
|
||
/** UUID пользователя, которому принадлежат права */
|
||
userId: string;
|
||
/** UUID устройства, с которого пришел запрос (если есть) */
|
||
deviceId: string;
|
||
/** UUID сессии, если пользователь авторизован */
|
||
sessionId: string;
|
||
/** Глобальные роли пользователя (например, "admin", "moderator") */
|
||
globalRoles: string[];
|
||
/** Глобальные права пользователя (например, "read_all", "write_all") */
|
||
globalPermissions: string[];
|
||
}
|
||
|
||
export interface PermissionCheck {
|
||
/** Тип ресурса (например, "user", "device", "session") */
|
||
resourceType: string;
|
||
/** UUID ресурса, к которому запрашиваются права */
|
||
resourceId: string;
|
||
/** Запрашиваемое право (например, "read", "write", "delete") */
|
||
permission: string;
|
||
}
|
||
|
||
export interface PermissionDecision {
|
||
/** Запрашиваемое право (например, "read", "write", "delete") */
|
||
permission: string;
|
||
/** Разрешено ли запрашиваемое право */
|
||
allowed: boolean;
|
||
/** Причина решения (например, "user_is_owner", "user_has_role_admin") */
|
||
reason: string;
|
||
}
|
||
|
||
export const GLIFA_COMMON_V1_PACKAGE_NAME = "glifa.common.v1";
|