import { IRegionAllocation } from './region-allocation'; import { IMultipleRelationOperation } from '../relation'; import { IWorkspaceOutput } from '../workspace/workspace'; export interface IAssetBase { id: string; name: string; description: string; category: string; sector: string; website: string; types: string[]; VPS: string; lookup: string; ISIN: string; } export interface IAsset extends IAssetBase { workspaceId: string; regionAllocationIds: string[]; } export interface IAssetInput extends IAssetBase { workspaceId: string; regionAllocationRelations: IMultipleRelationOperation[]; } export interface IAssetOutput extends IAssetBase { workspace: IWorkspaceOutput; regionAllocations: IRegionAllocation[]; } export const assetClasses: string[] = [ 'Fund', 'Real Estate', 'Stock', 'Cash', 'Commodity', ]; export const assetTypes: string[] = [ 'Active', 'Passive', 'Defensive', 'Growth', 'Current', 'Non-current', ]; export const assetCategories: string[] = [ 'Equity', 'Fixed Income', 'Wealth management', 'Real Estate', 'Cash', ]; export const regions: string[] = [ 'Norway', 'USA', 'Europe', 'Sweden', ]; export const sectors: string[] = [ 'Insurance', 'Telecom', 'Health Care', 'Energy', 'Financial', 'Diversified', 'IT', 'Shipping', 'Real Estate', 'Cash', ]; // export interface IAssetProperties { // id: boolean; // // workspaceId: boolean; // name: boolean; // description: boolean; // types: boolean; // // assetClass: boolean; // category: boolean; // sector: boolean; // website: boolean; // VPS: boolean; // lookup: boolean; // ISIN?: boolean; // } // interface IAssetRelationProperties { // regionAllocations?: IRegionAllocationPropertiesConfig; // } // export interface IAssetPropertiesConfig { // // assetIds: number[]; // properties: Partial; // relationProperties?: IAssetRelationProperties; // } // export function defaultGetAssetProperties(): Partial { // return { // id: true, // // workspaceId: true, // name: true, // description: true, // types: true, // // assetClass: true, // category: true, // sector: true, // website: true, // VPS: true, // lookup: true, // ISIN: true, // }; // } // export function defaultGetAssetRelationProperties(): IAssetRelationProperties { // return { // regionAllocations: defaultRegionAllocationPropertiesConfig(), // // events: defaultEventProperties(), // }; // } // export function defaultGetAssetPropertiesConfig(): IAssetPropertiesConfig { // return { // properties: defaultGetAssetProperties(), // relationProperties: defaultGetAssetRelationProperties(), // // assetIds: [], // }; // }