You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
4.3 KiB

export {
PERMISSION_CLIENT_PATH_BATCH,
PERMISSION_CLIENT_PATH_CHECK,
PERMISSION_CLIENT_PATH_EXPLAIN,
PERMISSION_CLIENT_PATH_WHAT,
PERMISSION_CLIENT_CONTEXT_EMPTY,
PERMISSION_CLIENT_KEY_GLOBAL,
PERMISSION_CLIENT_KEY_NONE,
PERMISSION_CLIENT_KEY_SEPARATOR,
PERMISSION_LOGGER_CATEGORY as LOGGER_CATEGORY,
PERMISSION_HTTP_CREDENTIALS_INCLUDE,
PERMISSION_HTTP_STATUS_BAD_REQUEST,
PERMISSION_HTTP_STATUS_FORBIDDEN,
PERMISSION_HTTP_STATUS_METHOD_NOT_ALLOWED,
PERMISSION_HTTP_STATUS_NOT_FOUND,
PERMISSION_HTTP_STATUS_OK,
PERMISSION_HTTP_ERROR_METHOD_NOT_ALLOWED,
PERMISSION_HTTP_ERROR_METHOD_NOT_ALLOWED_MESSAGE,
PERMISSION_HTTP_ERROR_ROUTE_NOT_FOUND,
PERMISSION_HTTP_ERROR_ROUTE_NOT_FOUND_MESSAGE,
PERMISSION_REQUEST_FIELD_ACTION,
PERMISSION_REQUEST_FIELD_ACTIONS,
PERMISSION_REQUEST_FIELD_CHECKS,
PERMISSION_REQUEST_FIELD_CONTEXT,
PERMISSION_REQUEST_FIELD_RESOURCE,
PERMISSION_RESPONSE_FIELD_ACTIONS,
PERMISSION_RESPONSE_FIELD_DECISIONS,
PERMISSION_RESPONSE_FIELD_ERROR
} from '$libs/svrs/perm';
export const PERMISSION_CONTEXT_KEY = 'active.permissions';
export const PERMISSION_CLIENT_DEFAULT_CACHE_TTL_MS = 30_000;
export const PERMISSION_CLIENT_DEFAULT_NON_ALLOW_CACHE_TTL_MS = 5_000;
export const PERMISSION_CLIENT_DEFAULT_REMOTE_FAILURE_BACKOFF_MS = 1_000;
export const PERMISSION_SNAPSHOT_DECISIONS_KEY = 'decisions';
export const PERMISSION_SNAPSHOT_GLOBAL_POLICY = 'snapshot.global';
export const PERMISSION_CLIENT_SCOPE_PREFIX = 'scope';
export const PERMISSION_CLIENT_DIAGNOSTIC_EVENTS = {
REMOTE_BATCH_FAILED: 'perm.client.remote_batch_failed',
REMOTE_CHECK_FAILED: 'perm.client.remote_check_failed',
REMOTE_WHAT_FAILED: 'perm.client.remote_what_failed'
} as const;
// Method labels used by `ensureLive(method)` for error messages. They are
// scoped with the artifact prefix `perm.` so that aggregated diagnostic
// streams do not collide with identically-named methods from other modules
// (`cach.check`, `sess.refresh`, etc.).
export const PERMISSION_METHOD_CHECK = 'perm.check';
export const PERMISSION_METHOD_CAN = 'perm.can';
export const PERMISSION_METHOD_BATCH = 'perm.batch';
export const PERMISSION_METHOD_EXPLAIN = 'perm.explain';
export const PERMISSION_METHOD_WHAT = 'perm.what';
export const PERMISSION_METHOD_SUBSCRIBE = 'perm.subscribe';
export const PERMISSION_METHOD_CLEAR_ERROR = 'perm.clearError';
export const PERMISSION_METHOD_DECISION_KEY = 'perm.decisionKey';
export const PERMISSION_METHOD_HYDRATE = 'perm.hydrate';
export const PERMISSION_METHOD_INVALIDATE = 'perm.invalidate';
export const PERMISSION_AUTO_INVALIDATE_NONE = 'none';
export const PERMISSION_AUTO_INVALIDATE_STANDARD = 'standard';
export const PERMISSION_AUTO_INVALIDATE_USER_IDENTITY_CHANGE = 'userIdentityChange';
export const PERMISSION_AUTO_INVALIDATE_PERMISSIONS_REFRESH = 'permissionsRefresh';
export const PERMISSION_AUTO_INVALIDATE_TENANT_SWITCHED = 'tenantSwitched';
export const PERMISSION_LOG_MSG_REMOTE_CHECK_FAILED = 'remote authorization check failed';
export const PERMISSION_LOG_MSG_REMOTE_BATCH_FAILED = 'remote authorization batch failed';
export const PERMISSION_LOG_MSG_REMOTE_WHAT_FAILED = 'remote authorization what failed';
export const PERMISSION_LOG_MSG_DECISION = 'authorization decision';
export const PERMISSION_LOG_MSG_DENIED = 'authorization denied';
export const PERMISSION_LOG_MSG_INDETERMINATE = 'authorization indeterminate';
export const PERMISSION_DECISION_REASON_REMOTE_CHECK_FAILED = 'permission.remote.check_failed';
export const PERMISSION_DECISION_REASON_REMOTE_BATCH_FAILED = 'permission.remote.batch_failed';
export const PERMISSION_ERROR_MSG_REQUEST_FAILED_PREFIX = 'Authorization request failed: ';
export const PERMISSION_ERROR_MSG_RESPONSE_NOT_JSON_PREFIX =
'Authorization response is not valid JSON: ';
export const PERMISSION_ERROR_MSG_NO_CONTEXT = 'Permission context is not available';
export const PERMISSION_ERROR_MSG_DISPOSED_SUFFIX = '() called on a disposed permissions client';
export const PERMISSION_ERROR_MSG_CLIENT_ENDPOINT_REQUIRED =
'createActivePermissions requires an endpoint';
export const PERMISSION_ERROR_NAME_INVALID_ENDPOINT = 'PermInvalidEndpointError';
export const PERMISSION_ERROR_NAME_NO_CONTEXT = 'PermNoContextError';
export const PERMISSION_ERROR_NAME_REMOTE_REQUEST = 'PermRemoteRequestError';
export const PERMISSION_ERROR_NAME_DISPOSED = 'PermDisposedError';

Powered by TurnKey Linux.