UNPKG

@alfresco/adf-content-services

Version:
76 lines 10.1 kB
/*! * @license * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Injectable } from '@angular/core'; import { filter } from 'rxjs/operators'; import { ReplaySubject } from 'rxjs'; import { DiscoveryApiService } from '../common/services/discovery-api.service'; import * as i0 from "@angular/core"; import * as i1 from "../common/services/discovery-api.service"; export class VersionCompatibilityService { constructor(discoveryApiService) { this.discoveryApiService = discoveryApiService; this.acsVersionInitialized$ = new ReplaySubject(); this.discoveryApiService.ecmProductInfo$ .pipe(filter((acsInfo) => !!acsInfo)) .subscribe((acsInfo) => this.initializeAcsVersion(acsInfo.version)); } initializeAcsVersion(acsVersion) { this.acsVersion = acsVersion; this.acsVersionInitialized$.next(undefined); } getAcsVersion() { return this.acsVersion; } isVersionSupported(requiredVersion) { const parsedRequiredVersion = this.parseVersion(requiredVersion); const currentVersion = this.getAcsVersion(); let versionSupported = false; if (currentVersion) { if (+currentVersion.major > +parsedRequiredVersion.major) { versionSupported = true; } else if (currentVersion.major === parsedRequiredVersion.major && +currentVersion.minor > +parsedRequiredVersion.minor) { versionSupported = true; } else if (currentVersion.major === parsedRequiredVersion.major && currentVersion.minor === parsedRequiredVersion.minor && +currentVersion.patch >= +parsedRequiredVersion.patch) { versionSupported = true; } } return versionSupported; } parseVersion(version) { const major = version.split('.')[0]; const minor = version.split('.')[1] || '0'; const patch = version.split('.')[2] || '0'; return { major, minor, patch }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: VersionCompatibilityService, deps: [{ token: i1.DiscoveryApiService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: VersionCompatibilityService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: VersionCompatibilityService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.DiscoveryApiService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1jb21wYXRpYmlsaXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3ZlcnNpb24tY29tcGF0aWJpbGl0eS92ZXJzaW9uLWNvbXBhdGliaWxpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7QUFLL0UsTUFBTSxPQUFPLDJCQUEyQjtJQUtwQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUY1RCwyQkFBc0IsR0FBRyxJQUFJLGFBQWEsRUFBUSxDQUFDO1FBRy9DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlO2FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxPQUF1QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFVBQXVCO1FBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVELGtCQUFrQixDQUFDLGVBQXVCO1FBQ3RDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqRSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFNUMsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFN0IsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN2RCxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQztpQkFBTSxJQUFJLGNBQWMsQ0FBQyxLQUFLLEtBQUsscUJBQXFCLENBQUMsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN0SCxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQztpQkFBTSxJQUNILGNBQWMsQ0FBQyxLQUFLLEtBQUsscUJBQXFCLENBQUMsS0FBSztnQkFDcEQsY0FBYyxDQUFDLEtBQUssS0FBSyxxQkFBcUIsQ0FBQyxLQUFLO2dCQUNwRCxDQUFDLGNBQWMsQ0FBQyxLQUFLLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQ3ZELENBQUM7Z0JBQ0MsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxnQkFBZ0IsQ0FBQztJQUM1QixDQUFDO0lBRU8sWUFBWSxDQUFDLE9BQWU7UUFDaEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUMzQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUUzQyxPQUFPO1lBQ0gsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1NBQ08sQ0FBQztJQUNyQixDQUFDOzhHQXJEUSwyQkFBMkI7a0hBQTNCLDJCQUEyQixjQUZ4QixNQUFNOzsyRkFFVCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWZXJzaW9uSW5mbywgUmVwb3NpdG9yeUluZm8gfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IERpc2NvdmVyeUFwaVNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vc2VydmljZXMvZGlzY292ZXJ5LWFwaS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWZXJzaW9uQ29tcGF0aWJpbGl0eVNlcnZpY2Uge1xuICAgIHByaXZhdGUgYWNzVmVyc2lvbjogVmVyc2lvbkluZm87XG5cbiAgICBhY3NWZXJzaW9uSW5pdGlhbGl6ZWQkID0gbmV3IFJlcGxheVN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlzY292ZXJ5QXBpU2VydmljZTogRGlzY292ZXJ5QXBpU2VydmljZSkge1xuICAgICAgICB0aGlzLmRpc2NvdmVyeUFwaVNlcnZpY2UuZWNtUHJvZHVjdEluZm8kXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIoKGFjc0luZm8pID0+ICEhYWNzSW5mbykpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChhY3NJbmZvOiBSZXBvc2l0b3J5SW5mbykgPT4gdGhpcy5pbml0aWFsaXplQWNzVmVyc2lvbihhY3NJbmZvLnZlcnNpb24pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVBY3NWZXJzaW9uKGFjc1ZlcnNpb246IFZlcnNpb25JbmZvKSB7XG4gICAgICAgIHRoaXMuYWNzVmVyc2lvbiA9IGFjc1ZlcnNpb247XG4gICAgICAgIHRoaXMuYWNzVmVyc2lvbkluaXRpYWxpemVkJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgZ2V0QWNzVmVyc2lvbigpOiBWZXJzaW9uSW5mbyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjc1ZlcnNpb247XG4gICAgfVxuXG4gICAgaXNWZXJzaW9uU3VwcG9ydGVkKHJlcXVpcmVkVmVyc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFJlcXVpcmVkVmVyc2lvbiA9IHRoaXMucGFyc2VWZXJzaW9uKHJlcXVpcmVkVmVyc2lvbik7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWZXJzaW9uID0gdGhpcy5nZXRBY3NWZXJzaW9uKCk7XG5cbiAgICAgICAgbGV0IHZlcnNpb25TdXBwb3J0ZWQgPSBmYWxzZTtcblxuICAgICAgICBpZiAoY3VycmVudFZlcnNpb24pIHtcbiAgICAgICAgICAgIGlmICgrY3VycmVudFZlcnNpb24ubWFqb3IgPiArcGFyc2VkUmVxdWlyZWRWZXJzaW9uLm1ham9yKSB7XG4gICAgICAgICAgICAgICAgdmVyc2lvblN1cHBvcnRlZCA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRWZXJzaW9uLm1ham9yID09PSBwYXJzZWRSZXF1aXJlZFZlcnNpb24ubWFqb3IgJiYgK2N1cnJlbnRWZXJzaW9uLm1pbm9yID4gK3BhcnNlZFJlcXVpcmVkVmVyc2lvbi5taW5vcikge1xuICAgICAgICAgICAgICAgIHZlcnNpb25TdXBwb3J0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICBjdXJyZW50VmVyc2lvbi5tYWpvciA9PT0gcGFyc2VkUmVxdWlyZWRWZXJzaW9uLm1ham9yICYmXG4gICAgICAgICAgICAgICAgY3VycmVudFZlcnNpb24ubWlub3IgPT09IHBhcnNlZFJlcXVpcmVkVmVyc2lvbi5taW5vciAmJlxuICAgICAgICAgICAgICAgICtjdXJyZW50VmVyc2lvbi5wYXRjaCA+PSArcGFyc2VkUmVxdWlyZWRWZXJzaW9uLnBhdGNoXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB2ZXJzaW9uU3VwcG9ydGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2ZXJzaW9uU3VwcG9ydGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFyc2VWZXJzaW9uKHZlcnNpb246IHN0cmluZyk6IFZlcnNpb25JbmZvIHtcbiAgICAgICAgY29uc3QgbWFqb3IgPSB2ZXJzaW9uLnNwbGl0KCcuJylbMF07XG4gICAgICAgIGNvbnN0IG1pbm9yID0gdmVyc2lvbi5zcGxpdCgnLicpWzFdIHx8ICcwJztcbiAgICAgICAgY29uc3QgcGF0Y2ggPSB2ZXJzaW9uLnNwbGl0KCcuJylbMl0gfHwgJzAnO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtYWpvcixcbiAgICAgICAgICAgIG1pbm9yLFxuICAgICAgICAgICAgcGF0Y2hcbiAgICAgICAgfSBhcyBWZXJzaW9uSW5mbztcbiAgICB9XG59XG4iXX0=