https://project.mdnd-it.cc/work_packages/94
This commit is contained in:
2025-08-23 04:25:28 +02:00
parent 725516ad6c
commit 19cfa031d0
25823 changed files with 1095587 additions and 2801760 deletions
@@ -0,0 +1,4 @@
export interface GetDeckByIdQuery {
id: string;
}
//# sourceMappingURL=GetDeckByIdQuery.d.ts.map
@@ -0,0 +1 @@
{"version":3,"file":"GetDeckByIdQuery.d.ts","sourceRoot":"","sources":["../../../../src/Application/Deck/queries/GetDeckByIdQuery.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;CACZ"}
@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=GetDeckByIdQuery.js.map
@@ -0,0 +1 @@
{"version":3,"file":"GetDeckByIdQuery.js","sourceRoot":"","sources":["../../../../src/Application/Deck/queries/GetDeckByIdQuery.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
import { IDeckRepository } from '../../../Domain/IRepository/IDeckRepository';
import { GetDeckByIdQuery } from './GetDeckByIdQuery';
import { ShortDeckDto } from '../../DTOs/DeckDto';
export declare class GetDeckByIdQueryHandler {
private readonly deckRepo;
constructor(deckRepo: IDeckRepository);
execute(query: GetDeckByIdQuery): Promise<ShortDeckDto | null>;
}
//# sourceMappingURL=GetDeckByIdQueryHandler.d.ts.map
@@ -0,0 +1 @@
{"version":3,"file":"GetDeckByIdQueryHandler.d.ts","sourceRoot":"","sources":["../../../../src/Application/Deck/queries/GetDeckByIdQueryHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,eAAe;IAEhD,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAKrE"}
@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetDeckByIdQueryHandler = void 0;
const DeckMapper_1 = require("../../DTOs/Mappers/DeckMapper");
class GetDeckByIdQueryHandler {
constructor(deckRepo) {
this.deckRepo = deckRepo;
}
async execute(query) {
const deck = await this.deckRepo.findById(query.id);
if (!deck)
return null;
return DeckMapper_1.DeckMapper.toShortDto(deck);
}
}
exports.GetDeckByIdQueryHandler = GetDeckByIdQueryHandler;
//# sourceMappingURL=GetDeckByIdQueryHandler.js.map
@@ -0,0 +1 @@
{"version":3,"file":"GetDeckByIdQueryHandler.js","sourceRoot":"","sources":["../../../../src/Application/Deck/queries/GetDeckByIdQueryHandler.ts"],"names":[],"mappings":";;;AAGA,8DAA2D;AAE3D,MAAa,uBAAuB;IAClC,YAA6B,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IAE1D,KAAK,CAAC,OAAO,CAAC,KAAuB;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,uBAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AARD,0DAQC"}
@@ -0,0 +1,9 @@
export interface GetDecksByPageQuery {
from: number;
to: number;
userId: string;
userOrgId?: string;
isAdmin: boolean;
includeDeleted?: boolean;
}
//# sourceMappingURL=GetDecksByPageQuery.d.ts.map
@@ -0,0 +1 @@
{"version":3,"file":"GetDecksByPageQuery.d.ts","sourceRoot":"","sources":["../../../../src/Application/Deck/queries/GetDecksByPageQuery.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=GetDecksByPageQuery.js.map
@@ -0,0 +1 @@
{"version":3,"file":"GetDecksByPageQuery.js","sourceRoot":"","sources":["../../../../src/Application/Deck/queries/GetDecksByPageQuery.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
import { IDeckRepository } from '../../../Domain/IRepository/IDeckRepository';
import { GetDecksByPageQuery } from './GetDecksByPageQuery';
import { ShortDeckDto } from '../../DTOs/DeckDto';
export declare class GetDecksByPageQueryHandler {
private readonly deckRepo;
constructor(deckRepo: IDeckRepository);
execute(query: GetDecksByPageQuery): Promise<{
decks: ShortDeckDto[];
totalCount: number;
}>;
}
//# sourceMappingURL=GetDecksByPageQueryHandler.d.ts.map
@@ -0,0 +1 @@
{"version":3,"file":"GetDecksByPageQueryHandler.d.ts","sourceRoot":"","sources":["../../../../src/Application/Deck/queries/GetDecksByPageQueryHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,qBAAa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,eAAe;IAEhD,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAuElG"}
@@ -0,0 +1,66 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetDecksByPageQueryHandler = void 0;
const DeckMapper_1 = require("../../DTOs/Mappers/DeckMapper");
const AdminBypassService_1 = require("../../Services/AdminBypassService");
const Logger_1 = require("../../Services/Logger");
class GetDecksByPageQueryHandler {
constructor(deckRepo) {
this.deckRepo = deckRepo;
}
async execute(query) {
try {
// Validate pagination parameters
if (query.from < 0 || query.to < query.from) {
throw new Error('Invalid pagination parameters');
}
const limit = query.to - query.from + 1;
if (limit > 100) {
throw new Error('Page size too large. Maximum 100 records per request');
}
// Log admin bypass if applicable
if (query.isAdmin) {
AdminBypassService_1.AdminBypassService.logAdminBypass('GET_DECKS_PAGE_BYPASS', query.userId, 'paginated-decks', {
from: query.from,
to: query.to,
includesDeleted: query.includeDeleted || false,
operation: 'read'
});
}
(0, Logger_1.logRequest)('Get decks by page query started', undefined, undefined, {
userId: query.userId,
userOrgId: query.userOrgId,
isAdmin: query.isAdmin,
from: query.from,
to: query.to,
includeDeleted: query.includeDeleted || false
});
// Use paginated filtered deck finding method
const result = await this.deckRepo.findFilteredDecks(query.userId, query.userOrgId, query.isAdmin, query.from, query.to);
(0, Logger_1.logRequest)('Get decks by page query completed', undefined, undefined, {
userId: query.userId,
userOrgId: query.userOrgId,
isAdmin: query.isAdmin,
from: query.from,
to: query.to,
returned: result.decks.length,
totalCount: result.totalCount,
includeDeleted: query.includeDeleted || false
});
return {
decks: DeckMapper_1.DeckMapper.toShortDtoList(result.decks),
totalCount: result.totalCount
};
}
catch (error) {
(0, Logger_1.logError)('GetDecksByPageQueryHandler error', error instanceof Error ? error : new Error(String(error)));
// Re-throw validation errors as-is
if (error instanceof Error && (error.message.includes('Invalid pagination') || error.message.includes('Page size'))) {
throw error;
}
throw new Error('Failed to retrieve decks page');
}
}
}
exports.GetDecksByPageQueryHandler = GetDecksByPageQueryHandler;
//# sourceMappingURL=GetDecksByPageQueryHandler.js.map
@@ -0,0 +1 @@
{"version":3,"file":"GetDecksByPageQueryHandler.js","sourceRoot":"","sources":["../../../../src/Application/Deck/queries/GetDecksByPageQueryHandler.ts"],"names":[],"mappings":"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"}