rl-core-api 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/auth/guards/permissions.guard.js +4 -6
- package/dist/core/auth/permissionCheck.util.d.ts +8 -0
- package/dist/core/auth/permissionCheck.util.js +30 -0
- package/dist/core/export/pdf/pdf.constants.js +1 -1
- package/dist/core/export/pdf/pdfDocument.service.js +2 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +10 -4
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ exports.PermissionsGuard = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const core_1 = require("@nestjs/core");
|
|
15
15
|
const requirePermission_decorator_1 = require("../decorators/requirePermission.decorator");
|
|
16
|
+
const permissionCheck_util_1 = require("../permissionCheck.util");
|
|
16
17
|
let PermissionsGuard = class PermissionsGuard {
|
|
17
18
|
constructor(reflector) {
|
|
18
19
|
this.reflector = reflector;
|
|
@@ -26,12 +27,9 @@ let PermissionsGuard = class PermissionsGuard {
|
|
|
26
27
|
return true;
|
|
27
28
|
}
|
|
28
29
|
const user = context.switchToHttp().getRequest().user;
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (!allOk || !anyOk) {
|
|
33
|
-
throw new common_1.ForbiddenException("Permissão insuficiente para esta ação");
|
|
34
|
-
}
|
|
30
|
+
const holder = { permissions: user?.permissions ?? [] };
|
|
31
|
+
(0, permissionCheck_util_1.assertPermission)(holder, ...(required ?? []));
|
|
32
|
+
(0, permissionCheck_util_1.assertAnyPermission)(holder, ...(requiredAny ?? []));
|
|
35
33
|
return true;
|
|
36
34
|
}
|
|
37
35
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const INSUFFICIENT_PERMISSION = "Permiss\u00E3o insuficiente para esta a\u00E7\u00E3o";
|
|
2
|
+
export interface PermissionHolder {
|
|
3
|
+
permissions?: string[] | null;
|
|
4
|
+
}
|
|
5
|
+
export declare const hasPermission: (holder: PermissionHolder, ...codes: string[]) => boolean;
|
|
6
|
+
export declare const hasAnyPermission: (holder: PermissionHolder, ...codes: string[]) => boolean;
|
|
7
|
+
export declare const assertPermission: (holder: PermissionHolder, ...codes: string[]) => void;
|
|
8
|
+
export declare const assertAnyPermission: (holder: PermissionHolder, ...codes: string[]) => void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertAnyPermission = exports.assertPermission = exports.hasAnyPermission = exports.hasPermission = exports.INSUFFICIENT_PERMISSION = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
exports.INSUFFICIENT_PERMISSION = "Permissão insuficiente para esta ação";
|
|
6
|
+
const hasPermission = (holder, ...codes) => {
|
|
7
|
+
const granted = new Set(holder.permissions ?? []);
|
|
8
|
+
return codes.every((code) => granted.has(code));
|
|
9
|
+
};
|
|
10
|
+
exports.hasPermission = hasPermission;
|
|
11
|
+
const hasAnyPermission = (holder, ...codes) => {
|
|
12
|
+
if (codes.length === 0) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
const granted = new Set(holder.permissions ?? []);
|
|
16
|
+
return codes.some((code) => granted.has(code));
|
|
17
|
+
};
|
|
18
|
+
exports.hasAnyPermission = hasAnyPermission;
|
|
19
|
+
const assertPermission = (holder, ...codes) => {
|
|
20
|
+
if (!(0, exports.hasPermission)(holder, ...codes)) {
|
|
21
|
+
throw new common_1.ForbiddenException(exports.INSUFFICIENT_PERMISSION);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
exports.assertPermission = assertPermission;
|
|
25
|
+
const assertAnyPermission = (holder, ...codes) => {
|
|
26
|
+
if (!(0, exports.hasAnyPermission)(holder, ...codes)) {
|
|
27
|
+
throw new common_1.ForbiddenException(exports.INSUFFICIENT_PERMISSION);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.assertAnyPermission = assertAnyPermission;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PDF_TABLE_LAYOUT = exports.PDF_STYLE = exports.PDF_LOGO_TYPES = exports.PDF_LOGO_SCALE = exports.PDF_LOGO_FIT = exports.PDF_LOGO_MAX_BYTES = exports.PDF_LOGO_TIMEOUT_MS = exports.PDF_FONT_SIZE = exports.PDF_PAGE_MARGINS = exports.PDF_A4 = exports.PDF_PAGE_SIZE = void 0;
|
|
4
4
|
exports.PDF_PAGE_SIZE = "A4";
|
|
5
5
|
exports.PDF_A4 = { width: 595.28, height: 841.89 };
|
|
6
|
-
exports.PDF_PAGE_MARGINS = [
|
|
6
|
+
exports.PDF_PAGE_MARGINS = [28, 44, 28, 40];
|
|
7
7
|
exports.PDF_FONT_SIZE = {
|
|
8
8
|
base: 9,
|
|
9
9
|
small: 7.5,
|
|
@@ -80,7 +80,7 @@ let PdfDocumentService = PdfDocumentService_1 = class PdfDocumentService {
|
|
|
80
80
|
text: running,
|
|
81
81
|
style: pdf_constants_1.PDF_STYLE.small,
|
|
82
82
|
color: theme.muted,
|
|
83
|
-
margin: [pdf_constants_1.PDF_PAGE_MARGINS[0],
|
|
83
|
+
margin: [pdf_constants_1.PDF_PAGE_MARGINS[0], 18, pdf_constants_1.PDF_PAGE_MARGINS[2], 0],
|
|
84
84
|
},
|
|
85
85
|
footer: (page, pages) => ({
|
|
86
86
|
columns: [
|
|
@@ -92,7 +92,7 @@ let PdfDocumentService = PdfDocumentService_1 = class PdfDocumentService {
|
|
|
92
92
|
alignment: "right",
|
|
93
93
|
},
|
|
94
94
|
],
|
|
95
|
-
margin: [pdf_constants_1.PDF_PAGE_MARGINS[0],
|
|
95
|
+
margin: [pdf_constants_1.PDF_PAGE_MARGINS[0], 14, pdf_constants_1.PDF_PAGE_MARGINS[2], 0],
|
|
96
96
|
}),
|
|
97
97
|
content: [this.cover(frame, logo, landscape === true), content],
|
|
98
98
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export { CsrfGuard } from "./core/auth/guards/csrf.guard";
|
|
|
20
20
|
export { JwtAuthGuard } from "./core/auth/guards/jwtAuth.guard";
|
|
21
21
|
export { PermissionsGuard } from "./core/auth/guards/permissions.guard";
|
|
22
22
|
export { OwnershipScope, resolveOwnershipScope, } from "./core/auth/ownershipScope.util";
|
|
23
|
+
export { assertAnyPermission, assertPermission, hasAnyPermission, hasPermission, INSUFFICIENT_PERMISSION, PermissionHolder, } from "./core/auth/permissionCheck.util";
|
|
23
24
|
export { anyOrOwn, anyOrTeam, SCOPE_ANY, SCOPE_OWN, SCOPE_TEAM, } from "./core/auth/permissionScope.util";
|
|
24
25
|
export { applyFilter, FilterSql } from "./core/query/applyFilter.util";
|
|
25
26
|
export { applyOwnershipScope, OwnershipScopeOptions, } from "./core/query/applyOwnershipScope.util";
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.normalizeIp = exports.sha256 = exports.randomToken = exports.numericCode = exports.backupCode = exports.encryptSecret = exports.decryptSecret = exports.MailerService = exports.createAppLogger = exports.WS_USER_RESOLVER = exports.WsAuthService = exports.wrapSocketEvent = exports.SOCKET_EVENT_VERSION = exports.userRoom = exports.SESSION_REFRESH_EVENT = exports.roleRoom = exports.NOTIFICATIONS_NAMESPACE = exports.BaseGateway = exports.UploadImageFromUrlCommand = exports.ImageStatusResponse = exports.ImageProfileResponse = exports.ImageAcceptedResponse = exports.ImagesWorkerModule = exports.ImageStorageService = exports.ImagesApiModule = exports.ImagesService = exports.ImagesProcessor = exports.ImagesModule = exports.ImagesController = exports.ImageProfileRegistry = exports.ImageUploadProfile = exports.ImageSourceKind = exports.ImageFormat = exports.ImageFit = exports.IMAGE_PROFILE = exports.EXTENSION_BY_FORMAT = exports.ImageProcessingService = void 0;
|
|
3
|
+
exports.toFilterSchema = exports.FilterOptionResponse = exports.FilterFieldResponse = exports.FilterOperator = exports.FilterCombinator = exports.FilterFieldType = exports.FILTER_MAX_NODES = exports.FILTER_MAX_LENGTH = exports.FILTER_MAX_IN_ITEMS = exports.FILTER_MAX_DEPTH = exports.DEFAULT_OPERATORS = exports.applyOwnershipScope = exports.applyFilter = exports.SCOPE_TEAM = exports.SCOPE_OWN = exports.SCOPE_ANY = exports.anyOrTeam = exports.anyOrOwn = exports.INSUFFICIENT_PERMISSION = exports.hasPermission = exports.hasAnyPermission = exports.assertPermission = exports.assertAnyPermission = exports.resolveOwnershipScope = exports.PermissionsGuard = exports.JwtAuthGuard = exports.CsrfGuard = exports.AppThrottlerGuard = exports.RequirePermission = exports.RequireAnyPermission = exports.PERMISSIONS_KEY = exports.ANY_PERMISSIONS_KEY = exports.Public = exports.IS_PUBLIC_KEY = exports.CurrentUser = exports.setAuthCookies = exports.REFRESH_COOKIE = exports.clearAuthCookies = exports.ACCESS_COOKIE = exports.EnvService = exports.validateEnv = exports.envSchema = exports.ConfigModule = exports.RlCoreModule = exports.coreEntities = exports.coreMigrations = exports.createCoreDataSource = exports.CoreModule = exports.bootstrapWorker = exports.bootstrapCore = void 0;
|
|
4
|
+
exports.JobProgressResponse = exports.JobErrorResponse = exports.JobEventsService = exports.JOB_EVENTS_PUBLISHER = exports.JobProducer = exports.BullConnectionModule = exports.Auditable = exports.RequestOutcome = exports.ErrorType = exports.codedUnauthorized = exports.codedTooManyRequests = exports.codedBadRequest = exports.AppErrorCode = exports.AppEvent = exports.auditContext = exports.User = exports.PasswordHistory = exports.Scope = exports.Role = exports.Resource = exports.Permission = exports.Group = exports.Action = exports.NotificationsPublisher = exports.NotificationsModule = exports.NotificationScope = exports.NotificationRead = exports.Notification = exports.NotificationsService = exports.ScopeType = exports.NotificationType = exports.SCOPES = exports.ROLES = exports.RESOURCES = exports.PERMISSIONS = exports.ACTIONS = exports.AuthToken = exports.RequestLog = exports.AuditDataChange = exports.seedPermissions = exports.seedAdmin = exports.BaseEntity = exports.PaginationMetaResponse = exports.resolveOrder = exports.PaginationQuery = exports.Paginated = exports.parseFilter = exports.paginateWithFilter = exports.applySearch = exports.resolveCatalogOrder = void 0;
|
|
5
|
+
exports.PDF_TABLE_LAYOUT = exports.PDF_STYLE = exports.ExportWorkerModule = exports.ExportStorageService = exports.ExportStatusResponse = exports.ExportKind = exports.ExportHandlerRegistry = exports.ExportReport = exports.EXPORT_HANDLER = exports.ExportExtension = exports.EXPORT_CONTENT_TYPES = exports.ExportEngineService = exports.ExportDocument = exports.EXPORT_DOCUMENT = exports.ExportColumnFormat = exports.ExportCleanupService = exports.ExportApiModule = exports.ExportAcceptedResponse = exports.ExportService = exports.ExportProcessor = exports.ExportModule = exports.ExportController = exports.EXPORT_PARAMS_MAX_LENGTH = exports.RedisJobEventsPublisher = exports.jobEventsChannel = exports.RedisJobEventsBridge = exports.buildRedisOptions = exports.QueueModule = exports.queuePrefix = exports.QUEUE_NAMES = exports.JOBS_QUEUE = exports.JOB_PROGRESS_EVENT = exports.JOB_FAILED_EVENT = exports.JOB_CONCURRENCY = exports.JOB_COMPLETED_EVENT = exports.JOB_BACKOFF_DELAY_MS = exports.JOB_ATTEMPTS = exports.isRedisConfigured = exports.isQueueName = exports.IMAGES_QUEUE = exports.IMAGE_LOCK_DURATION_MS = exports.IMAGE_CONCURRENCY = exports.FAILED_RETENTION_SECONDS = exports.EXPORTS_QUEUE = exports.EXPORT_LOCK_DURATION_MS = exports.EXPORT_CONCURRENCY = exports.COMPLETED_RETENTION_SECONDS = exports.toSafeError = exports.JobWorkerHost = exports.JobStatusResponse = void 0;
|
|
6
|
+
exports.normalizeIp = exports.sha256 = exports.randomToken = exports.numericCode = exports.backupCode = exports.encryptSecret = exports.decryptSecret = exports.MailerService = exports.createAppLogger = exports.WS_USER_RESOLVER = exports.WsAuthService = exports.wrapSocketEvent = exports.SOCKET_EVENT_VERSION = exports.userRoom = exports.SESSION_REFRESH_EVENT = exports.roleRoom = exports.NOTIFICATIONS_NAMESPACE = exports.BaseGateway = exports.UploadImageFromUrlCommand = exports.ImageStatusResponse = exports.ImageProfileResponse = exports.ImageAcceptedResponse = exports.ImagesWorkerModule = exports.ImageStorageService = exports.ImagesApiModule = exports.ImagesService = exports.ImagesProcessor = exports.ImagesModule = exports.ImagesController = exports.ImageProfileRegistry = exports.ImageUploadProfile = exports.ImageSourceKind = exports.ImageFormat = exports.ImageFit = exports.IMAGE_PROFILE = exports.EXTENSION_BY_FORMAT = exports.ImageProcessingService = exports.isBlockedAddress = exports.ImageFetchService = exports.ImageCleanupService = exports.RequestExportCommand = exports.PdfDocumentService = void 0;
|
|
7
7
|
var bootstrapCore_util_1 = require("./core/bootstrap/bootstrapCore.util");
|
|
8
8
|
Object.defineProperty(exports, "bootstrapCore", { enumerable: true, get: function () { return bootstrapCore_util_1.bootstrapCore; } });
|
|
9
9
|
var bootstrapWorker_util_1 = require("./core/bootstrap/bootstrapWorker.util");
|
|
@@ -50,6 +50,12 @@ var permissions_guard_1 = require("./core/auth/guards/permissions.guard");
|
|
|
50
50
|
Object.defineProperty(exports, "PermissionsGuard", { enumerable: true, get: function () { return permissions_guard_1.PermissionsGuard; } });
|
|
51
51
|
var ownershipScope_util_1 = require("./core/auth/ownershipScope.util");
|
|
52
52
|
Object.defineProperty(exports, "resolveOwnershipScope", { enumerable: true, get: function () { return ownershipScope_util_1.resolveOwnershipScope; } });
|
|
53
|
+
var permissionCheck_util_1 = require("./core/auth/permissionCheck.util");
|
|
54
|
+
Object.defineProperty(exports, "assertAnyPermission", { enumerable: true, get: function () { return permissionCheck_util_1.assertAnyPermission; } });
|
|
55
|
+
Object.defineProperty(exports, "assertPermission", { enumerable: true, get: function () { return permissionCheck_util_1.assertPermission; } });
|
|
56
|
+
Object.defineProperty(exports, "hasAnyPermission", { enumerable: true, get: function () { return permissionCheck_util_1.hasAnyPermission; } });
|
|
57
|
+
Object.defineProperty(exports, "hasPermission", { enumerable: true, get: function () { return permissionCheck_util_1.hasPermission; } });
|
|
58
|
+
Object.defineProperty(exports, "INSUFFICIENT_PERMISSION", { enumerable: true, get: function () { return permissionCheck_util_1.INSUFFICIENT_PERMISSION; } });
|
|
53
59
|
var permissionScope_util_1 = require("./core/auth/permissionScope.util");
|
|
54
60
|
Object.defineProperty(exports, "anyOrOwn", { enumerable: true, get: function () { return permissionScope_util_1.anyOrOwn; } });
|
|
55
61
|
Object.defineProperty(exports, "anyOrTeam", { enumerable: true, get: function () { return permissionScope_util_1.anyOrTeam; } });
|
package/package.json
CHANGED