import {
  OAuthAccessTokenHandlers,
  OAuthAccessTokenModel,
  OAuthAccessTokenServices,
  OAuthSequelizeAccessTokenRepository,
} from './access-token';
import {
  OAuthApplicationHandlers,
  OAuthApplicationModel,
  OAuthApplicationServices,
  OAuthSequelizeApplicationRepository,
} from './application';
import {
  OAuthApplicationClientHandlers,
  OAuthApplicationClientModel,
  OAuthApplicationClientServices,
  OAuthSequelizeApplicationClientRepository,
} from './application-client';
import {
  OAuthAuthorizationCodeHandlers,
  OAuthAuthorizationCodeModel,
  OAuthAuthorizationCodeServices,
  OAuthSequelizeAuthorizationCodeRepository,
} from './authorization-code';
import {
  OAuthClientHandlers,
  OAuthClientModel,
  OAuthClientServices,
  OAuthSequelizeClientRepository,
} from './client';
import {
  OAuthCredentialHandlers,
  OAuthCredentialModel,
  OAuthCredentialServices,
  OAuthSequelizeCredentialRepository,
} from './credential';
import {
  OAuthRefreshTokenHandlers,
  OAuthRefreshTokenModel,
  OAuthRefreshTokenServices,
  OAuthSequelizeRefreshTokenRepository,
} from './refresh-token';
import {
  OAuthScopeHandlers,
  OAuthScopeModel,
  OAuthScopeServices,
  OAuthSequelizeScopeRepository,
} from './scope';

/**
 * @aurora-catalyst-generated
 * @source cliter/o-auth
 */
export const OAuthHandlers = [
  ...OAuthClientHandlers,
  ...OAuthApplicationClientHandlers,
  ...OAuthApplicationHandlers,
  ...OAuthAccessTokenHandlers,
  ...OAuthRefreshTokenHandlers,
  ...OAuthAuthorizationCodeHandlers,
  ...OAuthScopeHandlers,
  ...OAuthCredentialHandlers,
];
export const OAuthServices = [
  ...OAuthClientServices,
  ...OAuthApplicationClientServices,
  ...OAuthApplicationServices,
  ...OAuthAccessTokenServices,
  ...OAuthRefreshTokenServices,
  ...OAuthAuthorizationCodeServices,
  ...OAuthScopeServices,
  ...OAuthCredentialServices,
];
export const OAuthModels = [
  OAuthClientModel,
  OAuthApplicationClientModel,
  OAuthApplicationModel,
  OAuthAccessTokenModel,
  OAuthRefreshTokenModel,
  OAuthAuthorizationCodeModel,
  OAuthScopeModel,
  OAuthCredentialModel,
];
export const OAuthRepositories = [
  OAuthSequelizeClientRepository,
  OAuthSequelizeApplicationClientRepository,
  OAuthSequelizeApplicationRepository,
  OAuthSequelizeAccessTokenRepository,
  OAuthSequelizeRefreshTokenRepository,
  OAuthSequelizeAuthorizationCodeRepository,
  OAuthSequelizeScopeRepository,
  OAuthSequelizeCredentialRepository,
];
