mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-16 02:36:19 +00:00
185 lines
5.0 KiB
TypeScript
185 lines
5.0 KiB
TypeScript
import { Column, Entity, ManyToOne, Unique } from 'typeorm';
|
|
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
|
|
import { SpaceEntity } from '../../space/entities/space.entity';
|
|
import { AqiSpaceDailyPollutantStatsDto } from '../dtos';
|
|
|
|
@Entity({ name: 'space-daily-pollutant-stats' })
|
|
@Unique(['spaceUuid', 'eventDate'])
|
|
export class AqiSpaceDailyPollutantStatsEntity extends AbstractEntity<AqiSpaceDailyPollutantStatsDto> {
|
|
@Column({ nullable: false })
|
|
public spaceUuid: string;
|
|
|
|
@ManyToOne(() => SpaceEntity, (space) => space.aqiSensorDaily)
|
|
space: SpaceEntity;
|
|
|
|
@Column({ type: 'date', nullable: false })
|
|
public eventDate: Date;
|
|
|
|
@Column('float', { nullable: true })
|
|
public goodAqiPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public moderateAqiPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthySensitiveAqiPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthyAqiPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public veryUnhealthyAqiPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public hazardousAqiPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyAvgAqi?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMaxAqi?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMinAqi?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public goodPm25Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public moderatePm25Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthySensitivePm25Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthyPm25Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public veryUnhealthyPm25Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public hazardousPm25Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyAvgPm25?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMaxPm25?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMinPm25?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public goodPm10Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public moderatePm10Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthySensitivePm10Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthyPm10Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public veryUnhealthyPm10Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public hazardousPm10Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyAvgPm10?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMaxPm10?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMinPm10?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public goodVocPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public moderateVocPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthySensitiveVocPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthyVocPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public veryUnhealthyVocPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public hazardousVocPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyAvgVoc?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMaxVoc?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMinVoc?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public goodCo2Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public moderateCo2Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthySensitiveCo2Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthyCo2Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public veryUnhealthyCo2Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public hazardousCo2Percentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyAvgCo2?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMaxCo2?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMinCo2?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public goodCh2oPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public moderateCh2oPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthySensitiveCh2oPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public unhealthyCh2oPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public veryUnhealthyCh2oPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public hazardousCh2oPercentage?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyAvgCh2o?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMaxCh2o?: number;
|
|
|
|
@Column('float', { nullable: true })
|
|
public dailyMinCh2o?: number;
|
|
|
|
constructor(partial: Partial<AqiSpaceDailyPollutantStatsEntity>) {
|
|
super();
|
|
Object.assign(this, partial);
|
|
}
|
|
}
|