From 146fa7430cb26cab65e7ba679a4f5fd6ea3fd0f5 Mon Sep 17 00:00:00 2001 From: Morgan Mccauley Date: Tue, 18 Jul 2023 15:18:40 +1200 Subject: [PATCH] feat: Provision separate DB per user in runner --- indexer-js-queue-handler/indexer.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/indexer-js-queue-handler/indexer.js b/indexer-js-queue-handler/indexer.js index 51c64ec7f..34c160e72 100644 --- a/indexer-js-queue-handler/indexer.js +++ b/indexer-js-queue-handler/indexer.js @@ -52,14 +52,15 @@ export default class Indexer { const functionNameWithoutAccount = function_name.split('/')[1].replace(/[.-]/g, '_'); if (options.provision && !indexerFunction["provisioned"]) { - const schemaName = `${function_name.replace(/[.\/-]/g, '_')}` + const userName = function_name.split('/')[0].replace(/[.-]/g, '_'); + const databaseName = userName; try { - if (!await this.deps.provisioner.doesEndpointExist(schemaName)) { + if (!await this.deps.provisioner.isUserApiProvisioned(databaseName)) { await this.setStatus(function_name, block_height, 'PROVISIONING'); simultaneousPromises.push(this.writeLog(function_name, block_height, 'Provisioning endpoint: starting')); - await this.deps.provisioner.createAuthenticatedEndpoint(schemaName, hasuraRoleName, indexerFunction.schema); + await this.deps.provisioner.provisionUserApi(userName, indexerFunction.schema); simultaneousPromises.push(this.writeLog(function_name, block_height, 'Provisioning endpoint: successful')); }