src/helpers/user/Invitation.js
import Helper from '../Helper';
import InvitationModel from '../../models/user/Invitation';
import { aggregate } from '../../utilities/ClassUtility';
/**
* Helper class representing an eDiary Entry Group.
*
* @extends {InvitationModel}
* @extends {Helper}
*/
class Invitation extends aggregate(InvitationModel, Helper) {
/**
* Constructor for helper class representing an eDiary Entry Group
*
* @param {Object} json - json api response from server
*/
constructor(json = {}) {
super(json);
this._relationships = {};
this.deserializeRelationshipStubs(json);
this.syncRelationships(json);
}
/** @type {String} - The type */
static get type() {
return 'invitations';
}
/** @type {Language} */
get language() {
return this._relationships.language;
}
/** @type {Language} */
set language(language) {
/** @type {Language} */
this._relationships.language = language;
}
/** @type {User} */
get followed() {
return this._relationships.followed;
}
/** @type {User} */
set followed(followed) {
/** @type {User} */
this._relationships.followed = followed;
}
/** @type {Role} */
get role() {
return this._relationships.user_role;
}
/** @type {Role} */
set role(role) {
/** @type {Role} */
this._relationships.user_role = role;
}
}
export default Invitation;