import { Injectable } from '@angular/core';
import { FileAttributesService } from './entity-services/file-attributes.service';
import { FileAttributes } from '@red/domain';

@Injectable({
    providedIn: 'root',
})
export class PrimaryFileAttributeService {
    constructor(private readonly _fileAttributesService: FileAttributesService) {}

    getPrimaryFileAttributeValue(file: { fileAttributes: FileAttributes }, dossierTemplateId: string) {
        const fileAttributesConfig = this._fileAttributesService.getFileAttributeConfig(dossierTemplateId);

        let primaryAttribute;

        if (fileAttributesConfig) {
            const primary = fileAttributesConfig.fileAttributeConfigs?.find(c => c.primaryAttribute);
            if (primary && file.fileAttributes?.attributeIdToValue) {
                primaryAttribute = file.fileAttributes?.attributeIdToValue[primary.id];
            }
        }

        if (!primaryAttribute) {
            primaryAttribute = '-';
        }

        return primaryAttribute;
    }
}
