@brasilindoc/integration-products
Advanced tools
Comparing version 1.1.1 to 1.2.0
@@ -105,2 +105,4 @@ export interface User { | ||
id: number; | ||
user: User; | ||
dateExpire: string; | ||
} | ||
@@ -107,0 +109,0 @@ export declare enum PointRequestStatusEnum { |
{ | ||
"name": "@brasilindoc/integration-products", | ||
"version": "1.1.1", | ||
"version": "1.2.0", | ||
"description": "Biblioteca para integração com os produtos da Brasil INDOC utilizando Node.js/Typescript", | ||
@@ -5,0 +5,0 @@ "scripts": { |
@@ -1,2 +0,2 @@ | ||
import { ListResponseInterface, NotificationPayload, PointRequest, PointRequestStatusEnum, SystemSettings, User, UserFilter, UserStatusEnum } from '../@types/br-accounts.types'; | ||
import { ListResponseInterface, NotificationPayload, PointRequest, PointRequestStatusEnum, User, UserFilter, UserStatusEnum } from '../@types/br-accounts.types'; | ||
import { BRDocServiceBase } from './BRDocServiceBase'; | ||
@@ -15,3 +15,3 @@ export declare class AccountsService extends BRDocServiceBase { | ||
debitPoints(id: number): Promise<import("@koalarx/utils/utils/KlRequest").KlRequestResponse<unknown>>; | ||
settings(): Promise<SystemSettings>; | ||
settings(): Promise<import("../@types/br-accounts.types").SystemSettings>; | ||
isAvailable(): Promise<boolean>; | ||
@@ -22,2 +22,5 @@ updateUserStatus(id: number, status: UserStatusEnum, useAdminUser?: boolean): Promise<import("@koalarx/utils/utils/KlRequest").KlRequestResponse<unknown>>; | ||
pointsRequestByStatus(status: PointRequestStatusEnum): Promise<import("@koalarx/utils/utils/KlRequest").KlRequestResponse<ListResponseInterface<PointRequest>>>; | ||
validateExpiredInvoices(): Promise<{ | ||
statusCode: number; | ||
}>; | ||
} |
@@ -37,2 +37,3 @@ 'use strict'; | ||
exports.AccountsService = void 0; | ||
const date_1 = require('@koalarx/utils/operators/date'); | ||
const br_accounts_types_1 = require('../@types/br-accounts.types'); | ||
@@ -169,4 +170,36 @@ const BRDocServiceBase_1 = require('./BRDocServiceBase'); | ||
} | ||
validateExpiredInvoices() { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const payableInvoices = (yield this.pointsRequestByStatus( | ||
br_accounts_types_1.PointRequestStatusEnum.payable, | ||
)).data.items; | ||
for (const invoice of payableInvoices) { | ||
if (new Date() > date_1.add(new Date(invoice.dateExpire), 1, 'days')) { | ||
(yield this.request(true)).patch( | ||
`/point-request/${invoice.id}/status`, | ||
{}, | ||
); | ||
} | ||
} | ||
const overdueInvoices = (yield this.pointsRequestByStatus( | ||
br_accounts_types_1.PointRequestStatusEnum.overdue, | ||
)).data.items; | ||
for (const invoice of overdueInvoices) { | ||
if ( | ||
date_1.diff( | ||
date_1.add(new Date(invoice.dateExpire), 1, 'days'), | ||
new Date(), | ||
) > 3 | ||
) { | ||
yield this.updateUserStatus( | ||
invoice.user.id, | ||
br_accounts_types_1.UserStatusEnum.blocked, | ||
); | ||
} | ||
} | ||
return { statusCode: 200 }; | ||
}); | ||
} | ||
} | ||
exports.AccountsService = AccountsService; | ||
//# sourceMappingURL=AccountsService.js.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
39900
770