diff --git a/WorkTime.Defaults/DataResult.cs b/WorkTime.Defaults/DataResult.cs deleted file mode 100644 index 8a2bc3b..0000000 --- a/WorkTime.Defaults/DataResult.cs +++ /dev/null @@ -1,83 +0,0 @@ -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Http.HttpResults; -using Microsoft.AspNetCore.Mvc; - -namespace WorkTime.Defaults; - -public class DataResult - where TResult : notnull - where TError : notnull { - public TResult? Content { get; } - public TError? Error { get; } - - public bool IsSuccessful => Error is null && Content is not null; - - public IResult HttpResult => ToHttpResult(this); - - public DataResult(TResult result) { - Content = result; - } - - public DataResult(TError error) { - Error = error; - } - - public static IResult ToHttpResult(DataResult dataResult) { - if (dataResult.Content is bool content) - return content ? Results.Ok() : Results.BadRequest(); - - if (dataResult.IsSuccessful) - return Results.Ok(dataResult.Content); - - if (dataResult.Error is ValidationProblemDetails validationProblem) - return Results.ValidationProblem( - validationProblem.Errors, - validationProblem.Detail, - validationProblem.Instance, - validationProblem.Status, - validationProblem.Title, - validationProblem.Type); - - if (dataResult.Error is ProblemDetails problem) - return Results.Problem(problem); - - if (typeof(TError).IsAssignableTo(typeof(IResult))) - return dataResult.Error as IResult ?? Results.Problem(); - - return Results.Problem(); - } - - public static implicit operator DataResult(TResult result) { - return new DataResult(result); - } - - public static implicit operator DataResult(TError error) { - return new DataResult(error); - } -} - -public class DataResult : DataResult where TResult : notnull { - public DataResult(TResult result) : base(result) { } - public DataResult(Exception error) : base(error) { } - - public static implicit operator DataResult(TResult result) { - return new DataResult(result); - } - - public static implicit operator DataResult(Exception error) { - return new DataResult(error); - } -} - -public class DataResult : DataResult { - public DataResult(bool result) : base(result) { } - public DataResult(Exception error) : base(error) { } - - public static implicit operator DataResult(bool result) { - return new DataResult(result); - } - - public static implicit operator DataResult(Exception error) { - return new DataResult(error); - } -} diff --git a/WorkTime.sln b/WorkTime.sln index c4066c7..1fe24b9 100644 --- a/WorkTime.sln +++ b/WorkTime.sln @@ -2,11 +2,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Source", "Source", "{25C5A6B2-A1F9-4244-9538-18E3FE76D382}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkTime.Api", "src\WorkTime.Api\WorkTime.Api.csproj", "{63F71A39-70D8-4F22-8006-C345E0CD4A5C}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkTime.Host", "src\WorkTime.Host\WorkTime.Host.csproj", "{6F5D4D47-1484-44EA-A5DD-D00AAD2F2F68}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkTime.Defaults", "WorkTime.Defaults\WorkTime.Defaults.csproj", "{6B97A3FF-6900-4EE9-9FBE-363F8EAA8AE3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkTime.ServiceDefaults", "src\WorkTime.ServiceDefaults\WorkTime.ServiceDefaults.csproj", "{B66AA463-03D5-4814-B1D4-71663804248C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -14,22 +12,17 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution - {63F71A39-70D8-4F22-8006-C345E0CD4A5C} = {25C5A6B2-A1F9-4244-9538-18E3FE76D382} {6F5D4D47-1484-44EA-A5DD-D00AAD2F2F68} = {25C5A6B2-A1F9-4244-9538-18E3FE76D382} - {6B97A3FF-6900-4EE9-9FBE-363F8EAA8AE3} = {25C5A6B2-A1F9-4244-9538-18E3FE76D382} + {B66AA463-03D5-4814-B1D4-71663804248C} = {25C5A6B2-A1F9-4244-9538-18E3FE76D382} EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {63F71A39-70D8-4F22-8006-C345E0CD4A5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {63F71A39-70D8-4F22-8006-C345E0CD4A5C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {63F71A39-70D8-4F22-8006-C345E0CD4A5C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {63F71A39-70D8-4F22-8006-C345E0CD4A5C}.Release|Any CPU.Build.0 = Release|Any CPU {6F5D4D47-1484-44EA-A5DD-D00AAD2F2F68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6F5D4D47-1484-44EA-A5DD-D00AAD2F2F68}.Debug|Any CPU.Build.0 = Debug|Any CPU {6F5D4D47-1484-44EA-A5DD-D00AAD2F2F68}.Release|Any CPU.ActiveCfg = Release|Any CPU {6F5D4D47-1484-44EA-A5DD-D00AAD2F2F68}.Release|Any CPU.Build.0 = Release|Any CPU - {6B97A3FF-6900-4EE9-9FBE-363F8EAA8AE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6B97A3FF-6900-4EE9-9FBE-363F8EAA8AE3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6B97A3FF-6900-4EE9-9FBE-363F8EAA8AE3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6B97A3FF-6900-4EE9-9FBE-363F8EAA8AE3}.Release|Any CPU.Build.0 = Release|Any CPU + {B66AA463-03D5-4814-B1D4-71663804248C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B66AA463-03D5-4814-B1D4-71663804248C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B66AA463-03D5-4814-B1D4-71663804248C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B66AA463-03D5-4814-B1D4-71663804248C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/src/WorkTime.Api/Controller/EntryController.cs b/src/WorkTime.Api/Controller/EntryController.cs deleted file mode 100644 index 04c49b1..0000000 --- a/src/WorkTime.Api/Controller/EntryController.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using WorkTime.Api.Models; -using WorkTime.Api.Services; - -namespace WorkTime.Api.Controller; - -[ApiController, Route("entries")] -public class EntryController(ITimeEntryService entryService) : ControllerBase { - - [HttpGet("{id:guid}")] - public async Task GetEntries(Guid id) { - var result = await entryService.GetTimeEntries(id); - return result.HttpResult; - } - - [HttpPost("{id:guid}")] - public async Task AddEntry(Guid id, TimeEntryDto entry) { - var result = await entryService.AddTimeEntry(id, entry); - return result.HttpResult; - } - - [HttpDelete("{id:int}")] - public async Task DeleteEntry(int id) { - var result = await entryService.RemoveTimeEntry(id); - return result.HttpResult; - } - -} \ No newline at end of file diff --git a/src/WorkTime.Api/DatabaseContext.cs b/src/WorkTime.Api/DatabaseContext.cs deleted file mode 100644 index c060f9b..0000000 --- a/src/WorkTime.Api/DatabaseContext.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using WorkTime.Api.Models; - -namespace WorkTime.Api; - -public class DatabaseContext(DbContextOptions options) : DbContext(options) { - - public DbSet Entries { get; set; } - -} \ No newline at end of file diff --git a/src/WorkTime.Api/Dockerfile b/src/WorkTime.Api/Dockerfile deleted file mode 100644 index 5e8e0d2..0000000 --- a/src/WorkTime.Api/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base -USER $APP_UID -WORKDIR /app -EXPOSE 8080 -EXPOSE 8081 - -FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build -ARG BUILD_CONFIGURATION=Release -WORKDIR /src -COPY ["src/WorkTime.Api/WorkTime.Api.csproj", "src/WorkTime.Api/"] -RUN dotnet restore "src/WorkTime.Api/WorkTime.Api.csproj" -COPY . . -WORKDIR "/src/src/WorkTime.Api" -RUN dotnet build "WorkTime.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build - -FROM build AS publish -ARG BUILD_CONFIGURATION=Release -RUN dotnet publish "WorkTime.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false - -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . -ENTRYPOINT ["dotnet", "WorkTime.Api.dll"] diff --git a/src/WorkTime.Api/Models/TimeEntry.cs b/src/WorkTime.Api/Models/TimeEntry.cs deleted file mode 100644 index 76f4123..0000000 --- a/src/WorkTime.Api/Models/TimeEntry.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; - -namespace WorkTime.Api.Models; - -public class TimeEntry : TimeEntryDto { - [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] - public int EntryId { get; set; } - public Guid Owner { get; set; } -} - -public class TimeEntryDto { - public DateTime RegisteredAt { get; set; } - public EntryType Type { get; set; } - public bool IsMoba { get; set; } -} - -public enum EntryType { - Login = 0, - Logout = 1, - StartDrive = 2, - EndDrive = 3 -} diff --git a/src/WorkTime.Api/Program.cs b/src/WorkTime.Api/Program.cs deleted file mode 100644 index 48a21f7..0000000 --- a/src/WorkTime.Api/Program.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Scalar.AspNetCore; -using WorkTime.Api; -using WorkTime.Api.Services; -using WorkTime.Api.Services.Implementation; - -var builder = WebApplication.CreateBuilder(args); - -// Add services to the container. -// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi -builder.Services.AddOpenApi(); -builder.AddServiceDefaults(); -builder.Services.AddControllers(); - -builder.Services.AddProblemDetails(); -builder.Services.AddNpgsql(builder.Configuration.GetConnectionString("data")); -builder.Services.AddScoped(); - -var app = builder.Build(); - -// Configure the HTTP request pipeline. -if (app.Environment.IsDevelopment()) { - app.MapOpenApi(); - app.MapScalarApiReference(options => { - options.Servers = []; - }); - - await app.Services - .CreateAsyncScope().ServiceProvider - .GetRequiredService() - .Database.EnsureCreatedAsync(); -} - -app.UseHttpsRedirection(); -app.MapControllers(); -app.Run(); diff --git a/src/WorkTime.Api/Properties/launchSettings.json b/src/WorkTime.Api/Properties/launchSettings.json deleted file mode 100644 index 577246b..0000000 --- a/src/WorkTime.Api/Properties/launchSettings.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/launchsettings.json", - "profiles": { - "http": { - "commandName": "Project", - "dotnetRunMessages": true, - "launchBrowser": false, - "applicationUrl": "http://localhost:5295", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "https": { - "commandName": "Project", - "dotnetRunMessages": true, - "launchBrowser": false, - "applicationUrl": "https://localhost:7294;http://localhost:5295", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} diff --git a/src/WorkTime.Api/Services/ITimeEntryService.cs b/src/WorkTime.Api/Services/ITimeEntryService.cs deleted file mode 100644 index f863591..0000000 --- a/src/WorkTime.Api/Services/ITimeEntryService.cs +++ /dev/null @@ -1,14 +0,0 @@ -using WorkTime.Api.Models; -using WorkTime.Defaults; - -namespace WorkTime.Api.Services; - -public interface ITimeEntryService { - - public Task>> GetTimeEntries(Guid owner); - - public Task AddTimeEntry(Guid owner, TimeEntryDto entry); - - public Task> RemoveTimeEntry(int id); - -} \ No newline at end of file diff --git a/src/WorkTime.Api/Services/Implementation/TimeEntryService.cs b/src/WorkTime.Api/Services/Implementation/TimeEntryService.cs deleted file mode 100644 index 1266ae6..0000000 --- a/src/WorkTime.Api/Services/Implementation/TimeEntryService.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using WorkTime.Api.Models; -using WorkTime.Defaults; - -namespace WorkTime.Api.Services.Implementation; - -public class TimeEntryService(DatabaseContext context) : ITimeEntryService { - public async Task>> GetTimeEntries(Guid owner) { - return await context.Entries - .Where(entry => entry.Owner == owner) - .ToArrayAsync(); - } - - public async Task AddTimeEntry(Guid owner, TimeEntryDto entry) { - var dbEntry = new TimeEntry { - Owner = owner, - RegisteredAt = entry.RegisteredAt, - Type = entry.Type, - IsMoba = entry.IsMoba - }; - - await context.Entries.AddAsync(dbEntry); - await context.SaveChangesAsync(); - return true; - } - - public async Task> RemoveTimeEntry(int id) { - var entry = await context.Entries.FindAsync(id); - - if (entry is null) - return TypedResults.NotFound(); - - context.Entries.Remove(entry); - await context.SaveChangesAsync(); - return true; - } -} \ No newline at end of file diff --git a/src/WorkTime.Api/WorkTime.Api.csproj b/src/WorkTime.Api/WorkTime.Api.csproj deleted file mode 100644 index 121fbd2..0000000 --- a/src/WorkTime.Api/WorkTime.Api.csproj +++ /dev/null @@ -1,26 +0,0 @@ - - - - net9.0 - enable - enable - Linux - - - - - - - - - - - .dockerignore - - - - - - - - diff --git a/src/WorkTime.Api/appsettings.Development.json b/src/WorkTime.Api/appsettings.Development.json deleted file mode 100644 index 0c208ae..0000000 --- a/src/WorkTime.Api/appsettings.Development.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - } -} diff --git a/src/WorkTime.Api/appsettings.json b/src/WorkTime.Api/appsettings.json deleted file mode 100644 index 10f68b8..0000000 --- a/src/WorkTime.Api/appsettings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*" -} diff --git a/src/WorkTime.Host/Program.cs b/src/WorkTime.Host/Program.cs index 47da5c1..654783c 100644 --- a/src/WorkTime.Host/Program.cs +++ b/src/WorkTime.Host/Program.cs @@ -1,14 +1,8 @@ var builder = DistributedApplication.CreateBuilder(args); var db = builder.AddPostgres("db") - .WithDataVolume() - .AddDatabase("data"); + .WithDataVolume(); -builder.AddProject("api") - .WithReference(db) - .WaitFor(db); -builder.AddNpmApp("mobile", "../WorkTime.Mobile") - .WithHttpEndpoint(4200, isProxied: false); builder.Build().Run(); \ No newline at end of file diff --git a/src/WorkTime.Host/WorkTime.Host.csproj b/src/WorkTime.Host/WorkTime.Host.csproj index f544c78..db10b2a 100644 --- a/src/WorkTime.Host/WorkTime.Host.csproj +++ b/src/WorkTime.Host/WorkTime.Host.csproj @@ -13,12 +13,7 @@ - - - - - diff --git a/WorkTime.Defaults/Extensions.cs b/src/WorkTime.ServiceDefaults/Extensions.cs similarity index 100% rename from WorkTime.Defaults/Extensions.cs rename to src/WorkTime.ServiceDefaults/Extensions.cs diff --git a/WorkTime.Defaults/WorkTime.Defaults.csproj b/src/WorkTime.ServiceDefaults/WorkTime.ServiceDefaults.csproj similarity index 100% rename from WorkTime.Defaults/WorkTime.Defaults.csproj rename to src/WorkTime.ServiceDefaults/WorkTime.ServiceDefaults.csproj diff --git a/src/WorkTime.Mobile/.browserslistrc b/src/WorkTime.WebMobile/.browserslistrc similarity index 100% rename from src/WorkTime.Mobile/.browserslistrc rename to src/WorkTime.WebMobile/.browserslistrc diff --git a/src/WorkTime.Mobile/.dockerignore b/src/WorkTime.WebMobile/.dockerignore similarity index 100% rename from src/WorkTime.Mobile/.dockerignore rename to src/WorkTime.WebMobile/.dockerignore diff --git a/src/WorkTime.Mobile/.editorconfig b/src/WorkTime.WebMobile/.editorconfig similarity index 100% rename from src/WorkTime.Mobile/.editorconfig rename to src/WorkTime.WebMobile/.editorconfig diff --git a/src/WorkTime.Mobile/.eslintrc.json b/src/WorkTime.WebMobile/.eslintrc.json similarity index 100% rename from src/WorkTime.Mobile/.eslintrc.json rename to src/WorkTime.WebMobile/.eslintrc.json diff --git a/src/WorkTime.Mobile/.gitignore b/src/WorkTime.WebMobile/.gitignore similarity index 100% rename from src/WorkTime.Mobile/.gitignore rename to src/WorkTime.WebMobile/.gitignore diff --git a/src/WorkTime.Mobile/.vscode/extensions.json b/src/WorkTime.WebMobile/.vscode/extensions.json similarity index 100% rename from src/WorkTime.Mobile/.vscode/extensions.json rename to src/WorkTime.WebMobile/.vscode/extensions.json diff --git a/src/WorkTime.Mobile/.vscode/settings.json b/src/WorkTime.WebMobile/.vscode/settings.json similarity index 100% rename from src/WorkTime.Mobile/.vscode/settings.json rename to src/WorkTime.WebMobile/.vscode/settings.json diff --git a/src/WorkTime.Mobile/Dockerfile b/src/WorkTime.WebMobile/Dockerfile similarity index 100% rename from src/WorkTime.Mobile/Dockerfile rename to src/WorkTime.WebMobile/Dockerfile diff --git a/src/WorkTime.Mobile/angular.json b/src/WorkTime.WebMobile/angular.json similarity index 100% rename from src/WorkTime.Mobile/angular.json rename to src/WorkTime.WebMobile/angular.json diff --git a/src/WorkTime.Mobile/capacitor.config.ts b/src/WorkTime.WebMobile/capacitor.config.ts similarity index 100% rename from src/WorkTime.Mobile/capacitor.config.ts rename to src/WorkTime.WebMobile/capacitor.config.ts diff --git a/src/WorkTime.Mobile/ionic.config.json b/src/WorkTime.WebMobile/ionic.config.json similarity index 100% rename from src/WorkTime.Mobile/ionic.config.json rename to src/WorkTime.WebMobile/ionic.config.json diff --git a/src/WorkTime.Mobile/karma.conf.js b/src/WorkTime.WebMobile/karma.conf.js similarity index 100% rename from src/WorkTime.Mobile/karma.conf.js rename to src/WorkTime.WebMobile/karma.conf.js diff --git a/src/WorkTime.Mobile/nginx.conf b/src/WorkTime.WebMobile/nginx.conf similarity index 100% rename from src/WorkTime.Mobile/nginx.conf rename to src/WorkTime.WebMobile/nginx.conf diff --git a/src/WorkTime.Mobile/ngsw-config.json b/src/WorkTime.WebMobile/ngsw-config.json similarity index 100% rename from src/WorkTime.Mobile/ngsw-config.json rename to src/WorkTime.WebMobile/ngsw-config.json diff --git a/src/WorkTime.Mobile/package-lock.json b/src/WorkTime.WebMobile/package-lock.json similarity index 100% rename from src/WorkTime.Mobile/package-lock.json rename to src/WorkTime.WebMobile/package-lock.json diff --git a/src/WorkTime.Mobile/package.json b/src/WorkTime.WebMobile/package.json similarity index 100% rename from src/WorkTime.Mobile/package.json rename to src/WorkTime.WebMobile/package.json diff --git a/src/WorkTime.Mobile/src/app/analysis/analysis.page.html b/src/WorkTime.WebMobile/src/app/analysis/analysis.page.html similarity index 100% rename from src/WorkTime.Mobile/src/app/analysis/analysis.page.html rename to src/WorkTime.WebMobile/src/app/analysis/analysis.page.html diff --git a/src/WorkTime.Mobile/src/app/analysis/analysis.page.scss b/src/WorkTime.WebMobile/src/app/analysis/analysis.page.scss similarity index 100% rename from src/WorkTime.Mobile/src/app/analysis/analysis.page.scss rename to src/WorkTime.WebMobile/src/app/analysis/analysis.page.scss diff --git a/src/WorkTime.Mobile/src/app/analysis/analysis.page.ts b/src/WorkTime.WebMobile/src/app/analysis/analysis.page.ts similarity index 100% rename from src/WorkTime.Mobile/src/app/analysis/analysis.page.ts rename to src/WorkTime.WebMobile/src/app/analysis/analysis.page.ts diff --git a/src/WorkTime.Mobile/src/app/app.component.html b/src/WorkTime.WebMobile/src/app/app.component.html similarity index 100% rename from src/WorkTime.Mobile/src/app/app.component.html rename to src/WorkTime.WebMobile/src/app/app.component.html diff --git a/src/WorkTime.Mobile/src/app/app.component.scss b/src/WorkTime.WebMobile/src/app/app.component.scss similarity index 100% rename from src/WorkTime.Mobile/src/app/app.component.scss rename to src/WorkTime.WebMobile/src/app/app.component.scss diff --git a/src/WorkTime.Mobile/src/app/app.component.ts b/src/WorkTime.WebMobile/src/app/app.component.ts similarity index 100% rename from src/WorkTime.Mobile/src/app/app.component.ts rename to src/WorkTime.WebMobile/src/app/app.component.ts diff --git a/src/WorkTime.Mobile/src/app/app.routes.ts b/src/WorkTime.WebMobile/src/app/app.routes.ts similarity index 100% rename from src/WorkTime.Mobile/src/app/app.routes.ts rename to src/WorkTime.WebMobile/src/app/app.routes.ts diff --git a/src/WorkTime.Mobile/src/app/settings/settings.page.html b/src/WorkTime.WebMobile/src/app/settings/settings.page.html similarity index 100% rename from src/WorkTime.Mobile/src/app/settings/settings.page.html rename to src/WorkTime.WebMobile/src/app/settings/settings.page.html diff --git a/src/WorkTime.Mobile/src/app/settings/settings.page.scss b/src/WorkTime.WebMobile/src/app/settings/settings.page.scss similarity index 100% rename from src/WorkTime.Mobile/src/app/settings/settings.page.scss rename to src/WorkTime.WebMobile/src/app/settings/settings.page.scss diff --git a/src/WorkTime.Mobile/src/app/settings/settings.page.ts b/src/WorkTime.WebMobile/src/app/settings/settings.page.ts similarity index 100% rename from src/WorkTime.Mobile/src/app/settings/settings.page.ts rename to src/WorkTime.WebMobile/src/app/settings/settings.page.ts diff --git a/src/WorkTime.Mobile/src/app/tabs/tabs.page.html b/src/WorkTime.WebMobile/src/app/tabs/tabs.page.html similarity index 100% rename from src/WorkTime.Mobile/src/app/tabs/tabs.page.html rename to src/WorkTime.WebMobile/src/app/tabs/tabs.page.html diff --git a/src/WorkTime.Mobile/src/app/tabs/tabs.page.scss b/src/WorkTime.WebMobile/src/app/tabs/tabs.page.scss similarity index 100% rename from src/WorkTime.Mobile/src/app/tabs/tabs.page.scss rename to src/WorkTime.WebMobile/src/app/tabs/tabs.page.scss diff --git a/src/WorkTime.Mobile/src/app/tabs/tabs.page.ts b/src/WorkTime.WebMobile/src/app/tabs/tabs.page.ts similarity index 100% rename from src/WorkTime.Mobile/src/app/tabs/tabs.page.ts rename to src/WorkTime.WebMobile/src/app/tabs/tabs.page.ts diff --git a/src/WorkTime.Mobile/src/app/tabs/tabs.routes.ts b/src/WorkTime.WebMobile/src/app/tabs/tabs.routes.ts similarity index 100% rename from src/WorkTime.Mobile/src/app/tabs/tabs.routes.ts rename to src/WorkTime.WebMobile/src/app/tabs/tabs.routes.ts diff --git a/src/WorkTime.Mobile/src/app/time/time.page.html b/src/WorkTime.WebMobile/src/app/time/time.page.html similarity index 100% rename from src/WorkTime.Mobile/src/app/time/time.page.html rename to src/WorkTime.WebMobile/src/app/time/time.page.html diff --git a/src/WorkTime.Mobile/src/app/time/time.page.scss b/src/WorkTime.WebMobile/src/app/time/time.page.scss similarity index 100% rename from src/WorkTime.Mobile/src/app/time/time.page.scss rename to src/WorkTime.WebMobile/src/app/time/time.page.scss diff --git a/src/WorkTime.Mobile/src/app/time/time.page.ts b/src/WorkTime.WebMobile/src/app/time/time.page.ts similarity index 100% rename from src/WorkTime.Mobile/src/app/time/time.page.ts rename to src/WorkTime.WebMobile/src/app/time/time.page.ts diff --git a/src/WorkTime.Mobile/src/assets/icon/favicon.png b/src/WorkTime.WebMobile/src/assets/icon/favicon.png similarity index 100% rename from src/WorkTime.Mobile/src/assets/icon/favicon.png rename to src/WorkTime.WebMobile/src/assets/icon/favicon.png diff --git a/src/WorkTime.Mobile/src/environments/environment.prod.ts b/src/WorkTime.WebMobile/src/environments/environment.prod.ts similarity index 100% rename from src/WorkTime.Mobile/src/environments/environment.prod.ts rename to src/WorkTime.WebMobile/src/environments/environment.prod.ts diff --git a/src/WorkTime.Mobile/src/environments/environment.ts b/src/WorkTime.WebMobile/src/environments/environment.ts similarity index 100% rename from src/WorkTime.Mobile/src/environments/environment.ts rename to src/WorkTime.WebMobile/src/environments/environment.ts diff --git a/src/WorkTime.Mobile/src/global.scss b/src/WorkTime.WebMobile/src/global.scss similarity index 100% rename from src/WorkTime.Mobile/src/global.scss rename to src/WorkTime.WebMobile/src/global.scss diff --git a/src/WorkTime.Mobile/src/index.html b/src/WorkTime.WebMobile/src/index.html similarity index 100% rename from src/WorkTime.Mobile/src/index.html rename to src/WorkTime.WebMobile/src/index.html diff --git a/src/WorkTime.Mobile/src/main.ts b/src/WorkTime.WebMobile/src/main.ts similarity index 100% rename from src/WorkTime.Mobile/src/main.ts rename to src/WorkTime.WebMobile/src/main.ts diff --git a/src/WorkTime.Mobile/src/manifest.webmanifest b/src/WorkTime.WebMobile/src/manifest.webmanifest similarity index 100% rename from src/WorkTime.Mobile/src/manifest.webmanifest rename to src/WorkTime.WebMobile/src/manifest.webmanifest diff --git a/src/WorkTime.Mobile/src/models/environment.ts b/src/WorkTime.WebMobile/src/models/environment.ts similarity index 100% rename from src/WorkTime.Mobile/src/models/environment.ts rename to src/WorkTime.WebMobile/src/models/environment.ts diff --git a/src/WorkTime.Mobile/src/models/settings.ts b/src/WorkTime.WebMobile/src/models/settings.ts similarity index 100% rename from src/WorkTime.Mobile/src/models/settings.ts rename to src/WorkTime.WebMobile/src/models/settings.ts diff --git a/src/WorkTime.Mobile/src/models/timeEntry.ts b/src/WorkTime.WebMobile/src/models/timeEntry.ts similarity index 100% rename from src/WorkTime.Mobile/src/models/timeEntry.ts rename to src/WorkTime.WebMobile/src/models/timeEntry.ts diff --git a/src/WorkTime.Mobile/src/polyfills.ts b/src/WorkTime.WebMobile/src/polyfills.ts similarity index 100% rename from src/WorkTime.Mobile/src/polyfills.ts rename to src/WorkTime.WebMobile/src/polyfills.ts diff --git a/src/WorkTime.Mobile/src/services/backend.service.ts b/src/WorkTime.WebMobile/src/services/backend.service.ts similarity index 100% rename from src/WorkTime.Mobile/src/services/backend.service.ts rename to src/WorkTime.WebMobile/src/services/backend.service.ts diff --git a/src/WorkTime.Mobile/src/services/settings.service.ts b/src/WorkTime.WebMobile/src/services/settings.service.ts similarity index 100% rename from src/WorkTime.Mobile/src/services/settings.service.ts rename to src/WorkTime.WebMobile/src/services/settings.service.ts diff --git a/src/WorkTime.Mobile/src/services/time.service.ts b/src/WorkTime.WebMobile/src/services/time.service.ts similarity index 100% rename from src/WorkTime.Mobile/src/services/time.service.ts rename to src/WorkTime.WebMobile/src/services/time.service.ts diff --git a/src/WorkTime.Mobile/src/test.ts b/src/WorkTime.WebMobile/src/test.ts similarity index 100% rename from src/WorkTime.Mobile/src/test.ts rename to src/WorkTime.WebMobile/src/test.ts diff --git a/src/WorkTime.Mobile/src/theme/variables.scss b/src/WorkTime.WebMobile/src/theme/variables.scss similarity index 100% rename from src/WorkTime.Mobile/src/theme/variables.scss rename to src/WorkTime.WebMobile/src/theme/variables.scss diff --git a/src/WorkTime.Mobile/src/zone-flags.ts b/src/WorkTime.WebMobile/src/zone-flags.ts similarity index 100% rename from src/WorkTime.Mobile/src/zone-flags.ts rename to src/WorkTime.WebMobile/src/zone-flags.ts diff --git a/src/WorkTime.Mobile/tsconfig.app.json b/src/WorkTime.WebMobile/tsconfig.app.json similarity index 100% rename from src/WorkTime.Mobile/tsconfig.app.json rename to src/WorkTime.WebMobile/tsconfig.app.json diff --git a/src/WorkTime.Mobile/tsconfig.json b/src/WorkTime.WebMobile/tsconfig.json similarity index 100% rename from src/WorkTime.Mobile/tsconfig.json rename to src/WorkTime.WebMobile/tsconfig.json diff --git a/src/WorkTime.Mobile/tsconfig.spec.json b/src/WorkTime.WebMobile/tsconfig.spec.json similarity index 100% rename from src/WorkTime.Mobile/tsconfig.spec.json rename to src/WorkTime.WebMobile/tsconfig.spec.json