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

// 2 - export infrastructure
export { IamRoleModel } from './infrastructure/sequelize/iam-sequelize-role.model';
export { IamSequelizeRoleRepository } from './infrastructure/sequelize/iam-sequelize-role.repository';

// 3 - export services
export {
  IamCreateRoleService,
  IamCreateRolesService,
  IamDeleteRoleByIdService,
  IamDeleteRolesService,
  IamFindRoleByIdService,
  IamFindRoleService,
  IamGetRolesService,
  IamPaginateRolesService,
  IamUpdateRoleByIdService,
  IamUpdateRolesService,
};

// 4 - export handlers
export {
  IamCreateRoleHandler,
  IamCreateRolesHandler,
  IamDeleteRoleByIdHandler,
  IamDeleteRolesHandler,
  IamFindRoleByIdHandler,
  IamFindRoleHandler,
  IamGetRolesHandler,
  IamInheritPermissionsRoleRoleHandler,
  IamPaginateRolesHandler,
  IamUpdateRoleByIdHandler,
  IamUpdateRolesHandler,
};

// 5 - import services
import { IamCreateRoleService } from './application/create/iam-create-role.service';
import { IamCreateRolesService } from './application/create/iam-create-roles.service';
import { IamDeleteRoleByIdService } from './application/delete/iam-delete-role-by-id.service';
import { IamDeleteRolesService } from './application/delete/iam-delete-roles.service';
import { IamFindRoleByIdService } from './application/find/iam-find-role-by-id.service';
import { IamFindRoleService } from './application/find/iam-find-role.service';
import { IamGetRolesService } from './application/get/iam-get-roles.service';
import { IamPaginateRolesService } from './application/paginate/iam-paginate-roles.service';
import { IamUpdateRoleByIdService } from './application/update/iam-update-role-by-id.service';
import { IamUpdateRolesService } from './application/update/iam-update-roles.service';

// 6 - import handlers
import { IamCreateRoleHandler } from './application/create/iam-create-role.handler';
import { IamCreateRolesHandler } from './application/create/iam-create-roles.handler';
import { IamDeleteRoleByIdHandler } from './application/delete/iam-delete-role-by-id.handler';
import { IamDeleteRolesHandler } from './application/delete/iam-delete-roles.handler';
import { IamFindRoleByIdHandler } from './application/find/iam-find-role-by-id.handler';
import { IamFindRoleHandler } from './application/find/iam-find-role.handler';
import { IamGetRolesHandler } from './application/get/iam-get-roles.handler';
import { IamInheritPermissionsRoleRoleHandler } from './application/inherit-permissions-role/iam-inherit-permissions-role-role.handler';
import { IamPaginateRolesHandler } from './application/paginate/iam-paginate-roles.handler';
import { IamUpdateRoleByIdHandler } from './application/update/iam-update-role-by-id.handler';
import { IamUpdateRolesHandler } from './application/update/iam-update-roles.handler';

export const IamRoleHandlers = [
  IamCreateRoleHandler,
  IamCreateRolesHandler,
  IamPaginateRolesHandler,
  IamGetRolesHandler,
  IamFindRoleByIdHandler,
  IamFindRoleHandler,
  IamUpdateRoleByIdHandler,
  IamUpdateRolesHandler,
  IamDeleteRoleByIdHandler,
  IamDeleteRolesHandler,
  IamInheritPermissionsRoleRoleHandler,
];

export const IamRoleServices = [
  IamCreateRoleService,
  IamCreateRolesService,
  IamPaginateRolesService,
  IamGetRolesService,
  IamFindRoleService,
  IamFindRoleByIdService,
  IamUpdateRoleByIdService,
  IamUpdateRolesService,
  IamDeleteRoleByIdService,
  IamDeleteRolesService,
];
