Skip to content

Commit

Permalink
add new entities to preprocessing
Browse files Browse the repository at this point in the history
  • Loading branch information
alexeh committed Oct 25, 2024
1 parent 9f82dc0 commit 7c84586
Show file tree
Hide file tree
Showing 6 changed files with 66 additions and 7 deletions.
1 change: 1 addition & 0 deletions api/src/modules/import/excel-base-data.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ export type BaseDataJson = {
ecosystem_extent_historic: number;
ecosystem_loss_rate: number;
restorable_land: number;
// TODO: Since this is the value that is selected in the corresponding tab within different tiers, maybe the naming is a bit confusing, talk with Elena
tier_1_emission_factor: string;
emission_factor_AGB: number;
emission_factor_SOC: number;
Expand Down
47 changes: 47 additions & 0 deletions api/src/modules/import/services/entity.preprocessor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ import { CarbonStandardFees } from '@shared/entities/carbon-standard-fees.entity
import { CommunityCashFlow } from '@shared/entities/community-cash-flow.entity';
import { EcosystemLoss } from '@shared/entities/ecosystem-loss.entity';
import { RestorableLand } from '@shared/entities/restorable-land.entity';
import { EmissionFactors } from '@shared/entities/emission-factors.entity';
import { BaselineReassessment } from '@shared/entities/baseline-reassessment.entity';
import { MRV } from '@shared/entities/mrv.entity';
import { BlueCarbonProjectPlanning } from '@shared/entities/blue-carbon-project-planning.entity';
import { LongTermProjectOperating } from '@shared/entities/long-term-project-operating.entity';
import { SequestrationRate } from '@shared/entities/sequestration-rate.entity';

export type ParsedDBEntities = {
baseData: BaseData[];
Expand Down Expand Up @@ -99,6 +105,47 @@ export class EntityPreprocessor {
baseData.restorableLand = {
restorableLand: this.emptyStringToZero(row.restorable_land),
} as RestorableLand;
// TODO: Since this is the value that is selected in the corresponding tab within different tiers, maybe the naming is a bit confusing, talk with Elena
// since still is not clear how to handle the "selectable entities" we will populate all of them for now
const emissionFactorvalue = this.emptyStringToZero(
row.tier_1_emission_factor,
);
baseData.emissionFactors = {
tier1Factor: emissionFactorvalue,
tier2AGBFactor: this.emptyStringToZero(row.emission_factor_AGB),
tier2SOCFactor: this.emptyStringToZero(row.emission_factor_SOC),
} as EmissionFactors;
baseData.baselineReassessment = {
baselineReassessmentCost: this.emptyStringToZero(
row.baseline_reassessment,
),
} as BaselineReassessment;
baseData.mrv = {
mrvCost: this.emptyStringToZero(row.MRV),
} as MRV;
// TODO: This is also a selectable entity, we need to talk about how to handle this
const blueCarbonProjectPlanningValue = this.emptyStringToZero(
row.blue_carbon_planning,
);
baseData.blueCarbonProjectPlanning = {
input1: blueCarbonProjectPlanningValue,
input2: blueCarbonProjectPlanningValue,
input3: blueCarbonProjectPlanningValue,
} as BlueCarbonProjectPlanning;

baseData.longTermProjectOperating = {
longTermProjectOperatingCost: this.emptyStringToZero(
row.long_term_project_operating_cost,
),
} as LongTermProjectOperating;
// TODO: This is also a selectable entity, we need to talk about how to handle this
const sequestrationRateValue = this.emptyStringToZero(
row.sequestration_rate,
);
baseData.sequestrationRate = {
tier1Factor: this.emptyStringToZero(row.sequestration_rate),
tier2Factor: sequestrationRateValue,
} as SequestrationRate;

parsedArray.push(baseData);
});
Expand Down
10 changes: 5 additions & 5 deletions shared/entities/base-data.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ export class BaseData extends BaseEntity {

@OneToOne(
"EmissionFactors",
(emissionFactors: EmissionFactors) => emissionFactors.baseData
(emissionFactors: EmissionFactors) => emissionFactors.baseData,
)
@JoinColumn({
name: "emission_factors",
Expand All @@ -276,7 +276,7 @@ export class BaseData extends BaseEntity {
@OneToOne(
"BaselineReassessment",
(baselineReassessment: BaselineReassessment) =>
baselineReassessment.baseData
baselineReassessment.baseData,
)
@JoinColumn({
name: "baseline_reassessment",
Expand All @@ -294,7 +294,7 @@ export class BaseData extends BaseEntity {
@OneToOne(
"BlueCarbonProjectPlanning",
(blueCarbonProjectPlanning: BlueCarbonProjectPlanning) =>
blueCarbonProjectPlanning.baseData
blueCarbonProjectPlanning.baseData,
)
@JoinColumn({
name: "blue_carbon_project_planning",
Expand All @@ -305,7 +305,7 @@ export class BaseData extends BaseEntity {
@OneToOne(
"LongTermProjectOperating",
(longTermProjectOperating: LongTermProjectOperating) =>
longTermProjectOperating.baseData
longTermProjectOperating.baseData,
)
@JoinColumn({
name: "long_term_project_operating",
Expand All @@ -315,7 +315,7 @@ export class BaseData extends BaseEntity {

@OneToOne(
"SequestrationRate",
(sequestrationRate: SequestrationRate) => sequestrationRate.baseData
(sequestrationRate: SequestrationRate) => sequestrationRate.baseData,
)
@JoinColumn({
name: "sequestration_rate",
Expand Down
7 changes: 6 additions & 1 deletion shared/entities/blue-carbon-project-planning.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,12 @@ export class BlueCarbonProjectPlanning extends BaseEntity {
@PrimaryGeneratedColumn("uuid")
id: string;

@Column({ type: "enum", enum: INPUT_SELECTION, nullable: false })
@Column({
type: "enum",
enum: INPUT_SELECTION,
nullable: false,
default: INPUT_SELECTION.INPUT_1,
})
inputSelection: INPUT_SELECTION;

@Column("decimal", { name: "input_1_cost_per_project" })
Expand Down
7 changes: 6 additions & 1 deletion shared/entities/emission-factors.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,12 @@ export class EmissionFactors extends BaseEntity {
@PrimaryGeneratedColumn("uuid")
id: string;

@Column({ type: "enum", enum: EMISSION_FACTORS_TIER_TYPES, nullable: false })
@Column({
type: "enum",
enum: EMISSION_FACTORS_TIER_TYPES,
nullable: false,
default: EMISSION_FACTORS_TIER_TYPES.TIER_1,
})
tierSelector: EMISSION_FACTORS_TIER_TYPES;

@Column("decimal", { name: "tier_1_factor" })
Expand Down
1 change: 1 addition & 0 deletions shared/entities/sequestration-rate.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ export class SequestrationRate extends BaseEntity {
type: "enum",
enum: SEQUESTRATION_RATE_TIER_TYPES,
nullable: false,
default: SEQUESTRATION_RATE_TIER_TYPES.TIER_1,
})
tierSelector: SEQUESTRATION_RATE_TIER_TYPES;

Expand Down

0 comments on commit 7c84586

Please sign in to comment.