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

// 2 - export infrastructure
export { IamAccountModel } from './infrastructure/sequelize/iam-sequelize-account.model';
export { IamSequelizeAccountRepository } from './infrastructure/sequelize/iam-sequelize-account.repository';

// 3 - export services
export {
  IamCountAccountService,
  IamCreateAccountService,
  IamCreateAccountsService,
  IamDeleteAccountByIdService,
  IamDeleteAccountsService,
  IamFindAccountByIdService,
  IamFindAccountService,
  IamGetAccountsService,
  IamPaginateAccountsService,
  IamUpdateAccountByIdService,
  IamUpdateAccountsService,
};

// 4 - export handlers
export {
  IamCheckPasswordMeAccountHandler,
  IamCheckUniqueEmailAccountHandler,
  IamCheckUniqueUsernameAccountHandler,
  IamCreateAccountHandler,
  IamCreateAccountsHandler,
  IamDeleteAccountByIdHandler,
  IamDeleteAccountsHandler,
  IamFindAccountByIdHandler,
  IamFindAccountHandler,
  IamGetAccountsHandler,
  IamMeAccountHandler,
  IamPaginateAccountsHandler,
  IamPaginateWithTenantConstraintAccountsHandler,
  IamUpdateAccountByIdHandler,
  IamUpdateAccountsHandler,
  IamUpdateMeAccountHandler,
};

// 5 - import services
import { IamCountAccountService } from './application/count/iam-count-account.service';
import { IamCreateAccountService } from './application/create/iam-create-account.service';
import { IamCreateAccountsService } from './application/create/iam-create-accounts.service';
import { IamDeleteAccountByIdService } from './application/delete/iam-delete-account-by-id.service';
import { IamDeleteAccountsService } from './application/delete/iam-delete-accounts.service';
import { IamFindAccountByIdService } from './application/find/iam-find-account-by-id.service';
import { IamFindAccountService } from './application/find/iam-find-account.service';
import { IamGetAccountsService } from './application/get/iam-get-accounts.service';
import { IamPaginateAccountsService } from './application/paginate/iam-paginate-accounts.service';
import { IamUpdateAccountByIdService } from './application/update/iam-update-account-by-id.service';
import { IamUpdateAccountsService } from './application/update/iam-update-accounts.service';

// 6 - import handlers
import { IamCheckPasswordMeAccountHandler } from './application/check-password-me/iam-check-password-me-account.handler';
import { IamCheckUniqueEmailAccountHandler } from './application/check-unique-email/iam-check-unique-email-account.handler';
import { IamCheckUniqueUsernameAccountHandler } from './application/check-unique-username/iam-check-unique-username-account.handler';
import { IamCreateAccountHandler } from './application/create/iam-create-account.handler';
import { IamCreateAccountsHandler } from './application/create/iam-create-accounts.handler';
import { IamDeleteAccountByIdHandler } from './application/delete/iam-delete-account-by-id.handler';
import { IamDeleteAccountsHandler } from './application/delete/iam-delete-accounts.handler';
import { IamFindAccountByIdHandler } from './application/find/iam-find-account-by-id.handler';
import { IamFindAccountHandler } from './application/find/iam-find-account.handler';
import { IamGetAccountsHandler } from './application/get/iam-get-accounts.handler';
import { IamMeAccountHandler } from './application/me/iam-me-account.handler';
import { IamPaginateWithTenantConstraintAccountsHandler } from './application/paginate-with-tenant-constraint/iam-paginate-with-tenant-constraint-accounts.handler';
import { IamPaginateAccountsHandler } from './application/paginate/iam-paginate-accounts.handler';
import { IamUpdateMeAccountHandler } from './application/update-me/iam-update-me-account.handler';
import { IamUpdateAccountByIdHandler } from './application/update/iam-update-account-by-id.handler';
import { IamUpdateAccountsHandler } from './application/update/iam-update-accounts.handler';

export const IamAccountHandlers = [
  IamCreateAccountHandler,
  IamCreateAccountsHandler,
  IamPaginateAccountsHandler,
  IamGetAccountsHandler,
  IamFindAccountByIdHandler,
  IamFindAccountHandler,
  IamUpdateAccountByIdHandler,
  IamUpdateAccountsHandler,
  IamDeleteAccountByIdHandler,
  IamDeleteAccountsHandler,
  IamMeAccountHandler,
  IamUpdateMeAccountHandler,
  IamCheckPasswordMeAccountHandler,
  IamCheckUniqueUsernameAccountHandler,
  IamCheckUniqueEmailAccountHandler,
  IamPaginateWithTenantConstraintAccountsHandler,
];

export const IamAccountServices = [
  IamCreateAccountService,
  IamCreateAccountsService,
  IamPaginateAccountsService,
  IamGetAccountsService,
  IamFindAccountService,
  IamFindAccountByIdService,
  IamCountAccountService,
  IamUpdateAccountByIdService,
  IamUpdateAccountsService,
  IamDeleteAccountByIdService,
  IamDeleteAccountsService,
];
