gitextract_tdgrkyma/ ├── .circleci/ │ └── config.yml ├── .dockerignore ├── .gitignore ├── .gitlab-ci.yml ├── .npmrc ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── .rebuild.ts ├── Dockerfile ├── LICENSE ├── README.md ├── docker-compose.yml ├── entrypoint.sh ├── features/ │ ├── step_definitions/ │ │ ├── steps.ts │ │ └── theBestSteps.ts │ ├── support/ │ │ ├── hooks/ │ │ │ └── mock.ts │ │ ├── scripts/ │ │ │ ├── Client.ts │ │ │ └── Response.ts │ │ └── world.ts │ └── theBest.feature ├── lerna.json ├── ormconfig.json ├── package-test.sh ├── package.json ├── packages/ │ ├── hadron-auth/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── HadronAuth.ts │ │ │ ├── IRoute.ts │ │ │ ├── ISecurityOptions.ts │ │ │ ├── __tests__/ │ │ │ │ ├── HadronAuth.ts │ │ │ │ ├── hierarchyProvider.ts │ │ │ │ └── urlGlob.ts │ │ │ ├── constants.ts │ │ │ ├── declarations.d.ts │ │ │ ├── helpers/ │ │ │ │ ├── flattenDeep.ts │ │ │ │ └── urlGlob.ts │ │ │ ├── hierarchyProvider.ts │ │ │ ├── password/ │ │ │ │ ├── IHashMethod.ts │ │ │ │ ├── __tests__/ │ │ │ │ │ └── hashMethodProvider.ts │ │ │ │ ├── bcrypt/ │ │ │ │ │ ├── IBcryptOptions.ts │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── bcrypt.ts │ │ │ │ │ └── bcrypt.ts │ │ │ │ └── hashMethodProvider.ts │ │ │ └── providers/ │ │ │ └── expressMiddlewareAuthorization.ts │ │ └── tsconfig.json │ ├── hadron-core/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ └── hadronCore.test.ts │ │ │ ├── constants/ │ │ │ │ └── eventNames.ts │ │ │ ├── container/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── container.ts │ │ │ │ │ └── containerItem.ts │ │ │ │ ├── container.ts │ │ │ │ ├── containerItem.ts │ │ │ │ ├── lifecycle.ts │ │ │ │ └── types.ts │ │ │ ├── declarations.d.ts │ │ │ ├── errors/ │ │ │ │ ├── IncorrectContainerKeyNameError.ts │ │ │ │ └── LoadingPackageError.ts │ │ │ ├── hadronCore.ts │ │ │ └── helpers/ │ │ │ ├── __tests__/ │ │ │ │ └── isVarName.ts │ │ │ └── isVarName.ts │ │ └── tsconfig.json │ ├── hadron-demo/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── declarations.d.ts │ │ ├── entity/ │ │ │ ├── Role.ts │ │ │ ├── Team.ts │ │ │ ├── User.ts │ │ │ └── validation/ │ │ │ ├── schemas.ts │ │ │ ├── team/ │ │ │ │ ├── insertTeam.json │ │ │ │ └── updateTeam.json │ │ │ ├── user/ │ │ │ │ ├── insertUser.json │ │ │ │ └── updateUser.json │ │ │ └── validate.ts │ │ ├── event-emitter/ │ │ │ ├── case1/ │ │ │ │ └── index.ts │ │ │ ├── case2/ │ │ │ │ └── index.ts │ │ │ ├── case3/ │ │ │ │ └── index.ts │ │ │ └── config.ts │ │ ├── express-demo/ │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── logger/ │ │ │ ├── adapters/ │ │ │ │ └── winstonAdapter.ts │ │ │ └── index.ts │ │ ├── package.json │ │ ├── performance-tests/ │ │ │ ├── README.md │ │ │ ├── teamService/ │ │ │ │ ├── getTeams.yml │ │ │ │ ├── insertTeam.yml │ │ │ │ ├── team.yml │ │ │ │ └── updateTeam.yml │ │ │ └── userService/ │ │ │ ├── getUsers.yml │ │ │ ├── insertUser.yml │ │ │ ├── updateUser.yml │ │ │ └── user.yml │ │ ├── routing/ │ │ │ ├── home.config.js │ │ │ ├── nested-routes.config.js │ │ │ ├── team.config.js │ │ │ └── user.config.js │ │ ├── security/ │ │ │ ├── loginRoute.ts │ │ │ └── securedRoutesConfig.ts │ │ ├── serialization/ │ │ │ ├── routing/ │ │ │ │ ├── index.ts │ │ │ │ ├── princesses.ts │ │ │ │ └── unicorns.ts │ │ │ ├── schemas/ │ │ │ │ ├── princess.json │ │ │ │ └── unicorn.json │ │ │ ├── serialization-demo.ts │ │ │ └── unicorns-and-princesses.ts │ │ ├── services/ │ │ │ ├── teamService.ts │ │ │ └── userService.ts │ │ ├── tsconfig.json │ │ └── typeorm-demo/ │ │ └── index.ts │ ├── hadron-error-handler/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ └── errorHandler.ts │ │ └── tsconfig.json │ ├── hadron-events/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ └── eventManagerProvider.ts │ │ │ ├── constants.ts │ │ │ ├── eventManagerProvider.ts │ │ │ ├── helpers/ │ │ │ │ └── functionHelper.ts │ │ │ ├── registerProcessEvents.ts │ │ │ └── types.ts │ │ └── tsconfig.json │ ├── hadron-express/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ ├── __mocks__/ │ │ │ │ │ └── routes/ │ │ │ │ │ └── route.js │ │ │ │ ├── createContainerProxy.ts │ │ │ │ ├── generateMiddlewares.ts │ │ │ │ └── hadronToExpress.ts │ │ │ ├── constants/ │ │ │ │ ├── eventNames.ts │ │ │ │ └── routing.ts │ │ │ ├── createContainerProxy.ts │ │ │ ├── declarations.d.ts │ │ │ ├── errors/ │ │ │ │ ├── CreateRouteError.ts │ │ │ │ ├── GenerateMiddlewareError.ts │ │ │ │ ├── InvalidRouteMethodError.ts │ │ │ │ └── NoRouterMethodSpecifiedError.ts │ │ │ ├── generateMiddlewares.ts │ │ │ ├── hadronToExpress.ts │ │ │ ├── handleResponseSpec.ts │ │ │ ├── prepareRequest.ts │ │ │ └── types.ts │ │ └── tsconfig.json │ ├── hadron-file-locator/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ ├── file-locator.ts │ │ │ │ └── mock/ │ │ │ │ ├── app/ │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── config.js │ │ │ │ │ │ ├── config.json │ │ │ │ │ │ ├── config.xml │ │ │ │ │ │ ├── config_development.js │ │ │ │ │ │ ├── config_development.json │ │ │ │ │ │ └── config_test.js │ │ │ │ │ ├── ext/ │ │ │ │ │ │ ├── config.js │ │ │ │ │ │ ├── config.json │ │ │ │ │ │ └── config.xml │ │ │ │ │ └── universal/ │ │ │ │ │ ├── dog.config.js │ │ │ │ │ ├── other.json │ │ │ │ │ ├── team.config.js │ │ │ │ │ ├── test.js │ │ │ │ │ └── user.config.js │ │ │ │ └── plugins/ │ │ │ │ ├── plugin1/ │ │ │ │ │ └── config/ │ │ │ │ │ ├── config.js │ │ │ │ │ ├── config_development.js │ │ │ │ │ ├── config_development.ts │ │ │ │ │ └── config_test.js │ │ │ │ ├── plugin2/ │ │ │ │ │ └── config/ │ │ │ │ │ ├── config.js │ │ │ │ │ ├── config_development.js │ │ │ │ │ └── config_test.js │ │ │ │ └── plugin3/ │ │ │ │ └── config/ │ │ │ │ ├── config.js │ │ │ │ ├── config_development.js │ │ │ │ └── config_test.js │ │ │ ├── declarations.d.ts │ │ │ ├── file-locator.ts │ │ │ └── glob-promise.ts │ │ └── tsconfig.json │ ├── hadron-json-provider/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ ├── config-json-provider.ts │ │ │ │ ├── js-loader.ts │ │ │ │ ├── json-loader.ts │ │ │ │ ├── json-provider.ts │ │ │ │ ├── mock/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── config/ │ │ │ │ │ │ │ ├── config.js │ │ │ │ │ │ │ ├── config.json │ │ │ │ │ │ │ ├── config.xml │ │ │ │ │ │ │ ├── config_development.js │ │ │ │ │ │ │ ├── config_development.json │ │ │ │ │ │ │ └── config_test.js │ │ │ │ │ │ ├── ext/ │ │ │ │ │ │ │ ├── config.js │ │ │ │ │ │ │ ├── config.json │ │ │ │ │ │ │ └── config.xml │ │ │ │ │ │ └── universal/ │ │ │ │ │ │ ├── dog.config.js │ │ │ │ │ │ ├── exportDefaultConfig.js │ │ │ │ │ │ ├── other.json │ │ │ │ │ │ ├── team.config.js │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── user.config.js │ │ │ │ │ └── plugins/ │ │ │ │ │ ├── plugin1/ │ │ │ │ │ │ └── config/ │ │ │ │ │ │ ├── config.js │ │ │ │ │ │ ├── config_development.js │ │ │ │ │ │ ├── config_development.ts │ │ │ │ │ │ └── config_test.js │ │ │ │ │ ├── plugin2/ │ │ │ │ │ │ └── config/ │ │ │ │ │ │ ├── config.js │ │ │ │ │ │ ├── config_development.js │ │ │ │ │ │ └── config_test.js │ │ │ │ │ └── plugin3/ │ │ │ │ │ └── config/ │ │ │ │ │ ├── config.js │ │ │ │ │ ├── config_development.js │ │ │ │ │ └── config_test.js │ │ │ │ └── xml-loader.ts │ │ │ ├── declarations.d.ts │ │ │ └── json-provider.ts │ │ └── tsconfig.json │ ├── hadron-logger/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ └── logger.ts │ │ │ ├── adapters/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── bunyan.ts │ │ │ │ ├── bunyan.ts │ │ │ │ └── index.ts │ │ │ ├── errors/ │ │ │ │ ├── ConfigNotDefinedError.ts │ │ │ │ ├── CouldNotRegisterLoggerInContainerError.ts │ │ │ │ ├── LoggerAdapterNotDefinedError.ts │ │ │ │ └── LoggerNameIsRequiredError.ts │ │ │ ├── logger.ts │ │ │ └── types.ts │ │ └── tsconfig.json │ ├── hadron-oauth/ │ │ ├── .eslintrc │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ ├── facebook.ts │ │ │ │ ├── formatQueryString.ts │ │ │ │ ├── github.ts │ │ │ │ └── google.ts │ │ │ ├── facebook/ │ │ │ │ ├── redirect.ts │ │ │ │ └── token.ts │ │ │ ├── github/ │ │ │ │ ├── redirect.ts │ │ │ │ └── token.ts │ │ │ ├── google/ │ │ │ │ ├── redirect.ts │ │ │ │ └── token.ts │ │ │ ├── types.ts │ │ │ └── util/ │ │ │ ├── constants.ts │ │ │ └── formatQueryString.ts │ │ └── tsconfig.json │ ├── hadron-serialization/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ ├── mocks.ts │ │ │ │ ├── schema-provider.ts │ │ │ │ └── serializer.ts │ │ │ ├── constants.ts │ │ │ ├── declarations.d.ts │ │ │ ├── schema-provider.ts │ │ │ ├── serializer.ts │ │ │ └── types.ts │ │ └── tsconfig.json │ ├── hadron-typeorm/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ ├── connectionHelper.ts │ │ │ │ └── mocks/ │ │ │ │ ├── entity/ │ │ │ │ │ ├── Team.ts │ │ │ │ │ ├── User.ts │ │ │ │ │ └── UserStatus.ts │ │ │ │ └── schema/ │ │ │ │ └── User.ts │ │ │ ├── connectionHelper.ts │ │ │ ├── constants.ts │ │ │ └── types.ts │ │ └── tsconfig.json │ ├── hadron-utils/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ └── getArgs.ts │ │ │ └── getArgs.ts │ │ └── tsconfig.json │ └── hadron-validation/ │ ├── LICENSE │ ├── README.md │ ├── index.ts │ ├── package.json │ ├── src/ │ │ ├── __tests__/ │ │ │ ├── __mocks__/ │ │ │ │ ├── Team.ts │ │ │ │ ├── User.ts │ │ │ │ ├── declarations.d.ts │ │ │ │ ├── test-schemas/ │ │ │ │ │ ├── email.json │ │ │ │ │ ├── person.json │ │ │ │ │ ├── team.json │ │ │ │ │ ├── user.json │ │ │ │ │ └── users.json │ │ │ │ ├── test-schemas.ts │ │ │ │ └── test-validate.ts │ │ │ └── validate.ts │ │ └── validator-factory.ts │ └── tsconfig.json ├── pm2.config.js ├── scripts/ │ ├── clean │ └── copy-tsconfig ├── test.sh ├── tools/ │ └── testSetup.ts ├── tsconfig.json └── tslint.json