
namespace TIAMWebApp.Shared.Application.Models
{
    public class APIUrls
    {
        public const string BaseUrl = "api";
        public const string BaseUrlWithSlash = BaseUrl + "/";
        public const string BaseUrlWithSlashAndVersion = BaseUrlWithSlash + "v1/";

        public const string UserAPI = BaseUrlWithSlashAndVersion + "UserAPI/";
        public const string WeatherForecastAPI = BaseUrlWithSlashAndVersion + "WeatherForecastAPI/";
        public const string PopulationStructureAPI = BaseUrlWithSlashAndVersion + "PopulationStructureAPI/";
        public const string TransferDataAPI = BaseUrlWithSlashAndVersion + "TransferDataAPI/";
        public const string ServiceProviderAPI = BaseUrlWithSlashAndVersion + "ServiceProviderAPI/";
        public const string UserPermissionAPI = BaseUrlWithSlashAndVersion + "UserPermissionAPI/";
        public const string FileAPI = BaseUrlWithSlashAndVersion + "FileAPI/";

        //userdata
        public const string UserTestRouteName = "test1";
        public const string UserTest = UserAPI + UserTestRouteName;

        public const string GetUserByEmailRouteName = "GetUserByEmail";
        public const string GetUserByEmail = UserAPI + GetUserByEmailRouteName;

        public const string GetUserByIdRouteName = "GetUserById";
        public const string GetUserById = UserAPI + GetUserByIdRouteName;

        public const string GetUsersRouteName = "GetUsers";
        public const string GetUsers = UserAPI + GetUsersRouteName;

        public const string AuthenticateUserRouteName = "AuthenticateUser";
        public const string AuthenticateUser = UserAPI + AuthenticateUserRouteName;
        
        public const string CreateUserRouteName = "CreateUser";
        public const string CreateUser = UserAPI + CreateUserRouteName;

        public const string RefreshTokenRouteName = "RefreshToken";
        public const string RefreshToken = UserAPI + RefreshTokenRouteName;

        //Weatherdata
        //public const string WeatherForecast = "api/WeatherForecastAPI";
        public const string WeatherForecast = WeatherForecastAPI;

        //PopulationStructure
        //public const string PopulationStructure = "PopulationStructureAPI";
        public const string PopulationStructure = PopulationStructureAPI;

        //transferdata
        public const string GetTransferDestinationsRouteName = "GetTransferDestinations";
        public const string GetTransferDestinations = TransferDataAPI + GetTransferDestinationsRouteName;

        public const string GetTransferDestinationByCoordinatesRouteName = "GetTransferDestinationByCoordinates";
        public const string GetTransferDestinationByCoordinates = TransferDataAPI + GetTransferDestinationByCoordinatesRouteName;

        public const string GetTransferDestinationByAddressRouteName = "GetTransferDestinationByAddress";
        public const string GetTransferDestinationByAddress = TransferDataAPI+GetTransferDestinationByAddressRouteName;

        public const string CreateTransferDestinationRouteName = "CreateTransferDestination";
        public const string CreateTransferDestination = TransferDataAPI+CreateTransferDestinationRouteName;
        
        public const string CreateTransferRouteName = "CreateTransfer";
        public const string CreateTransfer = TransferDataAPI+CreateTransferRouteName;

        public const string UpdateTransferDestinationRouteName = "UpdateTransfer";
        public const string UpdateTransferDestination = TransferDataAPI + UpdateTransferDestinationRouteName;

        //serviceprovider
        public const string CreateServiceProviderRouteName = "CreateServiceProvider";
        public const string CreateServiceProvider = ServiceProviderAPI+CreateServiceProviderRouteName;

        public const string GetServiceProviderByIdRouteName = "GetServiceProviderById";
        public const string GetServiceProviderById = ServiceProviderAPI+GetServiceProviderByIdRouteName;

        public const string GetServiceProvidersByOwnerIdRouteName = "GetServiceProvidersByOwnerId";
        public const string GetServiceProvidersByOwnerId = ServiceProviderAPI+GetServiceProvidersByOwnerIdRouteName;

        public const string GetQRCodeByProductIdRouteName = "GetQRCodeByProductId";
        public const string GetQRCodeByProductId = ServiceProviderAPI+GetQRCodeByProductIdRouteName;

        public const string AddProductRouteName = "AddProduct";
        public const string AddProductRouteUrl = ServiceProviderAPI + AddProductRouteName;

        public const string GetProductsByServiceProviderIdRouteName = "GetProductsByServiceProviderId";
        public const string GetProductsByServiceProviderId = ServiceProviderAPI + GetProductsByServiceProviderIdRouteName;

        public const string CreateUserProductMappingRouteName = "CreateUserProductMapping";
        public const string CreateUserProductMapping = ServiceProviderAPI + CreateUserProductMappingRouteName;

        public const string GetServiceProvidersRouteName = "GetServiceProviders";
        public const string GetServiceProviders = ServiceProviderAPI + GetServiceProvidersRouteName;

        public const string GetUserProductMappingsForProductRouteName = "GetUserProductMappingsForProduct";
        public const string GetUserProductMappingsForProduct = ServiceProviderAPI + GetUserProductMappingsForProductRouteName;


        //AssingedUsers
        public const string CreateAssignedUserRouteName = "CreateAssignedUser";
        public const string CreateAssignedUser = ServiceProviderAPI + CreateAssignedUserRouteName;
        public const string GetAssignedUsersForServiceProviderRouteName = "GetAssignedUsersForServiceProvider";
        public const string GetAssignedUsersForServiceProvider = ServiceProviderAPI + GetAssignedUsersForServiceProviderRouteName;

        //permissions
        //1
        public const string GetPermissionsForContextByContextIdRouteName = "GetPermissionsForContextByContextId";
        public const string GetPermissionsForContextByContextId = ServiceProviderAPI+GetPermissionsForContextByContextIdRouteName;
        //2. get the contexts where the user has permission
        public const string GetPermissionContextByUserIdRouteName = "GetPermissionContextByUserId";
        public const string GetPermissionContextByUserId = ServiceProviderAPI+GetPermissionContextByUserIdRouteName;
        //12
        public const string GetPermissionGroupsForContextByContextIdRouteName = "GetPermissionGroupsForContextByContextId";
        public const string GetPermissionGroupsForContextByContextId = ServiceProviderAPI+GetPermissionGroupsForContextByContextIdRouteName;

        //file upload
        public const string UploadImageRouteName = "UploadImage";
        public const string UploadImage = FileAPI+UploadImageRouteName;
        //get images
        public const string GetImagesRouteName = "GetAllMedia";
        public const string GetImages = FileAPI+GetImagesRouteName;
        //get image by name
        public const string GetImageRouteName = "GetImage";
        public const string GetImage = FileAPI+GetImageRouteName;

    }
}
