mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 08:23:12 +00:00
* fix(migrations): make Phase6 completion slide-over migration idempotent Use IF EXISTS / IF COL_LENGTH guards and explicit EF migration metadata so partial environments can apply Phase 6 safely. * feat(locations): add sites options endpoint and vendor contactName Expose GET /api/locations/sites for the WO create wizard and include vendor contactName on dropdown responses. * fix(work-orders): make stacked tip build for CI quality gates --------- Co-authored-by: Arthur Bassi <arthur.winiarski.ranger@outlook.com>
19 lines
924 B
C#
19 lines
924 B
C#
using SeaHaven.Services.DTOs;
|
|
|
|
namespace SeaHaven.Services.Interfaces
|
|
{
|
|
public interface ILocationService
|
|
{
|
|
Task<LocationDTO?> GetLocationByIdAsync(int id);
|
|
Task<LocationDTO?> GetLocationByIdWithDetailsAsync(int id);
|
|
Task<IEnumerable<LocationDTO>> GetAllLocationsAsync();
|
|
Task<IEnumerable<LocationDTO>> GetLocationsByAccountIdAsync(int accountId);
|
|
Task<PagedResult<LocationDTO>> GetLocationsPagedAsync(int page, int pageSize, string? search = null);
|
|
Task<IReadOnlyList<SiteOptionDTO>> GetSiteOptionsAsync(string? search = null);
|
|
Task<LocationDTO> CreateLocationAsync(CreateLocationDTO dto, string userId);
|
|
Task<LocationDTO> UpdateLocationAsync(int id, UpdateLocationDTO dto, string userId);
|
|
Task DeleteLocationAsync(int id, string userId);
|
|
Task<bool> LocationExistsAsync(int id);
|
|
Task<int> GetTotalLocationCountAsync();
|
|
}
|
|
}
|