trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
127 lines • 5.34 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetIncidentsRequestDto = exports.IncidentsFilterDto = void 0;
const class_transformer_1 = require("class-transformer");
const moment_1 = __importStar(require("moment"));
/**
* Filter structure for the incidents request
*/
class IncidentsFilterDto {
constructor(data = {}) {
Object.assign(this, data);
}
get EntityId() {
if (!this.searchText) {
return '';
}
return this.searchText.join(',');
}
}
exports.IncidentsFilterDto = IncidentsFilterDto;
__decorate([
(0, class_transformer_1.Expose)({ name: 'Ids' }),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Array)
], IncidentsFilterDto.prototype, "ids", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'Sports' }),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Array)
], IncidentsFilterDto.prototype, "sports", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'SearchText' }),
__metadata("design:type", Array)
], IncidentsFilterDto.prototype, "searchText", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'From' }),
(0, class_transformer_1.Transform)(({ value, type }) => {
if (type === class_transformer_1.TransformationType.PLAIN_TO_CLASS) {
if ((0, moment_1.isMoment)(value))
return value.utc(); // Ensure UTC
if (typeof value === 'string') {
// Accept two specific formats with strict parsing:
// 1. "2023-04-27 18:36:39" - standard format with space
// 2. "2023-04-27T18:36:39Z" - ISO 8601 format with T and Z
const parsedDate = (0, moment_1.default)(value, [
'YYYY-MM-DD HH:mm:ss', // Standard format
moment_1.ISO_8601, // ISO 8601 format (includes T and Z)
], true);
if (parsedDate.isValid()) {
return parsedDate.utc();
}
return undefined;
}
return value;
}
if (type === class_transformer_1.TransformationType.CLASS_TO_PLAIN) {
if ((0, moment_1.isMoment)(value)) {
// For serialization, return ISO string format
return value.toISOString();
}
}
return value;
}),
__metadata("design:type", Object)
], IncidentsFilterDto.prototype, "from", void 0);
/**
* GetIncidentsRequest class for sending request
* to get incidents from the API.
*
* @param filter Filter parameters for the incidents
*/
class GetIncidentsRequestDto {
constructor(data = {}) {
if (data.filter) {
// Check if 'filter' is already an instance of IncidentsFilterDto
if (data.filter instanceof IncidentsFilterDto) {
this.filter = data.filter;
}
else {
// Create a new IncidentsFilterDto from the plain object
this.filter = new IncidentsFilterDto(data.filter);
}
}
}
get EntityId() {
return this.filter?.EntityId || '';
}
}
exports.GetIncidentsRequestDto = GetIncidentsRequestDto;
__decorate([
(0, class_transformer_1.Expose)({ name: 'Filter' }),
(0, class_transformer_1.Type)(() => IncidentsFilterDto),
__metadata("design:type", IncidentsFilterDto)
], GetIncidentsRequestDto.prototype, "filter", void 0);
//# sourceMappingURL=incidents-request.dto.js.map