{"version":3,"file":"rdbms-session-storage-migrator.mjs","sources":["../../../src/rdbms-session-storage-migrator.ts"],"sourcesContent":["import {AbstractMigrationEngine} from './abstract-migration-engine';\nimport {\n  RdbmsSessionStorageMigratorOptions,\n  defaultRdbmsSessionStorageMigratorOptions,\n  RdbmsConnection,\n  MigrationOperation,\n} from './types';\n\nexport abstract class RdbmsSessionStorageMigrator extends AbstractMigrationEngine<\n  RdbmsConnection,\n  RdbmsSessionStorageMigratorOptions\n> {\n  constructor(\n    dbConnection: RdbmsConnection,\n    opts: Partial<RdbmsSessionStorageMigratorOptions> = {},\n    migrations: MigrationOperation[],\n  ) {\n    super(\n      dbConnection,\n      {\n        ...defaultRdbmsSessionStorageMigratorOptions,\n        ...opts,\n      },\n      migrations,\n    );\n  }\n\n  async hasMigrationBeenApplied(migrationName: string): Promise<boolean> {\n    await this.ready;\n\n    const query = `\n      SELECT * FROM ${this.options.migrationDBIdentifier}\n      WHERE ${this.getOptions().migrationNameColumnName} =\n        ${this.connection.getArgumentPlaceholder(1)};\n    `;\n\n    const rows = await this.connection.query(query, [migrationName]);\n    return rows.length === 1;\n  }\n\n  async saveAppliedMigration(migrationName: string): Promise<void> {\n    await this.ready;\n\n    const insert = `\n          INSERT INTO ${this.options.migrationDBIdentifier} (${\n            this.getOptions().migrationNameColumnName\n          })\n          VALUES(${this.connection.getArgumentPlaceholder(1)});\n        `;\n\n    await this.connection.query(insert, [migrationName]);\n  }\n\n  public getOptions(): RdbmsSessionStorageMigratorOptions {\n    return this.options as RdbmsSessionStorageMigratorOptions;\n  }\n\n  abstract initMigrationPersistence(): Promise<void>;\n}\n"],"names":[],"mappings":";;;AAQM,MAAgB,2BAA4B,SAAQ,uBAGzD,CAAA;AACC,IAAA,WAAA,CACE,YAA6B,EAC7B,IAAA,GAAoD,EAAE,EACtD,UAAgC,EAAA;QAEhC,KAAK,CACH,YAAY,EACZ;AACE,YAAA,GAAG,yCAAyC;AAC5C,YAAA,GAAG,IAAI;SACR,EACD,UAAU,CACX;IACH;IAEA,MAAM,uBAAuB,CAAC,aAAqB,EAAA;QACjD,MAAM,IAAI,CAAC,KAAK;AAEhB,QAAA,MAAM,KAAK,GAAG;sBACI,IAAI,CAAC,OAAO,CAAC,qBAAqB;AAC1C,YAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAC,uBAAuB,CAAA;AAC7C,QAAA,EAAA,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;KAC9C;AAED,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC;AAChE,QAAA,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC;IAC1B;IAEA,MAAM,oBAAoB,CAAC,aAAqB,EAAA;QAC9C,MAAM,IAAI,CAAC,KAAK;AAEhB,QAAA,MAAM,MAAM,GAAG;wBACK,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAA,EAAA,EAC9C,IAAI,CAAC,UAAU,EAAE,CAAC,uBACpB,CAAA;AACS,iBAAA,EAAA,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;SACnD;AAEL,QAAA,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC;IACtD;IAEO,UAAU,GAAA;QACf,OAAO,IAAI,CAAC,OAA6C;IAC3D;AAGD;;;;"}