export class StorageUnit extends Data.TaggedClass('StorageUnit')<{
id: StorageUnitID;
coordinatorID: StorageCoordinatorID;
capacity: number
}> {
fetchCoordinator() {
return StorageCoordinatorService.get(this.coordinatorID);
}
}
export class StorageUnitService extends Effect.Tag('StorageUnitService')<
StorageUnitService,
{
list(): Effect.Effect<StorageUnit[], DrizzleDatabaseError, never>;
listForCoordinator(id: StorageCoordinatorID): Effect.Effect<StorageUnit[], DrizzleDatabaseError, never>;
}
>() {}
export class StorageUnit extends Data.TaggedClass('StorageUnit')<{
id: StorageUnitID;
coordinatorID: StorageCoordinatorID;
capacity: number
}> {
fetchCoordinator() {
return StorageCoordinatorService.get(this.coordinatorID);
}
}
export class StorageUnitService extends Effect.Tag('StorageUnitService')<
StorageUnitService,
{
list(): Effect.Effect<StorageUnit[], DrizzleDatabaseError, never>;
listForCoordinator(id: StorageCoordinatorID): Effect.Effect<StorageUnit[], DrizzleDatabaseError, never>;
}
>() {}