trainingpeaks-sdk
Version:
TypeScript SDK for TrainingPeaks API integration
35 lines (34 loc) • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.areCredentialsEqual = exports.createMaskedCredentials = exports.validateCredentials = exports.createCredentials = void 0;
const domain_errors_1 = require("../../domain/errors/domain-errors.js");
const createCredentials = (username, password) => {
const trimmedUsername = username.trim();
if (!trimmedUsername) {
throw new domain_errors_1.ValidationError('Username cannot be empty', 'username');
}
if (!password) {
throw new domain_errors_1.ValidationError('Password cannot be empty', 'password');
}
if (trimmedUsername.length > 100) {
throw new domain_errors_1.ValidationError('Username cannot exceed 100 characters', 'username');
}
const credentials = {
username: trimmedUsername,
password,
};
return Object.freeze(credentials);
};
exports.createCredentials = createCredentials;
const validateCredentials = (credentials) => {
return credentials.username.length > 0 && credentials.password.length > 0;
};
exports.validateCredentials = validateCredentials;
const createMaskedCredentials = (credentials) => {
return (0, exports.createCredentials)(credentials.username, '***');
};
exports.createMaskedCredentials = createMaskedCredentials;
const areCredentialsEqual = (cred1, cred2) => {
return cred1.username === cred2.username && cred1.password === cred2.password;
};
exports.areCredentialsEqual = areCredentialsEqual;