import { IResilientEntity } from 'app/resilient/resilient-base/resilient-base.model';

import { IOrganizationType } from 'app/entities/organization-type/organization-type.model';
import { MetadataType } from 'app/entities/enumerations/metadata-type.model';

export interface IMetadataProperty extends IResilientEntity {
  code?: string | null;
  name?: string | null;
  description?: string | null;
  mandatory?: boolean | null;
  metadataType?: keyof typeof MetadataType | null;
  pattern?: string | null;
  organizationTypes?: Pick<IOrganizationType, 'id' | 'name'>[] | null;
}

export type NewMetadataProperty = Omit<IMetadataProperty, 'id'> & { id: null };
