divan/RMuseum/Services/IGeoLocationService.cs
Anas Rashid 532d005cdb Rename Ganjoor -> Divan throughout the code
Projects (GanjooRazor -> DivanRazor, GanjoorService.sln -> DivanService.sln), files,
folders, classes, namespaces, settings, API routes (/api/divan) and DB tables (Divan*).
External addresses (ganjoor.net, github.com/ganjoor) unchanged. Migrations renamed
consistently (no pending model changes); requires a fresh database.
Upstream RUNNING_LOCALLY/SEMANTIC_SEARCH docs archived unmodified under docs/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:49:01 +02:00

49 lines
1.4 KiB
C#

using RMuseum.Models.Divan;
using RSecurityBackend.Models.Generic;
using System.Threading.Tasks;
namespace RMuseum.Services
{
/// <summary>
/// geo location service
/// </summary>
public interface IGeoLocationService
{
/// <summary>
/// add new location
/// </summary>
/// <param name="name"></param>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
Task<RServiceResult<DivanGeoLocation>> AddLocationAsync(string name, double x, double y);
/// <summary>
/// update an existing location
/// </summary>
/// <param name="updated"></param>
/// <returns></returns>
Task<RServiceResult<bool>> UpdateLocationAsync(DivanGeoLocation updated);
/// <summary>
/// delete location
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<RServiceResult<bool>> DeleteLocationAsync(int id);
/// <summary>
/// get location by id
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<RServiceResult<DivanGeoLocation>> GetLocationAsync(int id);
/// <summary>
/// get all locations
/// </summary>
/// <returns></returns>
Task<RServiceResult<DivanGeoLocation[]>> GetLocationsAsync();
}
}