UNPKG

test-ic-wallet-middleware-icrc

Version:
66 lines (65 loc) 3.54 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.IcrcInitializer = void 0; const common_1 = require("@ic-wallet-middleware/common"); const replications_1 = require("../replications"); const storage_1 = require("../storage"); const sync_1 = require("../sync"); const typedi_1 = __importDefault(require("typedi")); class IcrcInitializer { static build(identifierService, rxStorage, dataStorage, logger, assetManagerConfiguration, transactionManagerConfiguration, refreshServiceConfiguration, icrcReplicationConfiguration, createIcrcCanisterFunc) { const icrcDbContext = new storage_1.IcrcDbContext(identifierService, rxStorage); const assetDataStorage = new storage_1.AssetDataStorage(logger, identifierService, icrcDbContext); const contactDataStorage = new storage_1.ContactDataStorage(logger, identifierService, icrcDbContext); const allowanceDataStorage = new storage_1.AllowanceDataStorage(logger, identifierService, icrcDbContext); const serviceDataStorage = new storage_1.ServiceDataStorage(logger, identifierService, icrcDbContext); if (!typedi_1.default.has(common_1.IdentifierService)) { typedi_1.default.set(common_1.IdentifierService, identifierService); } if (!typedi_1.default.has("ILogger")) { typedi_1.default.set("ILogger", logger); } if (!typedi_1.default.has("IStorage")) { typedi_1.default.set("IStorage", dataStorage); } if (!typedi_1.default.has("RefreshServiceConfiguration")) { typedi_1.default.set("RefreshServiceConfiguration", refreshServiceConfiguration); } typedi_1.default.set(storage_1.IcrcDbContext, icrcDbContext); typedi_1.default.set("AssetManagerConfiguration", assetManagerConfiguration); typedi_1.default.set("TransactionConfiguration", transactionManagerConfiguration); typedi_1.default.set("IcrcReplicationConfiguration", icrcReplicationConfiguration); typedi_1.default.set("IContactDataStorage", contactDataStorage); typedi_1.default.set("IAssetDataStorage", assetDataStorage); typedi_1.default.set("IServiceDataStorage", serviceDataStorage); typedi_1.default.set("IAllowanceDataStorage", allowanceDataStorage); typedi_1.default.set("createIcrcCanisterFunc", createIcrcCanisterFunc); } static async init() { const icrcDbContext = typedi_1.default.get(storage_1.IcrcDbContext); await icrcDbContext.init(); const icrcReplicationManager = typedi_1.default.get(replications_1.IcrcReplicationManager); icrcReplicationManager.init(); const icrcRefreshService = typedi_1.default.get(sync_1.IcrcRefreshService); icrcRefreshService.init(); } static logout() { typedi_1.default.reset(); if (typedi_1.default.has(common_1.IdentifierService)) { typedi_1.default.remove(common_1.IdentifierService); } if (typedi_1.default.has("ILogger")) { typedi_1.default.remove("ILogger"); } if (typedi_1.default.has("IStorage")) { typedi_1.default.remove("IStorage"); } if (typedi_1.default.has("RefreshServiceConfiguration")) { typedi_1.default.remove("RefreshServiceConfiguration"); } } } exports.IcrcInitializer = IcrcInitializer;