mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-10 23:27:31 +00:00
feat: integrate PowerClamp service and repositories across multiple modules
This commit is contained in:
@ -3,12 +3,22 @@ import { DeviceStatusFirebaseController } from './controllers/devices-status.con
|
|||||||
import { DeviceStatusFirebaseService } from './services/devices-status.service';
|
import { DeviceStatusFirebaseService } from './services/devices-status.service';
|
||||||
import { DeviceRepository } from '@app/common/modules/device/repositories';
|
import { DeviceRepository } from '@app/common/modules/device/repositories';
|
||||||
import { DeviceStatusLogRepository } from '@app/common/modules/device-status-log/repositories/device-status.repository';
|
import { DeviceStatusLogRepository } from '@app/common/modules/device-status-log/repositories/device-status.repository';
|
||||||
|
import { PowerClampService } from '@app/common/helper/services/power.clamp.service';
|
||||||
|
import {
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
|
} from '@app/common/modules/power-clamp/repositories';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
providers: [
|
providers: [
|
||||||
DeviceStatusFirebaseService,
|
DeviceStatusFirebaseService,
|
||||||
DeviceRepository,
|
DeviceRepository,
|
||||||
DeviceStatusLogRepository,
|
DeviceStatusLogRepository,
|
||||||
|
PowerClampService,
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
],
|
],
|
||||||
controllers: [DeviceStatusFirebaseController],
|
controllers: [DeviceStatusFirebaseController],
|
||||||
exports: [DeviceStatusFirebaseService, DeviceStatusLogRepository],
|
exports: [DeviceStatusFirebaseService, DeviceStatusLogRepository],
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import { Column, Entity, ManyToOne } from 'typeorm';
|
import { Column, Entity, ManyToOne, Unique } from 'typeorm';
|
||||||
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
|
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
|
||||||
import { PowerClampDto } from '../dtos';
|
import { PowerClampDto } from '../dtos';
|
||||||
import { DeviceEntity } from '../../device/entities/device.entity';
|
import { DeviceEntity } from '../../device/entities/device.entity';
|
||||||
|
|
||||||
@Entity({ name: 'power-clamp-energy-consumed-hourly' })
|
@Entity({ name: 'power-clamp-energy-consumed-hourly' })
|
||||||
|
@Unique(['deviceUuid', 'date', 'hour'])
|
||||||
export class PowerClampHourlyEntity extends AbstractEntity<PowerClampDto> {
|
export class PowerClampHourlyEntity extends AbstractEntity<PowerClampDto> {
|
||||||
@Column({ nullable: false })
|
@Column({ nullable: false })
|
||||||
public deviceUuid: string;
|
public deviceUuid: string;
|
||||||
@ -35,6 +36,7 @@ export class PowerClampHourlyEntity extends AbstractEntity<PowerClampDto> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
@Entity({ name: 'power-clamp-energy-consumed-daily' })
|
@Entity({ name: 'power-clamp-energy-consumed-daily' })
|
||||||
|
@Unique(['deviceUuid', 'date'])
|
||||||
export class PowerClampDailyEntity extends AbstractEntity<PowerClampDto> {
|
export class PowerClampDailyEntity extends AbstractEntity<PowerClampDto> {
|
||||||
@Column({ nullable: false })
|
@Column({ nullable: false })
|
||||||
public deviceUuid: string;
|
public deviceUuid: string;
|
||||||
@ -63,6 +65,7 @@ export class PowerClampDailyEntity extends AbstractEntity<PowerClampDto> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
@Entity({ name: 'power-clamp-energy-consumed-monthly' })
|
@Entity({ name: 'power-clamp-energy-consumed-monthly' })
|
||||||
|
@Unique(['deviceUuid', 'month'])
|
||||||
export class PowerClampMonthlyEntity extends AbstractEntity<PowerClampDto> {
|
export class PowerClampMonthlyEntity extends AbstractEntity<PowerClampDto> {
|
||||||
@Column({ nullable: false })
|
@Column({ nullable: false })
|
||||||
public deviceUuid: string;
|
public deviceUuid: string;
|
||||||
|
@ -21,6 +21,12 @@ import {
|
|||||||
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
||||||
import { CommunityRepository } from '@app/common/modules/community/repositories';
|
import { CommunityRepository } from '@app/common/modules/community/repositories';
|
||||||
import { SubspaceRepository } from '@app/common/modules/space/repositories/subspace.repository';
|
import { SubspaceRepository } from '@app/common/modules/space/repositories/subspace.repository';
|
||||||
|
import {
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
|
} from '@app/common/modules/power-clamp/repositories';
|
||||||
|
import { PowerClampService } from '@app/common/helper/services/power.clamp.service';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [ConfigModule, SpaceRepositoryModule],
|
imports: [ConfigModule, SpaceRepositoryModule],
|
||||||
@ -43,6 +49,10 @@ import { SubspaceRepository } from '@app/common/modules/space/repositories/subsp
|
|||||||
AutomationRepository,
|
AutomationRepository,
|
||||||
CommunityRepository,
|
CommunityRepository,
|
||||||
SubspaceRepository,
|
SubspaceRepository,
|
||||||
|
PowerClampService,
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
],
|
],
|
||||||
exports: [],
|
exports: [],
|
||||||
})
|
})
|
||||||
|
@ -56,6 +56,12 @@ import {
|
|||||||
SceneRepository,
|
SceneRepository,
|
||||||
} from '@app/common/modules/scene/repositories';
|
} from '@app/common/modules/scene/repositories';
|
||||||
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
||||||
|
import { PowerClampService } from '@app/common/helper/services/power.clamp.service';
|
||||||
|
import {
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
|
} from '@app/common/modules/power-clamp/repositories';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [ConfigModule, SpaceRepositoryModule, UserRepositoryModule],
|
imports: [ConfigModule, SpaceRepositoryModule, UserRepositoryModule],
|
||||||
@ -102,6 +108,10 @@ import { AutomationRepository } from '@app/common/modules/automation/repositorie
|
|||||||
SceneIconRepository,
|
SceneIconRepository,
|
||||||
SceneRepository,
|
SceneRepository,
|
||||||
AutomationRepository,
|
AutomationRepository,
|
||||||
|
PowerClampService,
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
],
|
],
|
||||||
exports: [CommunityService, SpacePermissionService],
|
exports: [CommunityService, SpacePermissionService],
|
||||||
})
|
})
|
||||||
|
@ -20,6 +20,12 @@ import {
|
|||||||
import { SceneDeviceRepository } from '@app/common/modules/scene-device/repositories';
|
import { SceneDeviceRepository } from '@app/common/modules/scene-device/repositories';
|
||||||
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
||||||
import { ProjectRepository } from '@app/common/modules/project/repositiories';
|
import { ProjectRepository } from '@app/common/modules/project/repositiories';
|
||||||
|
import { PowerClampService } from '@app/common/helper/services/power.clamp.service';
|
||||||
|
import {
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
|
} from '@app/common/modules/power-clamp/repositories';
|
||||||
@Module({
|
@Module({
|
||||||
imports: [ConfigModule, DeviceRepositoryModule],
|
imports: [ConfigModule, DeviceRepositoryModule],
|
||||||
controllers: [DoorLockController],
|
controllers: [DoorLockController],
|
||||||
@ -40,6 +46,10 @@ import { ProjectRepository } from '@app/common/modules/project/repositiories';
|
|||||||
SceneRepository,
|
SceneRepository,
|
||||||
SceneDeviceRepository,
|
SceneDeviceRepository,
|
||||||
AutomationRepository,
|
AutomationRepository,
|
||||||
|
PowerClampService,
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
],
|
],
|
||||||
exports: [DoorLockService],
|
exports: [DoorLockService],
|
||||||
})
|
})
|
||||||
|
@ -18,6 +18,12 @@ import {
|
|||||||
SceneRepository,
|
SceneRepository,
|
||||||
} from '@app/common/modules/scene/repositories';
|
} from '@app/common/modules/scene/repositories';
|
||||||
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
||||||
|
import { PowerClampService } from '@app/common/helper/services/power.clamp.service';
|
||||||
|
import {
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
|
} from '@app/common/modules/power-clamp/repositories';
|
||||||
@Module({
|
@Module({
|
||||||
imports: [ConfigModule, DeviceRepositoryModule],
|
imports: [ConfigModule, DeviceRepositoryModule],
|
||||||
controllers: [GroupController],
|
controllers: [GroupController],
|
||||||
@ -37,6 +43,10 @@ import { AutomationRepository } from '@app/common/modules/automation/repositorie
|
|||||||
SceneIconRepository,
|
SceneIconRepository,
|
||||||
SceneRepository,
|
SceneRepository,
|
||||||
AutomationRepository,
|
AutomationRepository,
|
||||||
|
PowerClampService,
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
],
|
],
|
||||||
exports: [GroupService],
|
exports: [GroupService],
|
||||||
})
|
})
|
||||||
|
@ -76,6 +76,12 @@ import {
|
|||||||
SceneRepository,
|
SceneRepository,
|
||||||
} from '@app/common/modules/scene/repositories';
|
} from '@app/common/modules/scene/repositories';
|
||||||
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
||||||
|
import {
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
|
} from '@app/common/modules/power-clamp/repositories';
|
||||||
|
import { PowerClampService } from '@app/common/helper/services/power.clamp.service';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [ConfigModule, InviteUserRepositoryModule, CommunityModule],
|
imports: [ConfigModule, InviteUserRepositoryModule, CommunityModule],
|
||||||
@ -140,6 +146,10 @@ import { AutomationRepository } from '@app/common/modules/automation/repositorie
|
|||||||
SceneIconRepository,
|
SceneIconRepository,
|
||||||
SceneRepository,
|
SceneRepository,
|
||||||
AutomationRepository,
|
AutomationRepository,
|
||||||
|
PowerClampService,
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
],
|
],
|
||||||
exports: [InviteUserService],
|
exports: [InviteUserService],
|
||||||
})
|
})
|
||||||
|
@ -60,6 +60,12 @@ import {
|
|||||||
SceneRepository,
|
SceneRepository,
|
||||||
} from '@app/common/modules/scene/repositories';
|
} from '@app/common/modules/scene/repositories';
|
||||||
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
||||||
|
import { PowerClampService } from '@app/common/helper/services/power.clamp.service';
|
||||||
|
import {
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
|
} from '@app/common/modules/power-clamp/repositories';
|
||||||
|
|
||||||
const CommandHandlers = [CreateOrphanSpaceHandler];
|
const CommandHandlers = [CreateOrphanSpaceHandler];
|
||||||
|
|
||||||
@ -112,6 +118,10 @@ const CommandHandlers = [CreateOrphanSpaceHandler];
|
|||||||
SceneRepository,
|
SceneRepository,
|
||||||
AutomationRepository,
|
AutomationRepository,
|
||||||
SubspaceModelProductAllocationRepoitory,
|
SubspaceModelProductAllocationRepoitory,
|
||||||
|
PowerClampService,
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
],
|
],
|
||||||
exports: [ProjectService, CqrsModule],
|
exports: [ProjectService, CqrsModule],
|
||||||
})
|
})
|
||||||
|
@ -58,6 +58,12 @@ import {
|
|||||||
} from '@app/common/modules/scene/repositories';
|
} from '@app/common/modules/scene/repositories';
|
||||||
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
||||||
import { CommunityModule } from 'src/community/community.module';
|
import { CommunityModule } from 'src/community/community.module';
|
||||||
|
import { PowerClampService } from '@app/common/helper/services/power.clamp.service';
|
||||||
|
import {
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
|
} from '@app/common/modules/power-clamp/repositories';
|
||||||
|
|
||||||
const CommandHandlers = [
|
const CommandHandlers = [
|
||||||
PropogateUpdateSpaceModelHandler,
|
PropogateUpdateSpaceModelHandler,
|
||||||
@ -112,6 +118,10 @@ const CommandHandlers = [
|
|||||||
SpaceProductAllocationRepository,
|
SpaceProductAllocationRepository,
|
||||||
SubspaceProductAllocationRepository,
|
SubspaceProductAllocationRepository,
|
||||||
SubSpaceService,
|
SubSpaceService,
|
||||||
|
PowerClampService,
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
],
|
],
|
||||||
exports: [CqrsModule, SpaceModelService],
|
exports: [CqrsModule, SpaceModelService],
|
||||||
})
|
})
|
||||||
|
@ -83,6 +83,12 @@ import { SubspaceModelProductAllocationService } from 'src/space-model/services/
|
|||||||
import { SpaceProductAllocationService } from './services/space-product-allocation.service';
|
import { SpaceProductAllocationService } from './services/space-product-allocation.service';
|
||||||
import { SubspaceProductAllocationService } from './services/subspace/subspace-product-allocation.service';
|
import { SubspaceProductAllocationService } from './services/subspace/subspace-product-allocation.service';
|
||||||
import { SpaceValidationController } from './controllers/space-validation.controller';
|
import { SpaceValidationController } from './controllers/space-validation.controller';
|
||||||
|
import { PowerClampService } from '@app/common/helper/services/power.clamp.service';
|
||||||
|
import {
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
|
} from '@app/common/modules/power-clamp/repositories';
|
||||||
|
|
||||||
export const CommandHandlers = [DisableSpaceHandler];
|
export const CommandHandlers = [DisableSpaceHandler];
|
||||||
|
|
||||||
@ -154,6 +160,10 @@ export const CommandHandlers = [DisableSpaceHandler];
|
|||||||
SubspaceProductAllocationService,
|
SubspaceProductAllocationService,
|
||||||
SpaceProductAllocationRepository,
|
SpaceProductAllocationRepository,
|
||||||
SubspaceProductAllocationRepository,
|
SubspaceProductAllocationRepository,
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
|
PowerClampService,
|
||||||
],
|
],
|
||||||
exports: [SpaceService],
|
exports: [SpaceService],
|
||||||
})
|
})
|
||||||
|
@ -22,6 +22,12 @@ import {
|
|||||||
import { SceneDeviceRepository } from '@app/common/modules/scene-device/repositories';
|
import { SceneDeviceRepository } from '@app/common/modules/scene-device/repositories';
|
||||||
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
import { AutomationRepository } from '@app/common/modules/automation/repositories';
|
||||||
import { ProjectRepository } from '@app/common/modules/project/repositiories';
|
import { ProjectRepository } from '@app/common/modules/project/repositiories';
|
||||||
|
import { PowerClampService } from '@app/common/helper/services/power.clamp.service';
|
||||||
|
import {
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
|
} from '@app/common/modules/power-clamp/repositories';
|
||||||
@Module({
|
@Module({
|
||||||
imports: [ConfigModule, DeviceRepositoryModule, DoorLockModule],
|
imports: [ConfigModule, DeviceRepositoryModule, DoorLockModule],
|
||||||
controllers: [VisitorPasswordController],
|
controllers: [VisitorPasswordController],
|
||||||
@ -43,6 +49,10 @@ import { ProjectRepository } from '@app/common/modules/project/repositiories';
|
|||||||
SceneDeviceRepository,
|
SceneDeviceRepository,
|
||||||
AutomationRepository,
|
AutomationRepository,
|
||||||
ProjectRepository,
|
ProjectRepository,
|
||||||
|
PowerClampService,
|
||||||
|
PowerClampHourlyRepository,
|
||||||
|
PowerClampDailyRepository,
|
||||||
|
PowerClampMonthlyRepository,
|
||||||
],
|
],
|
||||||
exports: [VisitorPasswordService],
|
exports: [VisitorPasswordService],
|
||||||
})
|
})
|
||||||
|
Reference in New Issue
Block a user