trainingpeaks-sdk
Version:
TypeScript SDK for TrainingPeaks API integration
28 lines (27 loc) • 1.05 kB
JavaScript
import { ValidationError } from '../../domain/errors/domain-errors.js';
export const createCredentials = (username, password) => {
const trimmedUsername = username.trim();
if (!trimmedUsername) {
throw new ValidationError('Username cannot be empty', 'username');
}
if (!password) {
throw new ValidationError('Password cannot be empty', 'password');
}
if (trimmedUsername.length > 100) {
throw new ValidationError('Username cannot exceed 100 characters', 'username');
}
const credentials = {
username: trimmedUsername,
password,
};
return Object.freeze(credentials);
};
export const validateCredentials = (credentials) => {
return credentials.username.length > 0 && credentials.password.length > 0;
};
export const createMaskedCredentials = (credentials) => {
return createCredentials(credentials.username, '***');
};
export const areCredentialsEqual = (cred1, cred2) => {
return cred1.username === cred2.username && cred1.password === cred2.password;
};