UNPKG

@ngageoint/mage.sftp.service

Version:

The SFTP service package is a MAGE server plugin that sends observations to and SFTP location on create and update.

67 lines 2.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ArchiverFactory = exports.ArchiveError = exports.ArchiveResult = exports.ArchiveStatus = exports.TriggerRule = exports.CompletionAction = exports.ArchiveFormat = void 0; const archiver_1 = require("archiver"); const geojson_1 = require("./geojson"); var ArchiveFormat; (function (ArchiveFormat) { ArchiveFormat["GeoJSON"] = "GeoJSON"; })(ArchiveFormat = exports.ArchiveFormat || (exports.ArchiveFormat = {})); var CompletionAction; (function (CompletionAction) { CompletionAction["None"] = "None"; CompletionAction["Archive"] = "Archive"; })(CompletionAction = exports.CompletionAction || (exports.CompletionAction = {})); var TriggerRule; (function (TriggerRule) { TriggerRule["Create"] = "Create"; TriggerRule["CreateAndUpdate"] = "CreateAndUpdate"; })(TriggerRule = exports.TriggerRule || (exports.TriggerRule = {})); var ArchiveStatus; (function (ArchiveStatus) { ArchiveStatus["Complete"] = "ArchiveStatus.Complete"; ArchiveStatus["Incomplete"] = "ArchiveStatus.Incomplete"; })(ArchiveStatus = exports.ArchiveStatus || (exports.ArchiveStatus = {})); class ArchiveResult { constructor(archive, status) { this.archive = archive; this.status = status; this.archive = archive; this.status = status; } static complete(archive) { return new ArchiveResult(archive, ArchiveStatus.Complete); } static incomplete(archive) { return new ArchiveResult(archive, ArchiveStatus.Incomplete); } } exports.ArchiveResult = ArchiveResult; class ArchiveError extends Error { constructor(errorCode, message) { super(message); this.errorCode = errorCode; this.errorCode = errorCode; } static error(error, observationId) { const errorCode = (error instanceof archiver_1.ArchiverError) ? error.code : 'undefined'; return new ArchiveError(errorCode, `Failed to create SFTP archive for on observation ${observationId}`); } } exports.ArchiveError = ArchiveError; class ArchiverFactory { constructor(userRepository, attachmentStore) { this.userRepository = userRepository; this.attachmentStore = attachmentStore; } createArchiver(format) { if (format === ArchiveFormat.GeoJSON) { return new geojson_1.GeoJsonFormatter(this.userRepository, this.attachmentStore); } else { throw new Error('Unsupported Archive Format'); } } } exports.ArchiverFactory = ArchiverFactory; //# sourceMappingURL=entities.format.js.map