refactor(architecture): harden module boundaries
Some checks failed
ci / release-gate (push) Has been cancelled
Some checks failed
ci / release-gate (push) Has been cancelled
This commit is contained in:
@@ -18,7 +18,7 @@ namespace Tiku.Api.Controllers;
|
||||
[Route("api/student/auth")]
|
||||
[Produces("application/json")]
|
||||
public sealed class AuthController(
|
||||
IAuthService authService,
|
||||
AuthCapabilitySet authCapabilities,
|
||||
IOwnerActivationService ownerActivationService,
|
||||
ISmsVerificationService smsVerificationService,
|
||||
AuthRequestContextResolver requestContextResolver,
|
||||
@@ -87,7 +87,7 @@ public sealed class AuthController(
|
||||
requestContextResolver.EnsureRouteRealm(realm, Request);
|
||||
var identifier = request.Identifier ?? request.Phone;
|
||||
if (string.IsNullOrWhiteSpace(identifier)) throw new RequiredFieldException("identifier is required.");
|
||||
var result = await authService.LoginWithPasswordAsync(
|
||||
var result = await authCapabilities.PasswordLogin.LoginWithPasswordAsync(
|
||||
new PasswordLoginRequest(
|
||||
realm,
|
||||
await requestContextResolver.ResolveRealmTenantIdAsync(realm, request.TenantCode, Request,
|
||||
@@ -114,7 +114,7 @@ public sealed class AuthController(
|
||||
{
|
||||
var realm = request.Realm!.Value;
|
||||
requestContextResolver.EnsureRouteRealm(realm, Request);
|
||||
var result = await authService.LoginWithSmsAsync(
|
||||
var result = await authCapabilities.SmsLogin.LoginWithSmsAsync(
|
||||
new SmsLoginRequest(
|
||||
realm,
|
||||
await requestContextResolver.ResolveRealmTenantIdAsync(realm, request.TenantCode, Request,
|
||||
@@ -141,7 +141,7 @@ public sealed class AuthController(
|
||||
{
|
||||
var realm = request.Realm!.Value;
|
||||
requestContextResolver.EnsureRouteRealm(realm, Request);
|
||||
var result = await authService.LoginWithWechatWebAsync(
|
||||
var result = await authCapabilities.WechatLogin.LoginWithWechatWebAsync(
|
||||
new WechatLoginRequest(
|
||||
realm,
|
||||
await requestContextResolver.ResolveRealmTenantIdAsync(realm, request.TenantCode, Request,
|
||||
@@ -167,7 +167,7 @@ public sealed class AuthController(
|
||||
{
|
||||
var realm = request.Realm!.Value;
|
||||
requestContextResolver.EnsureRouteRealm(realm, Request);
|
||||
var result = await authService.LoginWithWechatMiniAppAsync(
|
||||
var result = await authCapabilities.WechatLogin.LoginWithWechatMiniAppAsync(
|
||||
new WechatLoginRequest(
|
||||
realm,
|
||||
await requestContextResolver.ResolveRealmTenantIdAsync(realm, request.TenantCode, Request,
|
||||
@@ -189,7 +189,7 @@ public sealed class AuthController(
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
requestContextResolver.ResolveRefreshTokenTenant(request.RefreshToken, Request);
|
||||
var result = await authService.RefreshAsync(
|
||||
var result = await authCapabilities.Sessions.RefreshAsync(
|
||||
new RefreshSessionRequest(
|
||||
request.RefreshToken,
|
||||
GetIpAddress(),
|
||||
@@ -209,7 +209,7 @@ public sealed class AuthController(
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
requestContextResolver.ResolveRefreshTokenTenant(request.RefreshToken, Request);
|
||||
await authService.LogoutAsync(
|
||||
await authCapabilities.Sessions.LogoutAsync(
|
||||
new LogoutSessionRequest(request.RefreshToken),
|
||||
cancellationToken);
|
||||
|
||||
@@ -225,7 +225,7 @@ public sealed class AuthController(
|
||||
{
|
||||
if (currentUser.UserId is not { } userId) return Unauthorized();
|
||||
|
||||
await authService.LogoutAllAsync(userId, cancellationToken);
|
||||
await authCapabilities.Sessions.LogoutAllAsync(userId, cancellationToken);
|
||||
return NoContent();
|
||||
}
|
||||
|
||||
@@ -239,7 +239,7 @@ public sealed class AuthController(
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
requestContextResolver.ResolveAuthChallengeTenant(request.ChallengeToken, Request);
|
||||
var result = await authService.ChangeRequiredPasswordAsync(
|
||||
var result = await authCapabilities.PasswordLifecycle.ChangeRequiredPasswordAsync(
|
||||
new PasswordChangeChallengeRequest(
|
||||
request.ChallengeToken, request.NewPassword, GetIpAddress(), Request.Headers.UserAgent.ToString()),
|
||||
cancellationToken);
|
||||
@@ -259,7 +259,7 @@ public sealed class AuthController(
|
||||
var tenantId = await requestContextResolver.ResolveRealmTenantIdAsync(AuthRealm.Tenant, request.TenantCode,
|
||||
Request, cancellationToken)
|
||||
?? throw new RequiredFieldException("tenantCode is required for password reset.");
|
||||
var result = await authService.RequestPasswordResetAsync(
|
||||
var result = await authCapabilities.PasswordLifecycle.RequestPasswordResetAsync(
|
||||
new PasswordResetCodeRequest(
|
||||
tenantId,
|
||||
request.Phone,
|
||||
@@ -282,7 +282,7 @@ public sealed class AuthController(
|
||||
var tenantId = await requestContextResolver.ResolveRealmTenantIdAsync(AuthRealm.Tenant, request.TenantCode,
|
||||
Request, cancellationToken)
|
||||
?? throw new RequiredFieldException("tenantCode is required for password reset.");
|
||||
await authService.ResetPasswordAsync(
|
||||
await authCapabilities.PasswordLifecycle.ResetPasswordAsync(
|
||||
new PasswordResetRequest(
|
||||
tenantId,
|
||||
request.Phone,
|
||||
@@ -305,7 +305,7 @@ public sealed class AuthController(
|
||||
{
|
||||
if (currentUser.UserId is not { } userId || currentUser.SessionId is not { } sessionId) return Unauthorized();
|
||||
|
||||
var result = await authService.ChangePasswordAsync(
|
||||
var result = await authCapabilities.PasswordLifecycle.ChangePasswordAsync(
|
||||
new AuthenticatedPasswordChangeRequest(
|
||||
userId,
|
||||
sessionId,
|
||||
|
||||
Reference in New Issue
Block a user