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

// 2 - export infrastructure
export { IamTenantAccountModel } from './infrastructure/sequelize/iam-sequelize-tenant-account.model';
export { IamSequelizeTenantAccountRepository } from './infrastructure/sequelize/iam-sequelize-tenant-account.repository';

// 3 - export services
export {
  IamCreateTenantAccountService,
  IamCreateTenantsAccountsService,
  IamDeleteTenantAccountByIdService,
  IamDeleteTenantsAccountsService,
  IamFindTenantAccountByIdService,
  IamFindTenantAccountService,
  IamGetTenantsAccountsService,
  IamPaginateTenantsAccountsService,
  IamUpdateTenantAccountByIdService,
  IamUpdateTenantsAccountsService,
};

// 4 - export handlers
export {
  IamCreateTenantAccountHandler,
  IamCreateTenantsAccountsHandler,
  IamDeleteTenantAccountByIdHandler,
  IamDeleteTenantsAccountsHandler,
  IamFindTenantAccountByIdHandler,
  IamFindTenantAccountHandler,
  IamGetTenantsAccountsHandler,
  IamPaginateTenantsAccountsHandler,
  IamUpdateTenantAccountByIdHandler,
  IamUpdateTenantsAccountsHandler,
};

// 5 - import services
import { IamCreateTenantAccountService } from './application/create/iam-create-tenant-account.service';
import { IamCreateTenantsAccountsService } from './application/create/iam-create-tenants-accounts.service';
import { IamDeleteTenantAccountByIdService } from './application/delete/iam-delete-tenant-account-by-id.service';
import { IamDeleteTenantsAccountsService } from './application/delete/iam-delete-tenants-accounts.service';
import { IamFindTenantAccountByIdService } from './application/find/iam-find-tenant-account-by-id.service';
import { IamFindTenantAccountService } from './application/find/iam-find-tenant-account.service';
import { IamGetTenantsAccountsService } from './application/get/iam-get-tenants-accounts.service';
import { IamPaginateTenantsAccountsService } from './application/paginate/iam-paginate-tenants-accounts.service';
import { IamUpdateTenantAccountByIdService } from './application/update/iam-update-tenant-account-by-id.service';
import { IamUpdateTenantsAccountsService } from './application/update/iam-update-tenants-accounts.service';

// 6 - import handlers
import { IamCreateTenantAccountHandler } from './application/create/iam-create-tenant-account.handler';
import { IamCreateTenantsAccountsHandler } from './application/create/iam-create-tenants-accounts.handler';
import { IamDeleteTenantAccountByIdHandler } from './application/delete/iam-delete-tenant-account-by-id.handler';
import { IamDeleteTenantsAccountsHandler } from './application/delete/iam-delete-tenants-accounts.handler';
import { IamFindTenantAccountByIdHandler } from './application/find/iam-find-tenant-account-by-id.handler';
import { IamFindTenantAccountHandler } from './application/find/iam-find-tenant-account.handler';
import { IamGetTenantsAccountsHandler } from './application/get/iam-get-tenants-accounts.handler';
import { IamPaginateTenantsAccountsHandler } from './application/paginate/iam-paginate-tenants-accounts.handler';
import { IamUpdateTenantAccountByIdHandler } from './application/update/iam-update-tenant-account-by-id.handler';
import { IamUpdateTenantsAccountsHandler } from './application/update/iam-update-tenants-accounts.handler';

export const IamTenantAccountHandlers = [
  IamCreateTenantAccountHandler,
  IamCreateTenantsAccountsHandler,
  IamPaginateTenantsAccountsHandler,
  IamGetTenantsAccountsHandler,
  IamFindTenantAccountByIdHandler,
  IamFindTenantAccountHandler,
  IamUpdateTenantAccountByIdHandler,
  IamUpdateTenantsAccountsHandler,
  IamDeleteTenantAccountByIdHandler,
  IamDeleteTenantsAccountsHandler,
];

export const IamTenantAccountServices = [
  IamCreateTenantAccountService,
  IamCreateTenantsAccountsService,
  IamPaginateTenantsAccountsService,
  IamGetTenantsAccountsService,
  IamFindTenantAccountService,
  IamFindTenantAccountByIdService,
  IamUpdateTenantAccountByIdService,
  IamUpdateTenantsAccountsService,
  IamDeleteTenantAccountByIdService,
  IamDeleteTenantsAccountsService,
];
