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

// 2 - export infrastructure
export { IamTenantModel } from './infrastructure/sequelize/iam-sequelize-tenant.model';
export { IamSequelizeTenantRepository } from './infrastructure/sequelize/iam-sequelize-tenant.repository';

// 3 - export services
export {
  IamCreateTenantService,
  IamCreateTenantsService,
  IamDeleteTenantByIdService,
  IamDeleteTenantsService,
  IamFindTenantByIdService,
  IamFindTenantService,
  IamGetTenantsService,
  IamPaginateTenantsService,
  IamUpdateTenantByIdService,
  IamUpdateTenantsService,
};

// 4 - export handlers
export {
  IamCreateTenantHandler,
  IamCreateTenantsHandler,
  IamDeleteTenantByIdHandler,
  IamDeleteTenantsHandler,
  IamFindTenantByIdHandler,
  IamFindTenantHandler,
  IamGetTenantsHandler,
  IamGetWithTenantConstraintTenantsHandler,
  IamPaginateTenantsHandler,
  IamPaginateWithTenantConstraintTenantsHandler,
  IamUpdateTenantByIdHandler,
  IamUpdateTenantsHandler,
};

// 5 - import services
import { IamCreateTenantService } from './application/create/iam-create-tenant.service';
import { IamCreateTenantsService } from './application/create/iam-create-tenants.service';
import { IamDeleteTenantByIdService } from './application/delete/iam-delete-tenant-by-id.service';
import { IamDeleteTenantsService } from './application/delete/iam-delete-tenants.service';
import { IamFindTenantByIdService } from './application/find/iam-find-tenant-by-id.service';
import { IamFindTenantService } from './application/find/iam-find-tenant.service';
import { IamGetTenantsService } from './application/get/iam-get-tenants.service';
import { IamPaginateTenantsService } from './application/paginate/iam-paginate-tenants.service';
import { IamUpdateTenantByIdService } from './application/update/iam-update-tenant-by-id.service';
import { IamUpdateTenantsService } from './application/update/iam-update-tenants.service';

// 6 - import handlers
import { IamCreateTenantHandler } from './application/create/iam-create-tenant.handler';
import { IamCreateTenantsHandler } from './application/create/iam-create-tenants.handler';
import { IamDeleteTenantByIdHandler } from './application/delete/iam-delete-tenant-by-id.handler';
import { IamDeleteTenantsHandler } from './application/delete/iam-delete-tenants.handler';
import { IamFindTenantByIdHandler } from './application/find/iam-find-tenant-by-id.handler';
import { IamFindTenantHandler } from './application/find/iam-find-tenant.handler';
import { IamGetWithTenantConstraintTenantsHandler } from './application/get-with-tenant-constraint/iam-get-with-tenant-constraint-tenants.handler';
import { IamGetTenantsHandler } from './application/get/iam-get-tenants.handler';
import { IamPaginateWithTenantConstraintTenantsHandler } from './application/paginate-with-tenant-constraint/iam-paginate-with-tenant-constraint-tenants.handler';
import { IamPaginateTenantsHandler } from './application/paginate/iam-paginate-tenants.handler';
import { IamUpdateTenantByIdHandler } from './application/update/iam-update-tenant-by-id.handler';
import { IamUpdateTenantsHandler } from './application/update/iam-update-tenants.handler';

export const IamTenantHandlers = [
  IamCreateTenantHandler,
  IamCreateTenantsHandler,
  IamPaginateTenantsHandler,
  IamGetTenantsHandler,
  IamFindTenantByIdHandler,
  IamFindTenantHandler,
  IamUpdateTenantByIdHandler,
  IamUpdateTenantsHandler,
  IamDeleteTenantByIdHandler,
  IamDeleteTenantsHandler,
  IamGetWithTenantConstraintTenantsHandler,
  IamPaginateWithTenantConstraintTenantsHandler,
];

export const IamTenantServices = [
  IamCreateTenantService,
  IamCreateTenantsService,
  IamPaginateTenantsService,
  IamGetTenantsService,
  IamFindTenantService,
  IamFindTenantByIdService,
  IamUpdateTenantByIdService,
  IamUpdateTenantsService,
  IamDeleteTenantByIdService,
  IamDeleteTenantsService,
];
