UNPKG

@adv-ui/boros-tcf

Version:

Adevinta GDPR - Transparency and Consent Framework - API

99 lines (76 loc) 3.62 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.SaveUserConsentUseCase = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/inheritsLoose")); var _ioc = require("../../../core/ioc/ioc"); var _ConsentRepository = require("../../../domain/consent/ConsentRepository"); var _ConsentEncoderService = require("../../../domain/consent/ConsentEncoderService"); var _ConsentFactory = require("../../../domain/consent/ConsentFactory"); var _AsyncUseCase2 = require("../AsyncUseCase"); var SaveUserConsentUseCase = /*#__PURE__*/function (_AsyncUseCase) { (0, _inheritsLoose2["default"])(SaveUserConsentUseCase, _AsyncUseCase); /** * @param {ConsentEncoderService} consentEncoderService * @param {ConsentRepository} consentRepository * @param {ConsentFactory} consentFactory */ function SaveUserConsentUseCase(_temp) { var _this; var _ref = _temp === void 0 ? {} : _temp, _ref$consentEncoderSe = _ref.consentEncoderService, consentEncoderService = _ref$consentEncoderSe === void 0 ? (0, _ioc.inject)(_ConsentEncoderService.ConsentEncoderService) : _ref$consentEncoderSe, _ref$consentRepositor = _ref.consentRepository, consentRepository = _ref$consentRepositor === void 0 ? (0, _ioc.inject)(_ConsentRepository.ConsentRepository) : _ref$consentRepositor, _ref$consentFactory = _ref.consentFactory, consentFactory = _ref$consentFactory === void 0 ? (0, _ioc.inject)(_ConsentFactory.ConsentFactory) : _ref$consentFactory; _this = _AsyncUseCase.call(this) || this; _this._consentEncoderService = consentEncoderService; _this._consentRepository = consentRepository; _this._consentFactory = consentFactory; return _this; } var _proto = SaveUserConsentUseCase.prototype; _proto.execute = /*#__PURE__*/function () { var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref2) { var purpose, vendor, specialFeatures, incomingConsent, consent; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: purpose = _ref2.purpose, vendor = _ref2.vendor, specialFeatures = _ref2.specialFeatures; incomingConsent = this._consentFactory.createConsent({ vendor: vendor, purpose: purpose, specialFeatures: specialFeatures }); _context.next = 4; return this._consentEncoderService.encode({ consent: incomingConsent }); case 4: consent = _context.sent; this._consentRepository.saveUserConsent({ encodedConsent: consent, decodedConsent: incomingConsent }); case 6: case "end": return _context.stop(); } } }, _callee, this); })); function execute(_x) { return _execute.apply(this, arguments); } return execute; }(); return SaveUserConsentUseCase; }(_AsyncUseCase2.AsyncUseCase); exports.SaveUserConsentUseCase = SaveUserConsentUseCase; SaveUserConsentUseCase.ID = 'SaveUserConsentUseCase';