UNPKG

@atomixdesign/nodepay-ezidebit

Version:

Nodepay strategy for the Ezidebit payment gateway.

153 lines (152 loc) 8.1 kB
"use strict"; 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 __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PaymentScheduleDTO = void 0; var class_validator_1 = require("class-validator"); var IsOptionalIfEmpty_1 = require("./IsOptionalIfEmpty"); var validation_1 = require("@atomixdesign/nodepay-core/build/validation"); var types_1 = require("../../types"); var debug_1 = __importDefault(require("debug")); var log = debug_1.default('nodepay:ezidebit'); /** @internal */ var PaymentScheduleDTO = /** @class */ (function () { function PaymentScheduleDTO(paymentSchedule) { log("building " + this.constructor.name); log({ paymentSchedule: paymentSchedule }); if (!paymentSchedule.YourSystemReference) this.EziDebitCustomerID = paymentSchedule.EziDebitCustomerID; if (!paymentSchedule.EziDebitCustomerID) this.YourSystemReference = paymentSchedule.YourSystemReference; this.ScheduleStartDate = paymentSchedule.ScheduleStartDate; this.SchedulePeriodType = paymentSchedule.SchedulePeriodType; this.DayOfWeek = paymentSchedule.DayOfWeek; this.DayOfMonth = paymentSchedule.DayOfMonth; this.FirstWeekOfMonth = paymentSchedule.FirstWeekOfMonth; this.SecondWeekOfMonth = paymentSchedule.SecondWeekOfMonth; this.ThirdWeekOfMonth = paymentSchedule.ThirdWeekOfMonth; this.FourthWeekOfMonth = paymentSchedule.FourthWeekOfMonth; this.PaymentAmountInCents = paymentSchedule.PaymentAmountInCents; this.LimitToNumberOfPayments = paymentSchedule.LimitToNumberOfPayments; this.LimitToTotalAmountInCents = paymentSchedule.LimitToTotalAmountInCents; this.KeepManualPayments = paymentSchedule.KeepManualPayments; this.Username = paymentSchedule.Username; } __decorate([ IsOptionalIfEmpty_1.IsOptionalIfEmpty(), class_validator_1.IsNumberString(undefined, { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotANumber, 'EziDebitCustomerID'), }), class_validator_1.MaxLength(50, { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.FieldTooLong, 'EziDebitCustomerID'), }), __metadata("design:type", Object) ], PaymentScheduleDTO.prototype, "EziDebitCustomerID", void 0); __decorate([ class_validator_1.IsOptional(), class_validator_1.MaxLength(50, { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.FieldTooLong, 'YourSystemReference'), }), __metadata("design:type", Object) ], PaymentScheduleDTO.prototype, "YourSystemReference", void 0); __decorate([ class_validator_1.IsNotEmpty({ message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotEmpty, 'ScheduleStartDate'), }), class_validator_1.MaxLength(10, { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.FieldTooLong, 'ScheduleStartDate'), }), __metadata("design:type", String) ], PaymentScheduleDTO.prototype, "ScheduleStartDate", void 0); __decorate([ class_validator_1.IsNotEmpty({ message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotEmpty, 'SchedulePeriodType'), }), __metadata("design:type", String) ], PaymentScheduleDTO.prototype, "SchedulePeriodType", void 0); __decorate([ class_validator_1.IsOptional(), class_validator_1.IsIn(['MON', 'TUE', 'WED', 'THU', 'FRI'], { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotInAllowedSet, 'DayOfWeek'), }), __metadata("design:type", String) ], PaymentScheduleDTO.prototype, "DayOfWeek", void 0); __decorate([ class_validator_1.IsOptional(), class_validator_1.IsNumber(undefined, { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotANumber, 'DayOfMonth'), }), __metadata("design:type", Number) ], PaymentScheduleDTO.prototype, "DayOfMonth", void 0); __decorate([ class_validator_1.IsOptional(), class_validator_1.IsIn(['YES', 'NO', ''], { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotInAllowedSet, 'FirstWeekOfMonth'), }), __metadata("design:type", String) ], PaymentScheduleDTO.prototype, "FirstWeekOfMonth", void 0); __decorate([ class_validator_1.IsOptional(), class_validator_1.IsIn(['YES', 'NO', ''], { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotInAllowedSet, 'SecondWeekOfMonth'), }), __metadata("design:type", String) ], PaymentScheduleDTO.prototype, "SecondWeekOfMonth", void 0); __decorate([ class_validator_1.IsOptional(), class_validator_1.IsIn(['YES', 'NO', ''], { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotInAllowedSet, 'ThirdWeekOfMonth'), }), __metadata("design:type", String) ], PaymentScheduleDTO.prototype, "ThirdWeekOfMonth", void 0); __decorate([ class_validator_1.IsOptional(), class_validator_1.IsIn(['YES', 'NO', ''], { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotInAllowedSet, 'FourthWeekOfMonth'), }), __metadata("design:type", String) ], PaymentScheduleDTO.prototype, "FourthWeekOfMonth", void 0); __decorate([ class_validator_1.IsIn(['YES', 'NO'], { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotInAllowedSet, 'KeepManualPayments'), }), __metadata("design:type", String) ], PaymentScheduleDTO.prototype, "KeepManualPayments", void 0); __decorate([ class_validator_1.IsNumber(undefined, { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotANumber, 'LimitToNumberOfPayments'), }), __metadata("design:type", Number) ], PaymentScheduleDTO.prototype, "LimitToNumberOfPayments", void 0); __decorate([ class_validator_1.IsNumber(undefined, { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotANumber, 'LimitToTotalAmountInCents'), }), __metadata("design:type", Number) ], PaymentScheduleDTO.prototype, "LimitToTotalAmountInCents", void 0); __decorate([ class_validator_1.IsNumber(undefined, { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.NotANumber, 'PaymentAmountInCents'), }), __metadata("design:type", Number) ], PaymentScheduleDTO.prototype, "PaymentAmountInCents", void 0); __decorate([ class_validator_1.IsOptional(), class_validator_1.MaxLength(50, { message: validation_1.ErrorFactory.getErrorMessage(validation_1.ErrorType.FieldTooLong, 'Username'), }), __metadata("design:type", Object) ], PaymentScheduleDTO.prototype, "Username", void 0); return PaymentScheduleDTO; }()); exports.PaymentScheduleDTO = PaymentScheduleDTO;