From b7e39b59fd0fc7b5610ebff29035bf622079e0d8 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Wed, 5 Oct 2022 20:45:21 +0800 Subject: refactor: Change file structure --- server/src/Endpoints/V1/Labels/CreateLabelRoute.cs | 46 ---------------------- server/src/Endpoints/V1/Labels/DeleteLabelRoute.cs | 35 ---------------- server/src/Endpoints/V1/Labels/GetLabelRoute.cs | 34 ---------------- server/src/Endpoints/V1/Labels/UpdateLabelRoute.cs | 38 ------------------ 4 files changed, 153 deletions(-) delete mode 100644 server/src/Endpoints/V1/Labels/CreateLabelRoute.cs delete mode 100644 server/src/Endpoints/V1/Labels/DeleteLabelRoute.cs delete mode 100644 server/src/Endpoints/V1/Labels/GetLabelRoute.cs delete mode 100644 server/src/Endpoints/V1/Labels/UpdateLabelRoute.cs (limited to 'server/src/Endpoints/V1/Labels') diff --git a/server/src/Endpoints/V1/Labels/CreateLabelRoute.cs b/server/src/Endpoints/V1/Labels/CreateLabelRoute.cs deleted file mode 100644 index 31ef7d0..0000000 --- a/server/src/Endpoints/V1/Labels/CreateLabelRoute.cs +++ /dev/null @@ -1,46 +0,0 @@ - -namespace IOL.GreatOffice.Api.Endpoints.V1.Labels; - -/// -public class CreateLabelRoute : RouteBaseSync.WithRequest.WithActionResult -{ - private readonly AppDbContext _context; - - /// - public CreateLabelRoute(AppDbContext context) { - _context = context; - } - - /// - /// Create a time entry label. - /// - /// - /// - [ApiVersion(ApiSpecV1.VERSION_STRING)] - [BasicAuthentication(AppConstants.TOKEN_ALLOW_CREATE)] - [HttpPost("~/v{version:apiVersion}/labels/create")] - public override ActionResult Handle(TimeLabel.TimeLabelDto labelTimeLabelDto) { - var duplicate = _context.TimeLabels - .Where(c => c.UserId == LoggedInUser.Id) - .Any(c => c.Name.Trim() == labelTimeLabelDto.Name.Trim()); - if (duplicate) { - var label = _context.TimeLabels - .Where(c => c.UserId == LoggedInUser.Id) - .SingleOrDefault(c => c.Name.Trim() == labelTimeLabelDto.Name.Trim()); - - if (label != default) { - return Ok(label.AsDto); - } - } - - var newLabel = new TimeLabel(LoggedInUser.Id) { - Name = labelTimeLabelDto.Name.Trim(), - Color = labelTimeLabelDto.Color - }; - - _context.TimeLabels.Add(newLabel); - _context.SaveChanges(); - labelTimeLabelDto.Id = newLabel.Id; - return Ok(labelTimeLabelDto); - } -} diff --git a/server/src/Endpoints/V1/Labels/DeleteLabelRoute.cs b/server/src/Endpoints/V1/Labels/DeleteLabelRoute.cs deleted file mode 100644 index d845a6f..0000000 --- a/server/src/Endpoints/V1/Labels/DeleteLabelRoute.cs +++ /dev/null @@ -1,35 +0,0 @@ - -namespace IOL.GreatOffice.Api.Endpoints.V1.Labels; - -/// -public class DeleteLabelEndpoint : RouteBaseSync.WithRequest.WithActionResult -{ - private readonly AppDbContext _context; - - /// - public DeleteLabelEndpoint(AppDbContext context) { - _context = context; - } - - /// - /// Delete a time entry label. - /// - /// - /// - [ApiVersion(ApiSpecV1.VERSION_STRING)] - [BasicAuthentication(AppConstants.TOKEN_ALLOW_DELETE)] - [HttpDelete("~/v{version:apiVersion}/labels/{id:guid}/delete")] - public override ActionResult Handle(Guid id) { - var label = _context.TimeLabels - .Where(c => c.UserId == LoggedInUser.Id) - .SingleOrDefault(c => c.Id == id); - - if (label == default) { - return NotFound(); - } - - _context.TimeLabels.Remove(label); - _context.SaveChanges(); - return Ok(); - } -} diff --git a/server/src/Endpoints/V1/Labels/GetLabelRoute.cs b/server/src/Endpoints/V1/Labels/GetLabelRoute.cs deleted file mode 100644 index c9ccef3..0000000 --- a/server/src/Endpoints/V1/Labels/GetLabelRoute.cs +++ /dev/null @@ -1,34 +0,0 @@ - -namespace IOL.GreatOffice.Api.Endpoints.V1.Labels; - -/// -public class GetEndpoint : RouteBaseSync.WithoutRequest.WithActionResult> -{ - private readonly AppDbContext _context; - - /// - public GetEndpoint(AppDbContext context) { - _context = context; - } - - /// - /// Get a minimal list of time entry labels. - /// - /// - [ApiVersion(ApiSpecV1.VERSION_STRING)] - [BasicAuthentication(AppConstants.TOKEN_ALLOW_READ)] - [HttpGet("~/v{version:apiVersion}/labels")] - public override ActionResult> Handle() { - var labels = _context.TimeLabels - .Where(c => c.UserId == LoggedInUser.Id) - .OrderByDescending(c => c.CreatedAt) - .Select(c => c.AsDto) - .ToList(); - - if (labels.Count == 0) { - return NoContent(); - } - - return Ok(labels); - } -} diff --git a/server/src/Endpoints/V1/Labels/UpdateLabelRoute.cs b/server/src/Endpoints/V1/Labels/UpdateLabelRoute.cs deleted file mode 100644 index 30d72ec..0000000 --- a/server/src/Endpoints/V1/Labels/UpdateLabelRoute.cs +++ /dev/null @@ -1,38 +0,0 @@ -namespace IOL.GreatOffice.Api.Endpoints.V1.Labels; - -/// -public class UpdateLabelEndpoint : RouteBaseSync.WithRequest.WithActionResult -{ - private readonly AppDbContext _context; - - /// - public UpdateLabelEndpoint(AppDbContext context) { - _context = context; - } - - /// - /// Update a time entry label. - /// - /// - /// - [ApiVersion(ApiSpecV1.VERSION_STRING)] - [BasicAuthentication(AppConstants.TOKEN_ALLOW_UPDATE)] - [HttpPost("~/v{version:apiVersion}/labels/update")] - public override ActionResult Handle(TimeLabel.TimeLabelDto labelTimeLabelDto) { - var label = _context.TimeLabels - .Where(c => c.UserId == LoggedInUser.Id) - .SingleOrDefault(c => c.Id == labelTimeLabelDto.Id); - if (label == default) { - return NotFound(); - } - - if (LoggedInUser.Id != label.UserId) { - return Forbid(); - } - - label.Name = labelTimeLabelDto.Name; - label.Color = labelTimeLabelDto.Color; - _context.SaveChanges(); - return Ok(); - } -} -- cgit v1.3