├── .eslintignore ├── .github └── diagram.png ├── .gitignore ├── README.md ├── docker-compose.yml ├── jest.config.js ├── lerna.json ├── package.json ├── packages └── server │ ├── .eslintrc.json │ ├── _shared │ ├── package.json │ ├── src │ │ └── core │ │ │ ├── domain │ │ │ ├── AggregateRoot.ts │ │ │ ├── Entity.ts │ │ │ ├── UniqueEntityID.ts │ │ │ ├── UseCase.ts │ │ │ ├── ValueObject.ts │ │ │ ├── WatchedList.ts │ │ │ └── events │ │ │ │ ├── DomainEvents.ts │ │ │ │ ├── IDomainEvent.ts │ │ │ │ └── IHandle.ts │ │ │ ├── infra │ │ │ ├── BaseController.ts │ │ │ └── Mapper.ts │ │ │ └── logic │ │ │ ├── AppError.ts │ │ │ ├── Guard.ts │ │ │ ├── Result.ts │ │ │ └── UseCaseError.ts │ └── tsconfig.json │ ├── atlas │ ├── .env.example │ ├── Dockerfile │ ├── jest.config.js │ ├── package.json │ ├── prisma │ │ ├── .env │ │ ├── migrations │ │ │ ├── 20200515170312-create-users │ │ │ │ ├── README.md │ │ │ │ ├── schema.prisma │ │ │ │ └── steps.json │ │ │ ├── 20200603231715-create_teams_and_addresses │ │ │ │ ├── README.md │ │ │ │ ├── schema.prisma │ │ │ │ └── steps.json │ │ │ ├── 20200603234442-create_user_email_history │ │ │ │ ├── README.md │ │ │ │ ├── schema.prisma │ │ │ │ └── steps.json │ │ │ ├── 20200604122553-add_cascade_on_deletes │ │ │ │ ├── README.md │ │ │ │ ├── schema.prisma │ │ │ │ └── steps.json │ │ │ └── migrate.lock │ │ └── schema.prisma │ ├── src │ │ ├── config │ │ │ ├── app.ts │ │ │ └── auth.ts │ │ ├── index.ts │ │ ├── infra │ │ │ ├── http │ │ │ │ ├── routes.ts │ │ │ │ └── server.ts │ │ │ ├── kafka │ │ │ │ └── client.ts │ │ │ └── prisma │ │ │ │ └── client.ts │ │ └── modules │ │ │ └── users │ │ │ ├── domain │ │ │ ├── JWT.ts │ │ │ ├── Team.ts │ │ │ ├── User.ts │ │ │ ├── UserEmail.ts │ │ │ ├── UserPassword.ts │ │ │ └── events │ │ │ │ ├── UserCreatedEvent.ts │ │ │ │ ├── UserEmailChangedEvent.ts │ │ │ │ └── UserLoggedInEvent.ts │ │ │ ├── index.ts │ │ │ ├── infra │ │ │ ├── http │ │ │ │ └── routes │ │ │ │ │ └── index.ts │ │ │ └── prisma │ │ │ │ └── PrismaUserRepo.ts │ │ │ ├── mappers │ │ │ └── UserMap.ts │ │ │ ├── repositories │ │ │ ├── IUserRepo.ts │ │ │ └── fakes │ │ │ │ └── FakeUserRepo.ts │ │ │ ├── services │ │ │ ├── index.ts │ │ │ └── umbriel │ │ │ │ ├── IUmbrielService.ts │ │ │ │ └── implementations │ │ │ │ └── UmbrielService.ts │ │ │ ├── subscribers │ │ │ ├── AfterUserCreated.ts │ │ │ ├── AfterUserEmailChanged.ts │ │ │ ├── AfterUserLoggedIn.ts │ │ │ └── index.ts │ │ │ └── useCases │ │ │ ├── createUser │ │ │ ├── CreateUserController.ts │ │ │ ├── CreateUserErrors.ts │ │ │ ├── CreateUserUseCase.ts │ │ │ ├── ICreateUserDTO.ts │ │ │ └── index.ts │ │ │ ├── login │ │ │ ├── ILoginDTO.ts │ │ │ ├── LoginController.ts │ │ │ ├── LoginErrors.ts │ │ │ ├── LoginUseCase.spec.ts │ │ │ ├── LoginUseCase.ts │ │ │ └── index.ts │ │ │ └── subscribeUserToMailing │ │ │ ├── ISubscribeUserToMailingDTO.ts │ │ │ ├── SubscribeUserToMailingErrors.ts │ │ │ ├── SubscribeUserToMailingUseCase.ts │ │ │ └── index.ts │ ├── tsconfig.json │ └── yarn.lock │ ├── babel.config.js │ ├── hermod │ ├── package.json │ └── src │ │ └── index.ts │ ├── mercury │ ├── jest.config.js │ ├── package.json │ ├── src │ │ └── consumer.ts │ └── tsconfig.json │ └── umbriel │ ├── jest.config.js │ ├── package.json │ ├── prisma │ ├── migrations │ │ ├── 20200609124237-create_base_templates │ │ │ ├── README.md │ │ │ ├── schema.prisma │ │ │ └── steps.json │ │ ├── 20200611222402-add_slug_to_tags │ │ │ ├── README.md │ │ │ ├── schema.prisma │ │ │ └── steps.json │ │ └── migrate.lock │ └── schema.prisma │ ├── src │ ├── index.ts │ ├── infra │ │ ├── http │ │ │ ├── routes.ts │ │ │ └── server.ts │ │ ├── kafka │ │ │ ├── client.ts │ │ │ └── consumers.ts │ │ └── prisma │ │ │ └── client.ts │ └── modules │ │ └── contacts │ │ ├── domain │ │ ├── Contact.ts │ │ ├── ContactEmail.ts │ │ ├── ContactSubscription.ts │ │ ├── ContactSubscriptions.ts │ │ ├── Tag.ts │ │ └── TagSlug.ts │ │ ├── index.ts │ │ ├── infra │ │ ├── http │ │ │ ├── contacts.ts │ │ │ └── index.ts │ │ ├── kafka │ │ │ └── consumers │ │ │ │ ├── AddUserToTeamConsumer.ts │ │ │ │ └── index.ts │ │ └── prisma │ │ │ ├── PrismaContactRepo.ts │ │ │ ├── PrismaContactSubscriptionsRepo.ts │ │ │ └── PrismaTagRepo.ts │ │ ├── mappers │ │ ├── ContactMap.ts │ │ ├── ContactSubscriptionMap.ts │ │ └── TagMap.ts │ │ ├── repositories │ │ ├── IContactRepo.ts │ │ ├── IContactSubscriptionsRepo.ts │ │ └── ITagRepo.ts │ │ └── useCases │ │ └── contacts │ │ ├── getContacts │ │ ├── GetContactsController.ts │ │ ├── GetContactsDTO.ts │ │ ├── GetContactsUseCase.ts │ │ └── index.ts │ │ └── subscribeContact │ │ ├── SubscribeContactController.ts │ │ ├── SubscribeContactDTO.ts │ │ ├── SubscribeContactErrors.ts │ │ ├── SubscribeContactUseCase.spec.ts │ │ ├── SubscribeContactUseCase.ts │ │ └── index.ts │ ├── tsconfig.json │ └── yarn.lock ├── prettier.config.js ├── tsconfig.json └── yarn.lock /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | *.js -------------------------------------------------------------------------------- /.github/diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/.github/diagram.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/jest.config.js -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/lerna.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/package.json -------------------------------------------------------------------------------- /packages/server/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/.eslintrc.json -------------------------------------------------------------------------------- /packages/server/_shared/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/package.json -------------------------------------------------------------------------------- /packages/server/_shared/src/core/domain/AggregateRoot.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/domain/AggregateRoot.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/domain/Entity.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/domain/Entity.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/domain/UniqueEntityID.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/domain/UniqueEntityID.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/domain/UseCase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/domain/UseCase.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/domain/ValueObject.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/domain/ValueObject.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/domain/WatchedList.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/domain/WatchedList.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/domain/events/DomainEvents.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/domain/events/DomainEvents.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/domain/events/IDomainEvent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/domain/events/IDomainEvent.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/domain/events/IHandle.ts: -------------------------------------------------------------------------------- 1 | export interface IHandle { 2 | setupSubscriptions(): void; 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/_shared/src/core/infra/BaseController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/infra/BaseController.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/infra/Mapper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/infra/Mapper.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/logic/AppError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/logic/AppError.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/logic/Guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/logic/Guard.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/logic/Result.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/logic/Result.ts -------------------------------------------------------------------------------- /packages/server/_shared/src/core/logic/UseCaseError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/src/core/logic/UseCaseError.ts -------------------------------------------------------------------------------- /packages/server/_shared/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/_shared/tsconfig.json -------------------------------------------------------------------------------- /packages/server/atlas/.env.example: -------------------------------------------------------------------------------- 1 | APP_SECRET=myappsecret -------------------------------------------------------------------------------- /packages/server/atlas/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/Dockerfile -------------------------------------------------------------------------------- /packages/server/atlas/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/jest.config.js -------------------------------------------------------------------------------- /packages/server/atlas/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/package.json -------------------------------------------------------------------------------- /packages/server/atlas/prisma/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/.env -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200515170312-create-users/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200515170312-create-users/README.md -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200515170312-create-users/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200515170312-create-users/schema.prisma -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200515170312-create-users/steps.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200515170312-create-users/steps.json -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200603231715-create_teams_and_addresses/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200603231715-create_teams_and_addresses/README.md -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200603231715-create_teams_and_addresses/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200603231715-create_teams_and_addresses/schema.prisma -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200603231715-create_teams_and_addresses/steps.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200603231715-create_teams_and_addresses/steps.json -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200603234442-create_user_email_history/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200603234442-create_user_email_history/README.md -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200603234442-create_user_email_history/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200603234442-create_user_email_history/schema.prisma -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200603234442-create_user_email_history/steps.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200603234442-create_user_email_history/steps.json -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200604122553-add_cascade_on_deletes/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200604122553-add_cascade_on_deletes/README.md -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200604122553-add_cascade_on_deletes/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200604122553-add_cascade_on_deletes/schema.prisma -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/20200604122553-add_cascade_on_deletes/steps.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/20200604122553-add_cascade_on_deletes/steps.json -------------------------------------------------------------------------------- /packages/server/atlas/prisma/migrations/migrate.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/migrations/migrate.lock -------------------------------------------------------------------------------- /packages/server/atlas/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/prisma/schema.prisma -------------------------------------------------------------------------------- /packages/server/atlas/src/config/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/config/app.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/config/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/config/auth.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/index.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/infra/http/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/infra/http/routes.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/infra/http/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/infra/http/server.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/infra/kafka/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/infra/kafka/client.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/infra/prisma/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/infra/prisma/client.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/domain/JWT.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/domain/JWT.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/domain/Team.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/domain/Team.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/domain/User.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/domain/User.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/domain/UserEmail.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/domain/UserEmail.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/domain/UserPassword.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/domain/UserPassword.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/domain/events/UserCreatedEvent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/domain/events/UserCreatedEvent.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/domain/events/UserEmailChangedEvent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/domain/events/UserEmailChangedEvent.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/domain/events/UserLoggedInEvent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/domain/events/UserLoggedInEvent.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/index.ts: -------------------------------------------------------------------------------- 1 | import './subscribers'; 2 | -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/infra/http/routes/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/infra/http/routes/index.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/infra/prisma/PrismaUserRepo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/infra/prisma/PrismaUserRepo.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/mappers/UserMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/mappers/UserMap.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/repositories/IUserRepo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/repositories/IUserRepo.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/repositories/fakes/FakeUserRepo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/repositories/fakes/FakeUserRepo.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/services/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/services/index.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/services/umbriel/IUmbrielService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/services/umbriel/IUmbrielService.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/services/umbriel/implementations/UmbrielService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/services/umbriel/implementations/UmbrielService.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/subscribers/AfterUserCreated.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/subscribers/AfterUserCreated.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/subscribers/AfterUserEmailChanged.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/subscribers/AfterUserEmailChanged.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/subscribers/AfterUserLoggedIn.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/subscribers/AfterUserLoggedIn.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/subscribers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/subscribers/index.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/createUser/CreateUserController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/createUser/CreateUserController.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/createUser/CreateUserErrors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/createUser/CreateUserErrors.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/createUser/CreateUserUseCase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/createUser/CreateUserUseCase.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/createUser/ICreateUserDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/createUser/ICreateUserDTO.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/createUser/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/createUser/index.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/login/ILoginDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/login/ILoginDTO.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/login/LoginController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/login/LoginController.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/login/LoginErrors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/login/LoginErrors.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/login/LoginUseCase.spec.ts: -------------------------------------------------------------------------------- 1 | test('hey', () => { 2 | expect(1 + 1).toBe(2); 3 | }); 4 | -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/login/LoginUseCase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/login/LoginUseCase.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/login/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/login/index.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/subscribeUserToMailing/ISubscribeUserToMailingDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/subscribeUserToMailing/ISubscribeUserToMailingDTO.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/subscribeUserToMailing/SubscribeUserToMailingErrors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/subscribeUserToMailing/SubscribeUserToMailingErrors.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/subscribeUserToMailing/SubscribeUserToMailingUseCase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/subscribeUserToMailing/SubscribeUserToMailingUseCase.ts -------------------------------------------------------------------------------- /packages/server/atlas/src/modules/users/useCases/subscribeUserToMailing/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/src/modules/users/useCases/subscribeUserToMailing/index.ts -------------------------------------------------------------------------------- /packages/server/atlas/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/tsconfig.json -------------------------------------------------------------------------------- /packages/server/atlas/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/atlas/yarn.lock -------------------------------------------------------------------------------- /packages/server/babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/babel.config.js -------------------------------------------------------------------------------- /packages/server/hermod/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/hermod/package.json -------------------------------------------------------------------------------- /packages/server/hermod/src/index.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/server/mercury/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/mercury/jest.config.js -------------------------------------------------------------------------------- /packages/server/mercury/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/mercury/package.json -------------------------------------------------------------------------------- /packages/server/mercury/src/consumer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/mercury/src/consumer.ts -------------------------------------------------------------------------------- /packages/server/mercury/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/mercury/tsconfig.json -------------------------------------------------------------------------------- /packages/server/umbriel/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/jest.config.js -------------------------------------------------------------------------------- /packages/server/umbriel/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/package.json -------------------------------------------------------------------------------- /packages/server/umbriel/prisma/migrations/20200609124237-create_base_templates/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/prisma/migrations/20200609124237-create_base_templates/README.md -------------------------------------------------------------------------------- /packages/server/umbriel/prisma/migrations/20200609124237-create_base_templates/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/prisma/migrations/20200609124237-create_base_templates/schema.prisma -------------------------------------------------------------------------------- /packages/server/umbriel/prisma/migrations/20200609124237-create_base_templates/steps.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/prisma/migrations/20200609124237-create_base_templates/steps.json -------------------------------------------------------------------------------- /packages/server/umbriel/prisma/migrations/20200611222402-add_slug_to_tags/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/prisma/migrations/20200611222402-add_slug_to_tags/README.md -------------------------------------------------------------------------------- /packages/server/umbriel/prisma/migrations/20200611222402-add_slug_to_tags/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/prisma/migrations/20200611222402-add_slug_to_tags/schema.prisma -------------------------------------------------------------------------------- /packages/server/umbriel/prisma/migrations/20200611222402-add_slug_to_tags/steps.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/prisma/migrations/20200611222402-add_slug_to_tags/steps.json -------------------------------------------------------------------------------- /packages/server/umbriel/prisma/migrations/migrate.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/prisma/migrations/migrate.lock -------------------------------------------------------------------------------- /packages/server/umbriel/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/prisma/schema.prisma -------------------------------------------------------------------------------- /packages/server/umbriel/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/index.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/infra/http/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/infra/http/routes.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/infra/http/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/infra/http/server.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/infra/kafka/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/infra/kafka/client.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/infra/kafka/consumers.ts: -------------------------------------------------------------------------------- 1 | import '@modules/contacts/infra/kafka/consumers'; 2 | -------------------------------------------------------------------------------- /packages/server/umbriel/src/infra/prisma/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/infra/prisma/client.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/domain/Contact.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/domain/Contact.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/domain/ContactEmail.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/domain/ContactEmail.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/domain/ContactSubscription.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/domain/ContactSubscription.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/domain/ContactSubscriptions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/domain/ContactSubscriptions.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/domain/Tag.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/domain/Tag.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/domain/TagSlug.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/domain/TagSlug.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/index.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/infra/http/contacts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/infra/http/contacts.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/infra/http/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/infra/http/index.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/infra/kafka/consumers/AddUserToTeamConsumer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/infra/kafka/consumers/AddUserToTeamConsumer.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/infra/kafka/consumers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/infra/kafka/consumers/index.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/infra/prisma/PrismaContactRepo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/infra/prisma/PrismaContactRepo.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/infra/prisma/PrismaContactSubscriptionsRepo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/infra/prisma/PrismaContactSubscriptionsRepo.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/infra/prisma/PrismaTagRepo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/infra/prisma/PrismaTagRepo.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/mappers/ContactMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/mappers/ContactMap.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/mappers/ContactSubscriptionMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/mappers/ContactSubscriptionMap.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/mappers/TagMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/mappers/TagMap.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/repositories/IContactRepo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/repositories/IContactRepo.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/repositories/IContactSubscriptionsRepo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/repositories/IContactSubscriptionsRepo.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/repositories/ITagRepo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/repositories/ITagRepo.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/useCases/contacts/getContacts/GetContactsController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/useCases/contacts/getContacts/GetContactsController.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/useCases/contacts/getContacts/GetContactsDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/useCases/contacts/getContacts/GetContactsDTO.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/useCases/contacts/getContacts/GetContactsUseCase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/useCases/contacts/getContacts/GetContactsUseCase.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/useCases/contacts/getContacts/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/useCases/contacts/getContacts/index.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/SubscribeContactController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/SubscribeContactController.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/SubscribeContactDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/SubscribeContactDTO.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/SubscribeContactErrors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/SubscribeContactErrors.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/SubscribeContactUseCase.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/SubscribeContactUseCase.spec.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/SubscribeContactUseCase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/SubscribeContactUseCase.ts -------------------------------------------------------------------------------- /packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/src/modules/contacts/useCases/contacts/subscribeContact/index.ts -------------------------------------------------------------------------------- /packages/server/umbriel/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/tsconfig.json -------------------------------------------------------------------------------- /packages/server/umbriel/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/packages/server/umbriel/yarn.lock -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/prettier.config.js -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/tsconfig.json -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diego3g/node-microservices-ddd/HEAD/yarn.lock --------------------------------------------------------------------------------