© 2026 Hedgehog Software, LLC
export const deleteLayout = Effect.gen(function* () { const { siteID } = yield* schemaPathParams({ siteID: Schema.String, }); yield* Stream.runDrain( Stream.mergeAll( [ Stream.mapEffect(Location.findBySite({ siteID }), Location.deleteOne), Stream.mapEffect(Module.findBySite({ siteID }), Module.deleteOne), Stream.mapEffect( Device.findBySite({ siteID }), Device.removeLocation, { concurrency: "unbounded" }, ), Stream.mapEffect(Meter.findBySite({ siteID }), Meter.removeLocation, { concurrency: "unbounded", }), ], { concurrency: 2 }, ), ); });
Location.deleteOne
Module.deleteOne
.pipe(Effect.withRequestBatching(true))