From 4809fec457b29af597bc48fa5ba3d05f21cb2abf Mon Sep 17 00:00:00 2001 From: Alan Perdomo Date: Wed, 5 Apr 2023 12:29:23 -0300 Subject: [PATCH 1/2] fix(basic.gblib): Correct web automation 'date' use. --- packages/basic.gblib/services/DialogKeywords.ts | 17 +++++++++++++---- packages/basic.gblib/services/SystemKeywords.ts | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/basic.gblib/services/DialogKeywords.ts b/packages/basic.gblib/services/DialogKeywords.ts index 0dbf1a15..7eff82f3 100644 --- a/packages/basic.gblib/services/DialogKeywords.ts +++ b/packages/basic.gblib/services/DialogKeywords.ts @@ -906,14 +906,23 @@ export class DialogKeywords { ); }; - const value = extractEntity(answer); + const parseDate = str => { + function pad(x){return (((''+x).length==2) ? '' : '0') + x; } + var m = str.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/) + , d = (m) ? new Date(m[3], m[2]-1, m[1]) : null + , matchesPadded = (d&&(str==[pad(d.getDate()),pad(d.getMonth()+1),d.getFullYear()].join('/'))) + , matchesNonPadded = (d&&(str==[d.getDate(),d.getMonth()+1,d.getFullYear()].join('/'))); + return (matchesPadded || matchesNonPadded) ? d : null; + } - if (value === null || value.length != 1) { + let value = parseDate(answer); + + if (value === null) { await this.talk({ pid, text: 'Por favor, digite uma data no formato 12/12/2020.' }); return await this.hear({ pid, kind, args }); } - - result = value; + value = new Date(value); + result = value.toLocaleString('pt-BR', { day: '2-digit', month: '2-digit', year: 'numeric' }); } else if (kind === 'hour') { const extractEntity = (text: string) => { return text.match(/^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/gi); diff --git a/packages/basic.gblib/services/SystemKeywords.ts b/packages/basic.gblib/services/SystemKeywords.ts index 1e8719d2..8474c280 100644 --- a/packages/basic.gblib/services/SystemKeywords.ts +++ b/packages/basic.gblib/services/SystemKeywords.ts @@ -487,7 +487,7 @@ export class SystemKeywords { // Processes FILTER option to ensure parallel SET calls. - const filter = await DialogKeywords.getOption({ pid, name }); + const filter = await DialogKeywords.getOption({ pid, name: 'filter' }); if (filter) { const row = this.find({ pid, handle: null, args: [filter] }); address += row['line']; From ae6aab7c64a61dc65b0cfc513715c66e38910ee8 Mon Sep 17 00:00:00 2001 From: AlanPerdomo Date: Thu, 6 Apr 2023 11:09:49 -0300 Subject: [PATCH 2/2] Fix(core.gbapp): Schedule enabled. --- packages/core.gbapp/services/GBMinService.ts | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/core.gbapp/services/GBMinService.ts b/packages/core.gbapp/services/GBMinService.ts index 6cf635c7..b3e9c067 100644 --- a/packages/core.gbapp/services/GBMinService.ts +++ b/packages/core.gbapp/services/GBMinService.ts @@ -98,7 +98,7 @@ import { WebAutomationServices } from '../../basic.gblib/services/WebAutomationS import { createKoaHttpServer } from '../../basic.gblib/index.js'; import { DebuggerService } from '../../basic.gblib/services/DebuggerService.js'; import { ImageProcessingServices } from '../../basic.gblib/services/ImageProcessingServices.js'; - +import { ScheduleServices } from '../../basic.gblib/services/ScheduleServices.js'; /** * Minimal service layer for a bot and encapsulation of BOT Framework calls. */ @@ -237,13 +237,11 @@ export class GBMinService { GBLogEx.info(0, 'API RPC HTTP Server started.'); - - - // // Loads schedules. - // GBLog.info(`Preparing SET SCHEDULE dialog calls...`); - - // const service = new ScheduleServices(); - // await service.scheduleAll(); + // Loads schedules. + + GBLog.info(`Preparing SET SCHEDULE dialog calls...`); + const service = new ScheduleServices(); + await service.scheduleAll(); GBLog.info(`All Bot instances loaded.`); }