using Fitness_core_BE.Models; namespace Fitness_core_BE.Interfaces { public interface IPlaceRepo { Task> GetAllPlaces(Guid clientId, bool includeInactive = false); Task GetPlaceById(Guid placeId); Task CreatePlace(Place place); Task UpdatePlace(Place place); Task SetPlaceActive(Guid placeId, Guid clientId, bool isActive); Task GetDeviceByIdForClientAsync(Guid deviceId, Guid clientId); Task> GetDevicesByPlaceIdsAsync(List placeIds); Task IsDeviceAssignedToAnotherPlaceAsync(Guid deviceId, Guid placeId); Task AssignDeviceAsync(Guid placeId, Guid deviceId); Task UnassignDeviceAsync(Guid placeId); // CustomerPlan <-> Place (many-to-many). Replace-all semantics, like a tags field. Task SetPlanPlacesAsync(Guid customerPlanId, List placeIds); Task> GetPlaceIdsForPlanAsync(Guid customerPlanId); Task>> GetPlaceIdsByPlanIdsAsync(List customerPlanIds); Task> GetPlaceNamesByIdsAsync(List placeIds); } }