first commit v3 initialiazed a temporary repository for darmanet client

This commit is contained in:
2026-09-08 16:04:01 +03:30
commit 5c7fd95052
216 changed files with 30050 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
import { createParamDecorator, ExecutionContext } from '@nestjs/common';
export const CurrentIdentity = createParamDecorator(
(data: keyof any, ctx: ExecutionContext) => {
const request = ctx.switchToHttp().getRequest();
const user = request.user;
// If a specific property of the user is requested (e.g., user ID or role)
// Return just that property; otherwise, return the full user object
return data ? user?.[data] : user;
},
);
export const AdminIdentity = createParamDecorator(
(data: keyof any, ctx: ExecutionContext) => {
const request = ctx.switchToHttp().getRequest();
const user = request['admin'];
return data ? user?.[data] : user;
},
);

View File

@@ -0,0 +1,8 @@
import { SetMetadata } from '@nestjs/common';
import { Permission } from 'src/common/types/permissions.catalog';
export const PERMISSIONS_KEY = 'permissions';
/** Require ANY of the listed permissions (OR). Owner always passes. */
export const Permissions = (...permissions: Permission[]) =>
SetMetadata(PERMISSIONS_KEY, permissions);

View File

@@ -0,0 +1,4 @@
import { SetMetadata } from '@nestjs/common';
export const ROLES_KEY = 'roles';
export const Roles = (...roles: string[]) => SetMetadata(ROLES_KEY, roles);

View File

@@ -0,0 +1,4 @@
import { SetMetadata } from '@nestjs/common';
export const SKIP_ADMIN_RATE_LIMIT_KEY = 'skipAdminRateLimit';
export const SkipAdminRateLimit = () => SetMetadata(SKIP_ADMIN_RATE_LIMIT_KEY, true);