diff --git a/packages/basic.gblib/services/DialogKeywords.ts b/packages/basic.gblib/services/DialogKeywords.ts index b3938788..1d762f16 100644 --- a/packages/basic.gblib/services/DialogKeywords.ts +++ b/packages/basic.gblib/services/DialogKeywords.ts @@ -1353,7 +1353,7 @@ export class DialogKeywords { const driveUrl = template['@microsoft.graph.downloadUrl']; const res = await fetch(driveUrl); let buf: any = Buffer.from(await res.arrayBuffer()); - let localName1 = Path.join('work', gbaiName, 'cache', `tmp${GBAdminService.getRndReadableIdentifier()}.${ext}`); + let localName1 = Path.join('work', gbaiName, 'cache', `${fileOnly}-${GBAdminService.getRndReadableIdentifier()}.${ext}`); Fs.writeFileSync(localName1, buf, { encoding: null }); url = urlJoin(GBServer.globals.publicAddress, min.botId, 'cache', Path.basename(localName1)); diff --git a/packages/basic.gblib/services/KeywordsExpressions.ts b/packages/basic.gblib/services/KeywordsExpressions.ts index 67f5310d..a61b0930 100644 --- a/packages/basic.gblib/services/KeywordsExpressions.ts +++ b/packages/basic.gblib/services/KeywordsExpressions.ts @@ -743,6 +743,13 @@ export class KeywordsExpressions { } ]; + keywords[i++] = [ + /^\s*((?:[a-z]+.?)(?:(?:\w+).)(?:\w+)*)\s*=\s*(ALLOW ROLE)(\s*)(.*)/gim, + ($0, $1, $2, $3, $4) => { + return `${$1} = await dk.allowRole ({pid: pid, role: ${$4}})`; + } + ]; + keywords[i++] = [ /^\s*(set filter)(\s*)(.*)/gim, ($0, $1, $2, $3) => {