trainingpeaks-sdk
Version:
TypeScript SDK for TrainingPeaks API integration
14 lines (13 loc) • 835 B
JavaScript
import { authenticateUserService } from '../../adapters/services/authenticate-user.js';
import { executeLoginUserUseCase } from '../../application/use-cases/index.js';
import { createCredentials } from '../../domain/index.js';
import { mapLoginSuccessToEntrypoint } from './entrypoint-mappers.js';
const entrypoint = async (command, deps) => {
deps.logger.info('Login entrypoint called');
const credentials = createCredentials(command.username, command.password);
const authenticateUser = authenticateUserService(deps.tpRepository);
const executeLogin = executeLoginUserUseCase(authenticateUser);
const session = await executeLogin(credentials);
return mapLoginSuccessToEntrypoint(session.token, session.user);
};
export const loginEntrypoint = (dependencies) => (command) => entrypoint(command, dependencies);