/**
 * @aurora-catalyst-generated
 * @source cliter/iam/user.aurora.yaml
 */
// 1 - export domain
export * from './domain';

// 2 - export infrastructure
export { IamUserModel } from './infrastructure/sequelize/iam-sequelize-user.model';
export { IamSequelizeUserRepository } from './infrastructure/sequelize/iam-sequelize-user.repository';

// 3 - export services
export {
  IamCountUserService,
  IamCreateUserService,
  IamCreateUsersService,
  IamDeleteUserByIdService,
  IamDeleteUsersService,
  IamFindUserByIdService,
  IamFindUserByUsernamePasswordService,
  IamFindUserService,
  IamGetUsersService,
  IamPaginateUsersService,
  IamUpdateUserByIdService,
  IamUpdateUsersService,
};

// 4 - export handlers
export {
  IamCreateUserHandler,
  IamCreateUsersHandler,
  IamDeleteUserByIdHandler,
  IamDeleteUsersHandler,
  IamFindUserByIdHandler,
  IamFindUserHandler,
  IamForgotPasswordUserHandler,
  IamGetUsersHandler,
  IamPaginateUsersHandler,
  IamResetPasswordUserHandler,
  IamUpdateUserByIdHandler,
  IamUpdateUsersHandler,
};

// 5 - import services
import { IamCountUserService } from './application/count/iam-count-user.service';
import { IamCreateUserService } from './application/create/iam-create-user.service';
import { IamCreateUsersService } from './application/create/iam-create-users.service';
import { IamDeleteUserByIdService } from './application/delete/iam-delete-user-by-id.service';
import { IamDeleteUsersService } from './application/delete/iam-delete-users.service';
import { IamFindUserByIdService } from './application/find/iam-find-user-by-id.service';
import { IamFindUserByUsernamePasswordService } from './application/find/iam-find-user-by-username-password.service';
import { IamFindUserService } from './application/find/iam-find-user.service';
import { IamGetUsersService } from './application/get/iam-get-users.service';
import { IamPaginateUsersService } from './application/paginate/iam-paginate-users.service';
import { IamUpdateUserByIdService } from './application/update/iam-update-user-by-id.service';
import { IamUpdateUsersService } from './application/update/iam-update-users.service';

// 6 - import handlers
import { IamCreateUserHandler } from './application/create/iam-create-user.handler';
import { IamCreateUsersHandler } from './application/create/iam-create-users.handler';
import { IamDeleteUserByIdHandler } from './application/delete/iam-delete-user-by-id.handler';
import { IamDeleteUsersHandler } from './application/delete/iam-delete-users.handler';
import { IamFindUserByIdHandler } from './application/find/iam-find-user-by-id.handler';
import { IamFindUserHandler } from './application/find/iam-find-user.handler';
import { IamForgotPasswordUserHandler } from './application/forgot-password/iam-forgot-password-user.handler';
import { IamGetUsersHandler } from './application/get/iam-get-users.handler';
import { IamPaginateUsersHandler } from './application/paginate/iam-paginate-users.handler';
import { IamResetPasswordUserHandler } from './application/reset-password/iam-reset-password-user.handler';
import { IamUpdateUserByIdHandler } from './application/update/iam-update-user-by-id.handler';
import { IamUpdateUsersHandler } from './application/update/iam-update-users.handler';

export const IamUserHandlers = [
  IamCreateUserHandler,
  IamCreateUsersHandler,
  IamPaginateUsersHandler,
  IamGetUsersHandler,
  IamFindUserByIdHandler,
  IamFindUserHandler,
  IamUpdateUserByIdHandler,
  IamUpdateUsersHandler,
  IamDeleteUserByIdHandler,
  IamDeleteUsersHandler,
  IamForgotPasswordUserHandler,
  IamResetPasswordUserHandler,
];

export const IamUserServices = [
  IamCreateUserService,
  IamCreateUsersService,
  IamPaginateUsersService,
  IamGetUsersService,
  IamFindUserService,
  IamFindUserByIdService,
  IamFindUserByUsernamePasswordService,
  IamCountUserService,
  IamUpdateUserByIdService,
  IamUpdateUsersService,
  IamDeleteUserByIdService,
  IamDeleteUsersService,
];
