r3-legacy/src/r3-api-user.js

66 lines
1.7 KiB
JavaScript

/**
* R3.API.User
* @param apiComponent
*
* @property googleId
* @property fullName
* @property givenName
* @property familyName
* @property imageUrl
* @property email
* @property uploadFolder
* @property idToken
*
* @constructor
*/
R3.API.User = function(
apiComponent
) {
__API_COMPONENT__;
if (R3.Utils.UndefinedOrNull(apiComponent.googleId)) {
throw new Error('invalid user - no google ID');
}
this.googleId = apiComponent.googleId;
if (R3.Utils.UndefinedOrNull(apiComponent.fullName)) {
apiComponent.fullName = 'unknown full name';
}
this.fullName = apiComponent.fullName;
if (R3.Utils.UndefinedOrNull(apiComponent.givenName)) {
apiComponent.givenName = 'unknown given name';
}
this.givenName = apiComponent.givenName;
if (R3.Utils.UndefinedOrNull(apiComponent.familyName)) {
apiComponent.familyName = 'unknown family name';
}
this.familyName = apiComponent.familyName;
if (R3.Utils.UndefinedOrNull(apiComponent.imageUrl)) {
apiComponent.imageUrl = 'unknown image URL';
}
this.imageUrl = apiComponent.imageUrl;
if (R3.Utils.UndefinedOrNull(apiComponent.email)) {
throw new Error('invalid user - no email address');
}
this.email = apiComponent.email;
if (R3.Utils.UndefinedOrNull(apiComponent.uploadFolder)) {
apiComponent.uploadFolder = email.replace('/','_DS_');
}
this.uploadFolder = apiComponent.uploadFolder;
if (R3.Utils.UndefinedOrNull(apiComponent.idToken)) {
apiComponent.idToken = 'unknown ID token';
}
this.idToken = apiComponent.idToken;
};
R3.API.User.prototype = Object.create(R3.API.Component.prototype);
R3.API.User.prototype.constructor = R3.API.User;