rl-core-api 0.15.1 → 0.15.2
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/export/export.controller.d.ts +2 -0
- package/dist/core/export/export.controller.js +21 -0
- package/dist/core/export/exportStatus.response.d.ts +7 -0
- package/dist/core/export/exportStatus.response.js +36 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -2
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import type { Response } from "express";
|
|
|
3
3
|
import { AuthenticatedUser } from "../auth/authenticatedUser.interface";
|
|
4
4
|
import { ExportService } from "./export.service";
|
|
5
5
|
import { ExportAcceptedResponse } from "./exportAccepted.response";
|
|
6
|
+
import { ExportStatusResponse } from "./exportStatus.response";
|
|
6
7
|
import { ExportStorageService } from "./exportStorage.service";
|
|
7
8
|
import { RequestExportCommand } from "./requestExport.command";
|
|
8
9
|
export declare class ExportController {
|
|
@@ -10,5 +11,6 @@ export declare class ExportController {
|
|
|
10
11
|
private readonly storage;
|
|
11
12
|
constructor(exports: ExportService, storage: ExportStorageService);
|
|
12
13
|
request(user: AuthenticatedUser, handler: string, command: RequestExportCommand): Promise<ExportAcceptedResponse>;
|
|
14
|
+
status(user: AuthenticatedUser, jobId: string): Promise<ExportStatusResponse>;
|
|
13
15
|
download(user: AuthenticatedUser, jobId: string, response: Response): Promise<StreamableFile>;
|
|
14
16
|
}
|
|
@@ -20,6 +20,7 @@ const currentUser_decorator_1 = require("../auth/decorators/currentUser.decorato
|
|
|
20
20
|
const permissions_guard_1 = require("../auth/guards/permissions.guard");
|
|
21
21
|
const export_service_1 = require("./export.service");
|
|
22
22
|
const exportAccepted_response_1 = require("./exportAccepted.response");
|
|
23
|
+
const exportStatus_response_1 = require("./exportStatus.response");
|
|
23
24
|
const exportStorage_service_1 = require("./exportStorage.service");
|
|
24
25
|
const requestExport_command_1 = require("./requestExport.command");
|
|
25
26
|
const XLSX_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
|
|
@@ -33,6 +34,16 @@ let ExportController = class ExportController {
|
|
|
33
34
|
const ref = await this.exports.request(user, handler, command);
|
|
34
35
|
return { jobId: ref.jobId, name: ref.name };
|
|
35
36
|
}
|
|
37
|
+
async status(user, jobId) {
|
|
38
|
+
const job = await this.exports.status(jobId, user.id);
|
|
39
|
+
return {
|
|
40
|
+
state: job.state,
|
|
41
|
+
processed: job.progress?.processed ?? 0,
|
|
42
|
+
totalRows: job.summary?.totalRows ?? null,
|
|
43
|
+
fileName: job.summary?.fileName ?? null,
|
|
44
|
+
errorMessage: job.error?.message ?? null,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
36
47
|
async download(user, jobId, response) {
|
|
37
48
|
const status = await this.exports.status(jobId, user.id);
|
|
38
49
|
if (status.state === "failed") {
|
|
@@ -63,6 +74,16 @@ __decorate([
|
|
|
63
74
|
__metadata("design:paramtypes", [Object, String, requestExport_command_1.RequestExportCommand]),
|
|
64
75
|
__metadata("design:returntype", Promise)
|
|
65
76
|
], ExportController.prototype, "request", null);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, common_1.Get)(":jobId/status"),
|
|
79
|
+
(0, swagger_1.ApiParam)({ name: "jobId", example: "184" }),
|
|
80
|
+
(0, swagger_1.ApiOkResponse)({ type: exportStatus_response_1.ExportStatusResponse }),
|
|
81
|
+
__param(0, (0, currentUser_decorator_1.CurrentUser)()),
|
|
82
|
+
__param(1, (0, common_1.Param)("jobId")),
|
|
83
|
+
__metadata("design:type", Function),
|
|
84
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
85
|
+
__metadata("design:returntype", Promise)
|
|
86
|
+
], ExportController.prototype, "status", null);
|
|
66
87
|
__decorate([
|
|
67
88
|
(0, common_1.Get)(":jobId"),
|
|
68
89
|
(0, swagger_1.ApiParam)({ name: "jobId", example: "184" }),
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ExportStatusResponse = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
class ExportStatusResponse {
|
|
15
|
+
}
|
|
16
|
+
exports.ExportStatusResponse = ExportStatusResponse;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, swagger_1.ApiProperty)({ enum: ["waiting", "active", "completed", "failed", "delayed", "unknown"] }),
|
|
19
|
+
__metadata("design:type", String)
|
|
20
|
+
], ExportStatusResponse.prototype, "state", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, swagger_1.ApiProperty)({ example: 12000 }),
|
|
23
|
+
__metadata("design:type", Number)
|
|
24
|
+
], ExportStatusResponse.prototype, "processed", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, swagger_1.ApiProperty)({ type: Number, nullable: true, example: 25000 }),
|
|
27
|
+
__metadata("design:type", Object)
|
|
28
|
+
], ExportStatusResponse.prototype, "totalRows", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, swagger_1.ApiProperty)({ type: String, nullable: true, example: "funkos_2026-09-05.xlsx" }),
|
|
31
|
+
__metadata("design:type", Object)
|
|
32
|
+
], ExportStatusResponse.prototype, "fileName", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, swagger_1.ApiProperty)({ type: String, nullable: true }),
|
|
35
|
+
__metadata("design:type", Object)
|
|
36
|
+
], ExportStatusResponse.prototype, "errorMessage", void 0);
|
package/dist/index.d.ts
CHANGED
|
@@ -86,6 +86,7 @@ export { ExportColumn, ExportColumnFormat, } from "./core/export/exportColumn.in
|
|
|
86
86
|
export { ExportEngineService } from "./core/export/exportEngine.service";
|
|
87
87
|
export { EXPORT_HANDLER, ExportContext, ExportHandler, ExportJobPayload, ExportJobSummary, ExportReport, } from "./core/export/exportHandler.interface";
|
|
88
88
|
export { ExportHandlerRegistry } from "./core/export/exportHandler.registry";
|
|
89
|
+
export { ExportStatusResponse } from "./core/export/exportStatus.response";
|
|
89
90
|
export { ExportStorageService } from "./core/export/exportStorage.service";
|
|
90
91
|
export { ExportWorkerModule } from "./core/export/exportWorker.module";
|
|
91
92
|
export { RequestExportCommand } from "./core/export/requestExport.command";
|
package/dist/index.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Paginated = exports.parseFilter = exports.paginateWithFilter = exports.applySearch = exports.resolveCatalogOrder = 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.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
4
|
exports.EXPORT_CONCURRENCY = exports.COMPLETED_RETENTION_SECONDS = exports.toSafeError = exports.JobWorkerHost = exports.JobStatusResponse = 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 = void 0;
|
|
5
|
-
exports.
|
|
6
|
-
exports.normalizeIp = exports.sha256 = void 0;
|
|
5
|
+
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.RequestExportCommand = exports.ExportWorkerModule = exports.ExportStorageService = exports.ExportStatusResponse = exports.ExportHandlerRegistry = exports.ExportReport = exports.EXPORT_HANDLER = exports.ExportEngineService = exports.ExportColumnFormat = exports.ExportCleanupService = exports.ExportApiModule = exports.ExportAcceptedResponse = exports.ExportService = exports.ExportProcessor = exports.ExportModule = exports.ExportController = 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.FAILED_RETENTION_SECONDS = exports.EXPORTS_QUEUE = exports.EXPORT_LOCK_DURATION_MS = void 0;
|
|
6
|
+
exports.normalizeIp = exports.sha256 = exports.randomToken = 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");
|
|
@@ -218,6 +218,8 @@ Object.defineProperty(exports, "EXPORT_HANDLER", { enumerable: true, get: functi
|
|
|
218
218
|
Object.defineProperty(exports, "ExportReport", { enumerable: true, get: function () { return exportHandler_interface_1.ExportReport; } });
|
|
219
219
|
var exportHandler_registry_1 = require("./core/export/exportHandler.registry");
|
|
220
220
|
Object.defineProperty(exports, "ExportHandlerRegistry", { enumerable: true, get: function () { return exportHandler_registry_1.ExportHandlerRegistry; } });
|
|
221
|
+
var exportStatus_response_1 = require("./core/export/exportStatus.response");
|
|
222
|
+
Object.defineProperty(exports, "ExportStatusResponse", { enumerable: true, get: function () { return exportStatus_response_1.ExportStatusResponse; } });
|
|
221
223
|
var exportStorage_service_1 = require("./core/export/exportStorage.service");
|
|
222
224
|
Object.defineProperty(exports, "ExportStorageService", { enumerable: true, get: function () { return exportStorage_service_1.ExportStorageService; } });
|
|
223
225
|
var exportWorker_module_1 = require("./core/export/exportWorker.module");
|
package/package.json
CHANGED