website refactor

This commit is contained in:
2026-01-16 13:48:18 +01:00
parent 20a42c52fd
commit 7e02fc3ea5
796 changed files with 1946 additions and 2545 deletions

View File

@@ -39,7 +39,7 @@ export interface UserListResult {
* Output port for user management operations
* Implemented by infrastructure layer
*/
export interface IAdminUserRepository {
export interface AdminUserRepository {
findById(id: UserId): Promise<AdminUser | null>;
findByEmail(email: Email): Promise<AdminUser | null>;
emailExists(email: Email): Promise<boolean>;

View File

@@ -1,6 +1,6 @@
import { vi, describe, it, expect, beforeEach } from 'vitest';
import { ListUsersUseCase, ListUsersResult } from './ListUsersUseCase';
import { IAdminUserRepository } from '../ports/IAdminUserRepository';
import { AdminUserRepository } from '../ports/AdminUserRepository';
import { AdminUser } from '../../domain/entities/AdminUser';
import { AuthorizationService } from '../../domain/services/AuthorizationService';

View File

@@ -1,6 +1,6 @@
import { Result } from '@core/shared/application/Result';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { IAdminUserRepository } from '../ports/IAdminUserRepository';
import type { AdminUserRepository } from '../ports/AdminUserRepository';
import { AuthorizationService } from '../../domain/services/AuthorizationService';
import { UserId } from '../../domain/value-objects/UserId';
import { UserRole } from '../../domain/value-objects/UserRole';

View File

@@ -1,4 +1,4 @@
import type { IEntity } from '@core/shared/domain';
import type { Entity } from '@core/shared/domain';
import { UserId } from '../value-objects/UserId';
import { Email } from '../value-objects/Email';
import { UserRole } from '../value-objects/UserRole';
@@ -17,7 +17,7 @@ export interface AdminUserProps {
primaryDriverId: string | undefined;
}
export class AdminUser implements IEntity<UserId> {
export class AdminUser implements Entity<UserId> {
readonly id: UserId;
private _email: Email;
private _roles: UserRole[];

View File

@@ -1,6 +1,6 @@
import type { IDomainError, CommonDomainErrorKind } from '@core/shared/errors';
import type { DomainError, CommonDomainErrorKind } from '@core/shared/errors';
export abstract class AdminDomainError extends Error implements IDomainError<CommonDomainErrorKind> {
export abstract class AdminDomainError extends Error implements DomainError<CommonDomainErrorKind> {
readonly type = 'domain' as const;
readonly context = 'admin-domain';
abstract readonly kind: CommonDomainErrorKind;
@@ -13,7 +13,7 @@ export abstract class AdminDomainError extends Error implements IDomainError<Com
export class AdminDomainValidationError
extends AdminDomainError
implements IDomainError<'validation'>
implements DomainError<'validation'>
{
readonly kind = 'validation' as const;
@@ -24,7 +24,7 @@ export class AdminDomainValidationError
export class AdminDomainInvariantError
extends AdminDomainError
implements IDomainError<'invariant'>
implements DomainError<'invariant'>
{
readonly kind = 'invariant' as const;
@@ -35,7 +35,7 @@ export class AdminDomainInvariantError
export class AuthorizationError
extends AdminDomainError
implements IDomainError<'authorization'>
implements DomainError<'authorization'>
{
readonly kind = 'authorization' as const;

View File

@@ -51,7 +51,7 @@ export interface StoredAdminUser {
* Repository interface for AdminUser entity
* Follows clean architecture - this is an output port from application layer
*/
export interface IAdminUserRepository {
export interface AdminUserRepository {
/**
* Find user by ID
*/

View File

@@ -1,11 +1,11 @@
import { IValueObject } from '@core/shared/domain';
import { ValueObject } from '@core/shared/domain';
import { AdminDomainValidationError } from '../errors/AdminDomainError';
export interface EmailProps {
value: string;
}
export class Email implements IValueObject<EmailProps> {
export class Email implements ValueObject<EmailProps> {
readonly value: string;
private constructor(value: string) {

View File

@@ -1,11 +1,11 @@
import { IValueObject } from '@core/shared/domain';
import { ValueObject } from '@core/shared/domain';
import { AdminDomainValidationError } from '../errors/AdminDomainError';
export interface UserIdProps {
value: string;
}
export class UserId implements IValueObject<UserIdProps> {
export class UserId implements ValueObject<UserIdProps> {
readonly value: string;
private constructor(value: string) {

View File

@@ -1,4 +1,4 @@
import { IValueObject } from '@core/shared/domain';
import { ValueObject } from '@core/shared/domain';
import { AdminDomainValidationError } from '../errors/AdminDomainError';
export type UserRoleValue = string;
@@ -7,7 +7,7 @@ export interface UserRoleProps {
value: UserRoleValue;
}
export class UserRole implements IValueObject<UserRoleProps> {
export class UserRole implements ValueObject<UserRoleProps> {
readonly value: UserRoleValue;
private constructor(value: UserRoleValue) {

View File

@@ -1,4 +1,4 @@
import { IValueObject } from '@core/shared/domain';
import { ValueObject } from '@core/shared/domain';
import { AdminDomainValidationError } from '../errors/AdminDomainError';
export type UserStatusValue = string;
@@ -7,7 +7,7 @@ export interface UserStatusProps {
value: UserStatusValue;
}
export class UserStatus implements IValueObject<UserStatusProps> {
export class UserStatus implements ValueObject<UserStatusProps> {
readonly value: UserStatusValue;
private constructor(value: UserStatusValue) {

View File

@@ -1,4 +1,4 @@
import { IAdminUserRepository, UserFilter, UserListQuery, UserListResult, StoredAdminUser } from '../../domain/repositories/IAdminUserRepository';
import { AdminUserRepository, UserFilter, UserListQuery, UserListResult, StoredAdminUser } from '../../domain/repositories/AdminUserRepository';
import { AdminUser } from '../../domain/entities/AdminUser';
import { UserId } from '../../domain/value-objects/UserId';
import { Email } from '../../domain/value-objects/Email';
@@ -7,7 +7,7 @@ import { Email } from '../../domain/value-objects/Email';
* In-memory implementation of AdminUserRepository for testing and development
* Follows TDD - created with tests first
*/
export class InMemoryAdminUserRepository implements IAdminUserRepository {
export class InMemoryAdminUserRepository implements AdminUserRepository {
private storage: Map<string, StoredAdminUser> = new Map();
async findById(id: UserId): Promise<AdminUser | null> {

View File

@@ -1,12 +1,12 @@
import type { DataSource, Repository } from 'typeorm';
import type { IAdminUserRepository, UserListQuery, UserListResult, UserFilter, StoredAdminUser } from '@core/admin/domain/repositories/IAdminUserRepository';
import type { AdminUserRepository, UserListQuery, UserListResult, UserFilter, StoredAdminUser } from '@core/admin/domain/repositories/AdminUserRepository';
import { AdminUser } from '@core/admin/domain/entities/AdminUser';
import { AdminUserOrmEntity } from '../entities/AdminUserOrmEntity';
import { AdminUserOrmMapper } from '../mappers/AdminUserOrmMapper';
import { Email } from '@core/admin/domain/value-objects/Email';
import { UserId } from '@core/admin/domain/value-objects/UserId';
export class TypeOrmAdminUserRepository implements IAdminUserRepository {
export class TypeOrmAdminUserRepository implements AdminUserRepository {
private readonly repository: Repository<AdminUserOrmEntity>;
private readonly mapper: AdminUserOrmMapper;