internetmarke
Version:
A node implementation to use the Internetmarke web service of Deutsche Post.
45 lines (44 loc) • 2.05 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const debug_1 = __importDefault(require("debug"));
const inversify_1 = require("inversify");
const soap_1 = require("soap");
const Partner_1 = require("../1c4a/Partner");
const Service_1 = require("../1c4a/Service");
const Service_2 = require("../portokasse/Service");
const Client_1 = require("../prodWs/Client");
const Service_3 = require("../prodWs/Service");
const DataStore_1 = require("../services/DataStore");
const User_1 = require("../User");
const types_1 = require("./types");
const container = new inversify_1.Container();
// factories
container.bind(types_1.TYPES.LoggerFactory).toFactory(() => {
return (logId) => (0, debug_1.default)(`internetmarke${logId ? `:${logId}` : ''}`);
});
container
.bind(types_1.TYPES.SoapClientFactory)
.toFactory(() => (wsdl) => {
return (0, soap_1.createClientAsync)(wsdl, {
disableCache: true
});
});
// Portokasse
container.bind(types_1.TYPES.User).to(User_1.User);
container.bind(types_1.TYPES.PortokasseService).to(Service_2.PortokasseService);
// 1C4A
container.bind(types_1.TYPES.Partner).to(Partner_1.Partner);
container.bind(types_1.TYPES.PageFormatStore).to(DataStore_1.DataStore).inSingletonScope();
container.bind(types_1.TYPES.MotiveLinkStore).to(DataStore_1.DataStore).inSingletonScope();
container.bind(types_1.TYPES.GalleryItemStore).to(DataStore_1.DataStore).inSingletonScope();
container.bind(types_1.TYPES.OneClickForAppService).to(Service_1.OneClickForAppService);
// ProdWS
container.bind(types_1.TYPES.Client).to(Client_1.Client);
container.bind(types_1.TYPES.CatalogStore).to(DataStore_1.DataStore).inSingletonScope();
container.bind(types_1.TYPES.ProductStore).to(DataStore_1.DataStore).inSingletonScope();
container.bind(types_1.TYPES.ProductService).to(Service_3.ProductService);
exports.default = container;