UNPKG

angular-auth-oidc-client

Version:
53 lines 9.98 kB
import { Injectable, inject } from '@angular/core'; import { LoggerService } from '../../logging/logger.service'; import { allMultipleConfigRules, allRules } from './rules'; import * as i0 from "@angular/core"; export class ConfigValidationService { constructor() { this.loggerService = inject(LoggerService); } validateConfigs(passedConfigs) { return this.validateConfigsInternal(passedConfigs ?? [], allMultipleConfigRules); } validateConfig(passedConfig) { return this.validateConfigInternal(passedConfig, allRules); } validateConfigsInternal(passedConfigs, allRulesToUse) { if (passedConfigs.length === 0) { return false; } const allValidationResults = allRulesToUse.map((rule) => rule(passedConfigs)); let overallErrorCount = 0; passedConfigs.forEach((passedConfig) => { const errorCount = this.processValidationResultsAndGetErrorCount(allValidationResults, passedConfig); overallErrorCount += errorCount; }); return overallErrorCount === 0; } validateConfigInternal(passedConfig, allRulesToUse) { const allValidationResults = allRulesToUse.map((rule) => rule(passedConfig)); const errorCount = this.processValidationResultsAndGetErrorCount(allValidationResults, passedConfig); return errorCount === 0; } processValidationResultsAndGetErrorCount(allValidationResults, config) { const allMessages = allValidationResults.filter((x) => x.messages.length > 0); const allErrorMessages = this.getAllMessagesOfType('error', allMessages); const allWarnings = this.getAllMessagesOfType('warning', allMessages); allErrorMessages.forEach((message) => this.loggerService.logError(config, message)); allWarnings.forEach((message) => this.loggerService.logWarning(config, message)); return allErrorMessages.length; } getAllMessagesOfType(type, results) { const allMessages = results .filter((x) => x.level === type) .map((result) => result.messages); return allMessages.reduce((acc, val) => acc.concat(val), []); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ConfigValidationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ConfigValidationService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ConfigValidationService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXZhbGlkYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC9zcmMvbGliL2NvbmZpZy92YWxpZGF0aW9uL2NvbmZpZy12YWxpZGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRzNELE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFbUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0F5RnhEO0lBdkZDLGVBQWUsQ0FBQyxhQUFvQztRQUNsRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FDakMsYUFBYSxJQUFJLEVBQUUsRUFDbkIsc0JBQXNCLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUFDLFlBQWlDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sdUJBQXVCLENBQzdCLGFBQW9DLEVBQ3BDLGFBRTRCO1FBRTVCLElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN0RCxJQUFJLENBQUMsYUFBYSxDQUFDLENBQ3BCLENBQUM7UUFFRixJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQztRQUUxQixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHdDQUF3QyxDQUM5RCxvQkFBb0IsRUFDcEIsWUFBWSxDQUNiLENBQUM7WUFFRixpQkFBaUIsSUFBSSxVQUFVLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGlCQUFpQixLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sc0JBQXNCLENBQzVCLFlBQWlDLEVBQ2pDLGFBRTRCO1FBRTVCLE1BQU0sb0JBQW9CLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsQ0FDbkIsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyx3Q0FBd0MsQ0FDOUQsb0JBQW9CLEVBQ3BCLFlBQVksQ0FDYixDQUFDO1FBRUYsT0FBTyxVQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTyx3Q0FBd0MsQ0FDOUMsb0JBQTRDLEVBQzVDLE1BQTJCO1FBRTNCLE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FDN0MsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDN0IsQ0FBQztRQUNGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN6RSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRXRFLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FDN0MsQ0FBQztRQUNGLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQy9DLENBQUM7UUFFRixPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBRU8sb0JBQW9CLENBQzFCLElBQVcsRUFDWCxPQUErQjtRQUUvQixNQUFNLFdBQVcsR0FBRyxPQUFPO2FBQ3hCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUM7YUFDL0IsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFcEMsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDOzhHQXpGVSx1QkFBdUI7a0hBQXZCLHVCQUF1QixjQURWLE1BQU07OzJGQUNuQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sb2dnaW5nL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3BlbklkQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL29wZW5pZC1jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgTGV2ZWwsIFJ1bGVWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi9ydWxlJztcclxuaW1wb3J0IHsgYWxsTXVsdGlwbGVDb25maWdSdWxlcywgYWxsUnVsZXMgfSBmcm9tICcuL3J1bGVzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBDb25maWdWYWxpZGF0aW9uU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlID0gaW5qZWN0KExvZ2dlclNlcnZpY2UpO1xyXG5cclxuICB2YWxpZGF0ZUNvbmZpZ3MocGFzc2VkQ29uZmlnczogT3BlbklkQ29uZmlndXJhdGlvbltdKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUNvbmZpZ3NJbnRlcm5hbChcclxuICAgICAgcGFzc2VkQ29uZmlncyA/PyBbXSxcclxuICAgICAgYWxsTXVsdGlwbGVDb25maWdSdWxlc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlQ29uZmlnKHBhc3NlZENvbmZpZzogT3BlbklkQ29uZmlndXJhdGlvbik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVDb25maWdJbnRlcm5hbChwYXNzZWRDb25maWcsIGFsbFJ1bGVzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVDb25maWdzSW50ZXJuYWwoXHJcbiAgICBwYXNzZWRDb25maWdzOiBPcGVuSWRDb25maWd1cmF0aW9uW10sXHJcbiAgICBhbGxSdWxlc1RvVXNlOiAoKFxyXG4gICAgICBwYXNzZWRDb25maWc6IE9wZW5JZENvbmZpZ3VyYXRpb25bXVxyXG4gICAgKSA9PiBSdWxlVmFsaWRhdGlvblJlc3VsdClbXVxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHBhc3NlZENvbmZpZ3MubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhbGxWYWxpZGF0aW9uUmVzdWx0cyA9IGFsbFJ1bGVzVG9Vc2UubWFwKChydWxlKSA9PlxyXG4gICAgICBydWxlKHBhc3NlZENvbmZpZ3MpXHJcbiAgICApO1xyXG5cclxuICAgIGxldCBvdmVyYWxsRXJyb3JDb3VudCA9IDA7XHJcblxyXG4gICAgcGFzc2VkQ29uZmlncy5mb3JFYWNoKChwYXNzZWRDb25maWcpID0+IHtcclxuICAgICAgY29uc3QgZXJyb3JDb3VudCA9IHRoaXMucHJvY2Vzc1ZhbGlkYXRpb25SZXN1bHRzQW5kR2V0RXJyb3JDb3VudChcclxuICAgICAgICBhbGxWYWxpZGF0aW9uUmVzdWx0cyxcclxuICAgICAgICBwYXNzZWRDb25maWdcclxuICAgICAgKTtcclxuXHJcbiAgICAgIG92ZXJhbGxFcnJvckNvdW50ICs9IGVycm9yQ291bnQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gb3ZlcmFsbEVycm9yQ291bnQgPT09IDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZhbGlkYXRlQ29uZmlnSW50ZXJuYWwoXHJcbiAgICBwYXNzZWRDb25maWc6IE9wZW5JZENvbmZpZ3VyYXRpb24sXHJcbiAgICBhbGxSdWxlc1RvVXNlOiAoKFxyXG4gICAgICBwYXNzZWRDb25maWc6IE9wZW5JZENvbmZpZ3VyYXRpb25cclxuICAgICkgPT4gUnVsZVZhbGlkYXRpb25SZXN1bHQpW11cclxuICApOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGFsbFZhbGlkYXRpb25SZXN1bHRzID0gYWxsUnVsZXNUb1VzZS5tYXAoKHJ1bGUpID0+XHJcbiAgICAgIHJ1bGUocGFzc2VkQ29uZmlnKVxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBlcnJvckNvdW50ID0gdGhpcy5wcm9jZXNzVmFsaWRhdGlvblJlc3VsdHNBbmRHZXRFcnJvckNvdW50KFxyXG4gICAgICBhbGxWYWxpZGF0aW9uUmVzdWx0cyxcclxuICAgICAgcGFzc2VkQ29uZmlnXHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiBlcnJvckNvdW50ID09PSAwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9jZXNzVmFsaWRhdGlvblJlc3VsdHNBbmRHZXRFcnJvckNvdW50KFxyXG4gICAgYWxsVmFsaWRhdGlvblJlc3VsdHM6IFJ1bGVWYWxpZGF0aW9uUmVzdWx0W10sXHJcbiAgICBjb25maWc6IE9wZW5JZENvbmZpZ3VyYXRpb25cclxuICApOiBudW1iZXIge1xyXG4gICAgY29uc3QgYWxsTWVzc2FnZXMgPSBhbGxWYWxpZGF0aW9uUmVzdWx0cy5maWx0ZXIoXHJcbiAgICAgICh4KSA9PiB4Lm1lc3NhZ2VzLmxlbmd0aCA+IDBcclxuICAgICk7XHJcbiAgICBjb25zdCBhbGxFcnJvck1lc3NhZ2VzID0gdGhpcy5nZXRBbGxNZXNzYWdlc09mVHlwZSgnZXJyb3InLCBhbGxNZXNzYWdlcyk7XHJcbiAgICBjb25zdCBhbGxXYXJuaW5ncyA9IHRoaXMuZ2V0QWxsTWVzc2FnZXNPZlR5cGUoJ3dhcm5pbmcnLCBhbGxNZXNzYWdlcyk7XHJcblxyXG4gICAgYWxsRXJyb3JNZXNzYWdlcy5mb3JFYWNoKChtZXNzYWdlKSA9PlxyXG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRXJyb3IoY29uZmlnLCBtZXNzYWdlKVxyXG4gICAgKTtcclxuICAgIGFsbFdhcm5pbmdzLmZvckVhY2goKG1lc3NhZ2UpID0+XHJcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dXYXJuaW5nKGNvbmZpZywgbWVzc2FnZSlcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIGFsbEVycm9yTWVzc2FnZXMubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBbGxNZXNzYWdlc09mVHlwZShcclxuICAgIHR5cGU6IExldmVsLFxyXG4gICAgcmVzdWx0czogUnVsZVZhbGlkYXRpb25SZXN1bHRbXVxyXG4gICk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IGFsbE1lc3NhZ2VzID0gcmVzdWx0c1xyXG4gICAgICAuZmlsdGVyKCh4KSA9PiB4LmxldmVsID09PSB0eXBlKVxyXG4gICAgICAubWFwKChyZXN1bHQpID0+IHJlc3VsdC5tZXNzYWdlcyk7XHJcblxyXG4gICAgcmV0dXJuIGFsbE1lc3NhZ2VzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYy5jb25jYXQodmFsKSwgW10pO1xyXG4gIH1cclxufVxyXG4iXX0=