♻️ Extract the Storage service to DysonNetwork.Drive microservice
This commit is contained in:
		| @@ -46,7 +46,7 @@ public class AccountCurrentController( | ||||
|     [HttpPatch] | ||||
|     public async Task<ActionResult<Account>> UpdateBasicInfo([FromBody] BasicInfoRequest request) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var account = await db.Accounts.FirstAsync(a => a.Id == currentUser.Id); | ||||
|  | ||||
| @@ -77,7 +77,7 @@ public class AccountCurrentController( | ||||
|     [HttpPatch("profile")] | ||||
|     public async Task<ActionResult<Profile>> UpdateProfile([FromBody] ProfileRequest request) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|         var userId = currentUser.Id; | ||||
|  | ||||
|         var profile = await db.AccountProfiles | ||||
| @@ -162,7 +162,7 @@ public class AccountCurrentController( | ||||
|     [HttpDelete] | ||||
|     public async Task<ActionResult> RequestDeleteAccount() | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         try | ||||
|         { | ||||
| @@ -179,7 +179,7 @@ public class AccountCurrentController( | ||||
|     [HttpGet("statuses")] | ||||
|     public async Task<ActionResult<Status>> GetCurrentStatus() | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|         var status = await events.GetStatus(currentUser.Id); | ||||
|         return Ok(status); | ||||
|     } | ||||
| @@ -188,7 +188,7 @@ public class AccountCurrentController( | ||||
|     [RequiredPermission("global", "accounts.statuses.update")] | ||||
|     public async Task<ActionResult<Status>> UpdateStatus([FromBody] AccountController.StatusRequest request) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var now = SystemClock.Instance.GetCurrentInstant(); | ||||
|         var status = await db.AccountStatuses | ||||
| @@ -212,10 +212,10 @@ public class AccountCurrentController( | ||||
|     } | ||||
|  | ||||
|     [HttpPost("statuses")] | ||||
|     [RequiredPermission("global", "accounts.statuses.create")] | ||||
|     [DysonNetwork.Sphere.Permission.RequiredPermission("global", "accounts.statuses.create")] | ||||
|     public async Task<ActionResult<Status>> CreateStatus([FromBody] AccountController.StatusRequest request) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var status = new Status | ||||
|         { | ||||
| @@ -233,7 +233,7 @@ public class AccountCurrentController( | ||||
|     [HttpDelete("me/statuses")] | ||||
|     public async Task<ActionResult> DeleteStatus() | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var now = SystemClock.Instance.GetCurrentInstant(); | ||||
|         var status = await db.AccountStatuses | ||||
| @@ -250,7 +250,7 @@ public class AccountCurrentController( | ||||
|     [HttpGet("check-in")] | ||||
|     public async Task<ActionResult<CheckInResult>> GetCheckInResult() | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|         var userId = currentUser.Id; | ||||
|  | ||||
|         var now = SystemClock.Instance.GetCurrentInstant(); | ||||
| @@ -270,7 +270,7 @@ public class AccountCurrentController( | ||||
|     [HttpPost("check-in")] | ||||
|     public async Task<ActionResult<CheckInResult>> DoCheckIn([FromBody] string? captchaToken) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var isAvailable = await events.CheckInDailyIsAvailable(currentUser); | ||||
|         if (!isAvailable) | ||||
| @@ -297,7 +297,7 @@ public class AccountCurrentController( | ||||
|     public async Task<ActionResult<List<DailyEventResponse>>> GetEventCalendar([FromQuery] int? month, | ||||
|         [FromQuery] int? year) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var currentDate = SystemClock.Instance.GetCurrentInstant().InUtc().Date; | ||||
|         month ??= currentDate.Month; | ||||
| @@ -318,7 +318,7 @@ public class AccountCurrentController( | ||||
|         [FromQuery] int offset = 0 | ||||
|     ) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var query = db.ActionLogs | ||||
|             .Where(log => log.AccountId == currentUser.Id) | ||||
| @@ -338,7 +338,7 @@ public class AccountCurrentController( | ||||
|     [HttpGet("factors")] | ||||
|     public async Task<ActionResult<List<AccountAuthFactor>>> GetAuthFactors() | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var factors = await db.AccountAuthFactors | ||||
|             .Include(f => f.Account) | ||||
| @@ -358,7 +358,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<AccountAuthFactor>> CreateAuthFactor([FromBody] AuthFactorRequest request) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|         if (await accounts.CheckAuthFactorExists(currentUser, request.Type)) | ||||
|             return BadRequest($"Auth factor with type {request.Type} is already exists."); | ||||
|  | ||||
| @@ -370,7 +370,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<AccountAuthFactor>> EnableAuthFactor(Guid id, [FromBody] string? code) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var factor = await db.AccountAuthFactors | ||||
|             .Where(f => f.AccountId == currentUser.Id && f.Id == id) | ||||
| @@ -392,7 +392,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<AccountAuthFactor>> DisableAuthFactor(Guid id) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var factor = await db.AccountAuthFactors | ||||
|             .Where(f => f.AccountId == currentUser.Id && f.Id == id) | ||||
| @@ -414,7 +414,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<AccountAuthFactor>> DeleteAuthFactor(Guid id) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var factor = await db.AccountAuthFactors | ||||
|             .Where(f => f.AccountId == currentUser.Id && f.Id == id) | ||||
| @@ -445,7 +445,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<List<AuthorizedDevice>>> GetDevices() | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser || | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser || | ||||
|             HttpContext.Items["CurrentSession"] is not Session currentSession) return Unauthorized(); | ||||
|  | ||||
|         Response.Headers.Append("X-Auth-Session", currentSession.Id.ToString()); | ||||
| @@ -475,13 +475,13 @@ public class AccountCurrentController( | ||||
|  | ||||
|     [HttpGet("sessions")] | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<List<Session>>> GetSessions( | ||||
|     public async Task<ActionResult<List<AuthSession>>> GetSessions( | ||||
|         [FromQuery] int take = 20, | ||||
|         [FromQuery] int offset = 0 | ||||
|     ) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser || | ||||
|             HttpContext.Items["CurrentSession"] is not Session currentSession) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser || | ||||
|             HttpContext.Items["CurrentSession"] is not AuthSession currentSession) return Unauthorized(); | ||||
|  | ||||
|         var query = db.AuthSessions | ||||
|             .Include(session => session.Account) | ||||
| @@ -505,7 +505,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<Session>> DeleteSession(Guid id) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         try | ||||
|         { | ||||
| @@ -522,7 +522,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<Session>> DeleteCurrentSession() | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser || | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser || | ||||
|             HttpContext.Items["CurrentSession"] is not Session currentSession) return Unauthorized(); | ||||
|  | ||||
|         try | ||||
| @@ -537,9 +537,9 @@ public class AccountCurrentController( | ||||
|     } | ||||
|  | ||||
|     [HttpPatch("sessions/{id:guid}/label")] | ||||
|     public async Task<ActionResult<Session>> UpdateSessionLabel(Guid id, [FromBody] string label) | ||||
|     public async Task<ActionResult<AuthSession>> UpdateSessionLabel(Guid id, [FromBody] string label) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         try | ||||
|         { | ||||
| @@ -553,9 +553,9 @@ public class AccountCurrentController( | ||||
|     } | ||||
|  | ||||
|     [HttpPatch("sessions/current/label")] | ||||
|     public async Task<ActionResult<Session>> UpdateCurrentSessionLabel([FromBody] string label) | ||||
|     public async Task<ActionResult<AuthSession>> UpdateCurrentSessionLabel([FromBody] string label) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser || | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser || | ||||
|             HttpContext.Items["CurrentSession"] is not Session currentSession) return Unauthorized(); | ||||
|  | ||||
|         try | ||||
| @@ -573,7 +573,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<List<AccountContact>>> GetContacts() | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var contacts = await db.AccountContacts | ||||
|             .Where(c => c.AccountId == currentUser.Id) | ||||
| @@ -592,7 +592,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<AccountContact>> CreateContact([FromBody] AccountContactRequest request) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         try | ||||
|         { | ||||
| @@ -609,7 +609,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<AccountContact>> VerifyContact(Guid id) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var contact = await db.AccountContacts | ||||
|             .Where(c => c.AccountId == currentUser.Id && c.Id == id) | ||||
| @@ -631,7 +631,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<AccountContact>> SetPrimaryContact(Guid id) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var contact = await db.AccountContacts | ||||
|             .Where(c => c.AccountId == currentUser.Id && c.Id == id) | ||||
| @@ -653,7 +653,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<AccountContact>> DeleteContact(Guid id) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var contact = await db.AccountContacts | ||||
|             .Where(c => c.AccountId == currentUser.Id && c.Id == id) | ||||
| @@ -676,7 +676,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<List<Badge>>> GetBadges() | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         var badges = await db.Badges | ||||
|             .Where(b => b.AccountId == currentUser.Id) | ||||
| @@ -688,7 +688,7 @@ public class AccountCurrentController( | ||||
|     [Authorize] | ||||
|     public async Task<ActionResult<Badge>> ActivateBadge(Guid id) | ||||
|     { | ||||
|         if (HttpContext.Items["CurrentUser"] is not Account currentUser) return Unauthorized(); | ||||
|         if (HttpContext.Items["CurrentUser"] is not Common.Models.Account currentUser) return Unauthorized(); | ||||
|  | ||||
|         try | ||||
|         { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user