implemented auth repository and service in dart (JWT)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import 'package:backend_dart/domain/entities/project.dart';
|
||||
import 'package:backend_dart/domain/interface/error.dart';
|
||||
import 'package:backend_dart/domain/errors/error.dart';
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
|
||||
/// Interface for managing project data interactions.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:backend_dart/domain/entities/project_task.dart';
|
||||
import 'package:backend_dart/domain/interface/error.dart';
|
||||
import 'package:backend_dart/domain/errors/error.dart';
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
|
||||
/// Interface for managing task data interactions.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:backend_dart/domain/entities/time_entry.dart';
|
||||
import 'package:backend_dart/domain/interface/error.dart';
|
||||
import 'package:backend_dart/domain/errors/error.dart';
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
|
||||
/// Interface for managing time entry data interactions.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:backend_dart/domain/entities/user.dart';
|
||||
import 'package:backend_dart/domain/interface/error.dart';
|
||||
import 'package:backend_dart/domain/errors/error.dart';
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
|
||||
abstract class UserDataSource {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:backend_dart/domain/interface/error.dart';
|
||||
import 'package:backend_dart/domain/errors/error.dart';
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'error_code.dart';
|
||||
|
||||
@@ -48,4 +48,8 @@ class AppError with _$AppError implements IError {
|
||||
factory AppError.inputError({String? message}) {
|
||||
return AppError.fromErrorCode(ErrorCode.inputError, message: message);
|
||||
}
|
||||
|
||||
factory AppError.authenticationError({String? message}) {
|
||||
return AppError.fromErrorCode(ErrorCode.authenticationError, message: message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ enum ErrorCode {
|
||||
validationError, // Eingabevalidierungsfehler
|
||||
unexpectedError, // Unerwarteter Fehler
|
||||
authenticationError, // Authentifizierungsfehler
|
||||
authorizationError, // Autorisierungsfehler
|
||||
permissionDenied, // Berechtigungsfehler
|
||||
notFound, // Ressource nicht gefunden
|
||||
exception, // Ausnahme
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
import 'package:backend_dart/domain/interface/error.dart';
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
|
||||
abstract class IMapper<U, V> {
|
||||
/// Konvertiert von Typ U (Origin) zu Typ V (Target)
|
||||
TaskEither<IError, V> to(U origin);
|
||||
|
||||
/// Konvertiert von Typ V (Target) zu Typ U (Origin)
|
||||
TaskEither<IError, U> from(V target);
|
||||
|
||||
/// Konvertiert eine Liste von Typ U (Origin) zu einer Liste von Typ V (Target)
|
||||
TaskEither<IError, List<V>> listTo(Iterable<U> origins);
|
||||
|
||||
/// Konvertiert eine Liste von Typ V (Target) zu einer Liste von Typ U (Origin)
|
||||
TaskEither<IError, List<U>> listFrom(Iterable<V> targets);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
import 'package:backend_dart/domain/errors/error.dart';
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
|
||||
abstract class AuthRepository {
|
||||
TaskEither<IError, String> generateToken(String userId);
|
||||
TaskEither<IError, String> validateToken(String token);
|
||||
TaskEither<IError, void> revokeToken(String token);
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
import 'package:backend_dart/domain/entities/project.dart';
|
||||
import 'package:backend_dart/domain/interface/error.dart';
|
||||
import 'package:backend_dart/domain/errors/error.dart';
|
||||
|
||||
abstract class ProjectRepository {
|
||||
/// Creates a new project.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
import 'package:backend_dart/domain/entities/project_task.dart';
|
||||
import 'package:backend_dart/domain/interface/error.dart';
|
||||
import 'package:backend_dart/domain/errors/error.dart';
|
||||
|
||||
abstract class ProjectTaskRepository {
|
||||
/// Creates a new project task.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
import 'package:backend_dart/domain/entities/time_entry.dart';
|
||||
import 'package:backend_dart/domain/interface/error.dart';
|
||||
import 'package:backend_dart/domain/errors/error.dart';
|
||||
|
||||
abstract class TimeEntryRepository {
|
||||
/// Creates a new time entry.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:backend_dart/domain/entities/user.dart';
|
||||
import 'package:backend_dart/domain/interface/error.dart';
|
||||
import 'package:backend_dart/domain/errors/error.dart';
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
|
||||
abstract class UserRepository {
|
||||
|
||||
Reference in New Issue
Block a user