diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-10-24 06:29:23 +0200 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-10-24 06:29:23 +0200 |
| commit | 585c5c8537eb21dfc9f16108548e63d9ced3d971 (patch) | |
| tree | 1582bc45dcab585ec7204f1570019b2ca8de36c5 /code/api/src/Data | |
| parent | 4b42c5235482fe0d3811b4e2936614c79e20d970 (diff) | |
| download | greatoffice-585c5c8537eb21dfc9f16108548e63d9ced3d971.tar.xz greatoffice-585c5c8537eb21dfc9f16108548e63d9ced3d971.zip | |
feat: Before move to FastEndpoints
Diffstat (limited to 'code/api/src/Data')
| -rw-r--r-- | code/api/src/Data/Dtos/TimeQueryDto.cs | 34 | ||||
| -rw-r--r-- | code/api/src/Data/Dtos/UserArchiveDto.cs | 131 | ||||
| -rw-r--r-- | code/api/src/Data/Enums/StringsLang.cs | 7 | ||||
| -rw-r--r-- | code/api/src/Data/Enums/TodoVisibility.cs | 2 | ||||
| -rw-r--r-- | code/api/src/Data/Models/KnownProblemModel.cs | 16 | ||||
| -rw-r--r-- | code/api/src/Data/Results/ErrorResult.cs | 12 |
6 files changed, 25 insertions, 177 deletions
diff --git a/code/api/src/Data/Dtos/TimeQueryDto.cs b/code/api/src/Data/Dtos/TimeQueryDto.cs deleted file mode 100644 index f734cb1..0000000 --- a/code/api/src/Data/Dtos/TimeQueryDto.cs +++ /dev/null @@ -1,34 +0,0 @@ - -namespace IOL.GreatOffice.Api.Data.Dtos; - -public class TimeQueryDto -{ - public TimeQueryDto() { - Results = new List<TimeEntry.TimeEntryDto>(); - } - - /// <summary> - /// List of entries. - /// </summary> - public List<TimeEntry.TimeEntryDto> Results { get; set; } - - /// <summary> - /// Curren page. - /// </summary> - public int Page { get; set; } - - /// <summary> - /// Maximum count of entries in a page. - /// </summary> - public int PageSize { get; set; } - - /// <summary> - /// Total count of entries. - /// </summary> - public int TotalSize { get; set; } - - /// <summary> - /// Total count of pages. - /// </summary> - public int TotalPageCount { get; set; } -} diff --git a/code/api/src/Data/Dtos/UserArchiveDto.cs b/code/api/src/Data/Dtos/UserArchiveDto.cs deleted file mode 100644 index 42e0600..0000000 --- a/code/api/src/Data/Dtos/UserArchiveDto.cs +++ /dev/null @@ -1,131 +0,0 @@ - -namespace IOL.GreatOffice.Api.Data.Dtos; - -/// <summary> -/// Represents a user archive as it is provided to users. -/// </summary> -public class UserArchiveDto -{ - /// <inheritdoc cref="UserArchiveDto"/> - public UserArchiveDto(User user) { - Meta = new MetaDto { - GeneratedAt = AppDateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ") - }; - User = new UserDto(user); - Entries = new List<EntryDto>(); - } - - /// <summary> - /// Metadata for the user archive. - /// </summary> - public MetaDto Meta { get; } - - /// <summary> - /// Relevant user data for the archive. - /// </summary> - public UserDto User { get; } - - /// <summary> - /// List of entries that the user has created. - /// </summary> - public List<EntryDto> Entries { get; } - - public void CountEntries() { - Meta.EntryCount = Entries.Count; - } - - /// <summary> - /// Represents a time entry in the data archive. - /// </summary> - public class EntryDto - { - public string CreatedAt { get; init; } - - [JsonIgnore] - public DateTime StartDateTime { get; init; } - - /// <summary> - /// ISO 8601 string of the UTC date the time entry started. - /// </summary> - public string Start => StartDateTime.ToString("yyyy-MM-ddTHH:mm:ssZ"); - - [JsonIgnore] - public DateTime StopDateTime { get; init; } - - /// <summary> - /// ISO 8601 string of the UTC date the time entry stopped. - /// </summary> - public string Stop => StopDateTime.ToString("yyyy-MM-ddTHH:mm:ssZ"); - - /// <summary> - /// Total amount of minutes elapsed from start to stop on this time entry. - /// </summary> - public double Minutes => StopDateTime.Subtract(StartDateTime).TotalMinutes; - - public string Description { get; init; } - - /// <summary> - /// Archive spesific category for this time entry. - /// </summary> - public CategoryDto Category { get; init; } - - /// <summary> - /// Archive spesific list of labels for this time entry. - /// </summary> - public List<LabelDto> Labels { get; init; } - } - - /// <summary> - /// Time entry category as it is written to the user archive. - /// </summary> - public class CategoryDto - { - public string Name { get; init; } - public string Color { get; init; } - } - - /// <summary> - /// Time entry label as it is written to the user archive. - /// </summary> - public class LabelDto - { - public string Name { get; init; } - public string Color { get; init; } - } - - - /// <summary> - /// Represents the user who this archive's data is based on. - /// </summary> - public class UserDto - { - /// <inheritdoc cref="UserDto"/> - public UserDto(User user) { - Username = user.Username; - CreatedAt = user.CreatedAt; - } - - /// <summary> - /// UTC date this user was created. - /// </summary> - public DateTime CreatedAt { get; } - - public string Username { get; } - } - - /// <summary> - /// Represents the meta object which contains metdata for this archive. - /// </summary> - public class MetaDto - { - /// <summary> - /// ISO 8601 UTC date string for when this archive was created. - /// </summary> - public string GeneratedAt { get; init; } - - /// <summary> - /// Amount of entries in the archive. - /// </summary> - public int EntryCount { get; set; } - } -} diff --git a/code/api/src/Data/Enums/StringsLang.cs b/code/api/src/Data/Enums/StringsLang.cs new file mode 100644 index 0000000..e4e2066 --- /dev/null +++ b/code/api/src/Data/Enums/StringsLang.cs @@ -0,0 +1,7 @@ +namespace IOL.GreatOffice.Api.Data.Enums; + +public enum StringsLang +{ + ENGLISH_GB = 0, + NORWEGIAN_NB = 1 +}
\ No newline at end of file diff --git a/code/api/src/Data/Enums/TodoVisibility.cs b/code/api/src/Data/Enums/TodoVisibility.cs index 6ebef9b..8581ba9 100644 --- a/code/api/src/Data/Enums/TodoVisibility.cs +++ b/code/api/src/Data/Enums/TodoVisibility.cs @@ -1,4 +1,6 @@ +namespace IOL.GreatOffice.Api.Data.Enums; + public enum TodoVisibility { PRIVATE = 0, diff --git a/code/api/src/Data/Models/KnownProblemModel.cs b/code/api/src/Data/Models/KnownProblemModel.cs new file mode 100644 index 0000000..445d338 --- /dev/null +++ b/code/api/src/Data/Models/KnownProblemModel.cs @@ -0,0 +1,16 @@ +namespace IOL.GreatOffice.Api.Data.Models; + +public class KnownProblemModel +{ + public KnownProblemModel(string title = default, string subtitle = default, Dictionary<string, string> errors = default) { + Title = title; + Subtitle = subtitle; + Errors = errors; + } + + public string Title { get; set; } + public string Subtitle { get; set; } + public Dictionary<string, string> Errors { get; set; } + public string TraceId { get; set; } + public string RequestId { get; set; } +}
\ No newline at end of file diff --git a/code/api/src/Data/Results/ErrorResult.cs b/code/api/src/Data/Results/ErrorResult.cs deleted file mode 100644 index fd2fd6a..0000000 --- a/code/api/src/Data/Results/ErrorResult.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace IOL.GreatOffice.Api.Data.Results; - -public class ErrorResult -{ - public ErrorResult(string title = default, string text = default) { - Title = title; - Text = text; - } - - public string Title { get; set; } - public string Text { get; set; } -} |
