/**
 * Hand-maintained — OAuth2 protocol flows API surface (transports only).
 */

// 1 - export controllers
export {
  OAuthAuthorizeController,
  OAuthCreateTokenController,
  OAuthGetJwksController,
  OAuthLogoutController,
  OAuthRevokeTokenController,
  OAuthSessionController,
};

// 2 - export resolvers
export { OAuthCreateTokenResolver, OAuthRevokeTokenResolver };

// 3 - import controllers
import { OAuthAuthorizeController } from './controllers/o-auth-authorize.controller';
import { OAuthCreateTokenController } from './controllers/o-auth-create-token.controller';
import { OAuthGetJwksController } from './controllers/o-auth-get-jwks.controller';
import { OAuthLogoutController } from './controllers/o-auth-logout.controller';
import { OAuthRevokeTokenController } from './controllers/o-auth-revoke-token.controller';
import { OAuthSessionController } from './controllers/o-auth-session.controller';

// 4 - import resolvers
import { OAuthCreateTokenResolver } from './resolvers/o-auth-create-token.resolver';
import { OAuthRevokeTokenResolver } from './resolvers/o-auth-revoke-token.resolver';

export const OAuthFlowsApiControllers = [
  OAuthAuthorizeController,
  OAuthCreateTokenController,
  OAuthGetJwksController,
  OAuthLogoutController,
  OAuthRevokeTokenController,
  OAuthSessionController,
];

export const OAuthFlowsApiResolvers = [OAuthCreateTokenResolver, OAuthRevokeTokenResolver];
