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

// 2 - export infrastructure
export { IamPermissionModel } from './infrastructure/sequelize/iam-sequelize-permission.model';
export { IamSequelizePermissionRepository } from './infrastructure/sequelize/iam-sequelize-permission.repository';

// 3 - export services
export {
  IamCreatePermissionService,
  IamCreatePermissionsService,
  IamDeletePermissionByIdService,
  IamDeletePermissionsService,
  IamFindPermissionByIdService,
  IamFindPermissionService,
  IamGetPermissionsService,
  IamPaginatePermissionsService,
  IamUpdatePermissionByIdService,
  IamUpdatePermissionsService,
};

// 4 - export handlers
export {
  IamCreatePermissionHandler,
  IamCreatePermissionsHandler,
  IamDeletePermissionByIdHandler,
  IamDeletePermissionsHandler,
  IamFindPermissionByIdHandler,
  IamFindPermissionHandler,
  IamGetPermissionsHandler,
  IamPaginatePermissionsHandler,
  IamUpdatePermissionByIdHandler,
  IamUpdatePermissionsHandler,
};

// 5 - import services
import { IamCreatePermissionService } from './application/create/iam-create-permission.service';
import { IamCreatePermissionsService } from './application/create/iam-create-permissions.service';
import { IamDeletePermissionByIdService } from './application/delete/iam-delete-permission-by-id.service';
import { IamDeletePermissionsService } from './application/delete/iam-delete-permissions.service';
import { IamFindPermissionByIdService } from './application/find/iam-find-permission-by-id.service';
import { IamFindPermissionService } from './application/find/iam-find-permission.service';
import { IamGetPermissionsService } from './application/get/iam-get-permissions.service';
import { IamPaginatePermissionsService } from './application/paginate/iam-paginate-permissions.service';
import { IamUpdatePermissionByIdService } from './application/update/iam-update-permission-by-id.service';
import { IamUpdatePermissionsService } from './application/update/iam-update-permissions.service';

// 6 - import handlers
import { IamCreatePermissionHandler } from './application/create/iam-create-permission.handler';
import { IamCreatePermissionsHandler } from './application/create/iam-create-permissions.handler';
import { IamDeletePermissionByIdHandler } from './application/delete/iam-delete-permission-by-id.handler';
import { IamDeletePermissionsHandler } from './application/delete/iam-delete-permissions.handler';
import { IamFindPermissionByIdHandler } from './application/find/iam-find-permission-by-id.handler';
import { IamFindPermissionHandler } from './application/find/iam-find-permission.handler';
import { IamGetPermissionsHandler } from './application/get/iam-get-permissions.handler';
import { IamPaginatePermissionsHandler } from './application/paginate/iam-paginate-permissions.handler';
import { IamUpdatePermissionByIdHandler } from './application/update/iam-update-permission-by-id.handler';
import { IamUpdatePermissionsHandler } from './application/update/iam-update-permissions.handler';

export const IamPermissionHandlers = [
  IamCreatePermissionHandler,
  IamCreatePermissionsHandler,
  IamPaginatePermissionsHandler,
  IamGetPermissionsHandler,
  IamFindPermissionByIdHandler,
  IamFindPermissionHandler,
  IamUpdatePermissionByIdHandler,
  IamUpdatePermissionsHandler,
  IamDeletePermissionByIdHandler,
  IamDeletePermissionsHandler,
];

export const IamPermissionServices = [
  IamCreatePermissionService,
  IamCreatePermissionsService,
  IamPaginatePermissionsService,
  IamGetPermissionsService,
  IamFindPermissionService,
  IamFindPermissionByIdService,
  IamUpdatePermissionByIdService,
  IamUpdatePermissionsService,
  IamDeletePermissionByIdService,
  IamDeletePermissionsService,
];
