diff --git a/packages/wyatt_architecture/models/class_model.png b/packages/wyatt_architecture/models/class_model.png new file mode 100644 index 00000000..ce666665 Binary files /dev/null and b/packages/wyatt_architecture/models/class_model.png differ diff --git a/packages/wyatt_architecture/models/class_model.puml b/packages/wyatt_architecture/models/class_model.puml new file mode 100644 index 00000000..d8f143b6 --- /dev/null +++ b/packages/wyatt_architecture/models/class_model.puml @@ -0,0 +1,86 @@ +@startuml +set namespaceSeparator :: + +abstract class "wyatt_architecture::src::core::exceptions::exceptions.dart::AppException" { + +String? message + +String toString() +} + +"dart::core::Exception" <|-- "wyatt_architecture::src::core::exceptions::exceptions.dart::AppException" + +class "wyatt_architecture::src::core::exceptions::exceptions.dart::ClientException" { +} + +"wyatt_architecture::src::core::exceptions::exceptions.dart::AppException" <|-- "wyatt_architecture::src::core::exceptions::exceptions.dart::ClientException" +class "wyatt_architecture::src::core::exceptions::exceptions.dart::ServerException" { +} + +"wyatt_architecture::src::core::exceptions::exceptions.dart::AppException" <|-- "wyatt_architecture::src::core::exceptions::exceptions.dart::ServerException" + +abstract class "wyatt_architecture::src::domain::repositories::base_repository.dart::BaseRepository" { +} + +abstract class "wyatt_architecture::src::domain::data_sources::local::base_local_data_source.dart::BaseLocalDataSource" { +} + +"wyatt_architecture::src::domain::data_sources::base_data_source.dart::BaseDataSource" <|-- "wyatt_architecture::src::domain::data_sources::local::base_local_data_source.dart::BaseLocalDataSource" + +abstract class "wyatt_architecture::src::domain::data_sources::base_data_source.dart::BaseDataSource" { +} + +abstract class "wyatt_architecture::src::domain::data_sources::remote::base_remote_data_source.dart::BaseRemoteDataSource" { +} + +"wyatt_architecture::src::domain::data_sources::base_data_source.dart::BaseDataSource" <|-- "wyatt_architecture::src::domain::data_sources::remote::base_remote_data_source.dart::BaseRemoteDataSource" + +class "wyatt_architecture::src::domain::usecases::no_param.dart::NoParam" { +} + +"wyatt_architecture::src::domain::entities::entity.dart::Entity" <|-- "wyatt_architecture::src::domain::usecases::no_param.dart::NoParam" + +abstract class "wyatt_architecture::src::domain::usecases::observers.dart::Observer" { + +FutureOr onStart() + +FutureOr onError() +} + +abstract class "wyatt_architecture::src::domain::usecases::observers.dart::AsyncObserver" { + +FutureOr onComplete() +} + +abstract class "wyatt_architecture::src::domain::usecases::observers.dart::StreamObserver" { + +void onDone() + +void onData() +} + +abstract class "wyatt_architecture::src::domain::usecases::usecase.dart::BaseUseCase" { + +ReturnType execute() + +ReturnType call() +} + +abstract class "wyatt_architecture::src::domain::usecases::usecase.dart::UseCase" { + -FutureOr _onSuccess() + +FutureOr> execute() +} + +"wyatt_architecture::src::domain::usecases::usecase.dart::BaseUseCase" <|-- "wyatt_architecture::src::domain::usecases::usecase.dart::UseCase" +"wyatt_architecture::src::domain::usecases::observers.dart::Observer" <|-- "wyatt_architecture::src::domain::usecases::usecase.dart::UseCase" + +abstract class "wyatt_architecture::src::domain::usecases::usecase.dart::AsyncUseCase" { + -FutureOr _onSuccess() +} + +"wyatt_architecture::src::domain::usecases::usecase.dart::UseCase" <|-- "wyatt_architecture::src::domain::usecases::usecase.dart::AsyncUseCase" +"wyatt_architecture::src::domain::usecases::observers.dart::AsyncObserver" <|-- "wyatt_architecture::src::domain::usecases::usecase.dart::AsyncUseCase" + +abstract class "wyatt_architecture::src::domain::usecases::usecase.dart::StreamUseCase" { + -FutureOr _onSuccess() +} + +"wyatt_architecture::src::domain::usecases::usecase.dart::UseCase" <|-- "wyatt_architecture::src::domain::usecases::usecase.dart::StreamUseCase" +"wyatt_architecture::src::domain::usecases::observers.dart::StreamObserver" <|-- "wyatt_architecture::src::domain::usecases::usecase.dart::StreamUseCase" + +abstract class "wyatt_architecture::src::domain::entities::entity.dart::Entity" { +} + + +@enduml \ No newline at end of file