UNPKG

@alithya-oss/backstage-plugin-time-saver-backend

Version:

This plugin provides an implementation of charts and statistics related to your time savings that are coming from usage of your templates. Plugins is built from frontend and backend part. Backend plugin is responsible for scheduled stats parsing process a

56 lines (52 loc) 1.53 kB
'use strict'; var database = require('@backstage/backend-defaults/database'); class ScaffolderDatabase { constructor(knex, logger) { this.knex = knex; this.logger = logger; } static async create(config, logger, lifecycle) { const db = database.DatabaseManager.fromConfig(config).forPlugin("scaffolder", { logger, lifecycle }); const knex = await db.getClient(); return new ScaffolderDatabase(knex, logger); } async collectSpecByTemplateId(templateTaskId) { try { const result = await this.knex("tasks").select("spec").where("id", templateTaskId); this.logger.debug( `collectSpecByTemplateId : Data selected successfully ${JSON.stringify( result )}` ); return result; } catch (error) { this.logger.error( "Error selecting data:", error ? error : undefined ); throw error; } } async updateTemplateTaskById(templateTaskId, templateTaskSpecs) { try { const result = await this.knex("tasks").where({ id: templateTaskId }).update({ spec: templateTaskSpecs }); this.logger.debug( `updateTemplateTaskById : Data selected successfully ${JSON.stringify( result )}` ); return result; } catch (error) { this.logger.error( "Error selecting data:", error ? error : undefined ); throw error; } } } exports.ScaffolderDatabase = ScaffolderDatabase; //# sourceMappingURL=ScaffolderDatabase.cjs.js.map