define({ email, firstName, lastName, gender, description, address, city, state, zip, phone, password, interests, skills, environmentalPreference, availability, totalHours, eventsParticipated, profilePicture, bannerPicture, acceptTermsOfUse }) {
    if (Meteor.isServer) {
      const username = email;
      const user = this.findOne({ email, firstName, lastName });
      if (!user) {
        const role = ROLE.VOLUNTEER;
        const profileID = this._collection.insert({
          email,
          firstName,
          lastName,
          gender,
          description,
          address,
          city,
          state,
          zip,
          phone,
          interests,
          skills,
          environmentalPreference,
          availability,
          totalHours,
          eventsParticipated,
          profilePicture,
          bannerPicture,
          acceptTermsOfUse,
          userID: this.getFakeUserId(),
          role });
        const userID = Users.define({ username, role, password });
        this._collection.update(profileID, { $set: { userID } });
        return profileID;
      }
      return user._id;
    }
    return undefined;
  }
/**
   * Defines the volunteer profile associated with a User and the associated Meteor account.
   * @param email The email associated with this profile. Will be the username.
   * @param password The password for this user.
   * @param firstName The first name.
   * @param lastName The last name.
   * @param gender User's gender.
   * @param address User's address.
   * @param city User's city.
   * @param state User's state.
   * @param zip User's zip
   * @param phone User's phone number.
   * @param interests Set of interests.
   * @param skills Set of Skills.
   * @param environmentalPreference Set of preferences.
   * @param availability Set of availabilities.
   * @param acceptTermsOfUse Check if users accepted TOU.
   */
Defines the volunteer profile associated with a User and the associated Meteor account.
@param email The email associated with this profile. Will be the username.
@param password The password for this user.
@param firstName The first name.
@param lastName The last name.
@param gender User's gender.
@param address User's address.
@param city User's city.
@param state User's state.
@param zip User's zip
@param phone User's phone number.
@param interests Set of interests.
@param skills Set of Skills.
@param environmentalPreference Set of preferences.
@param availability Set of availabilities.
@param acceptTermsOfUse Check if users accepted TOU.
Defines the volunteer profile associated with a User and the associated Meteor account . @param email The email associated with this profile . Will be the username . @param password The password for this user . @param firstName The first name . @param lastName The last name . @param gender User ' s gender . @param address User ' s address . @param city User ' s city . @param state User ' s state . @param zip User ' s zip @param phone User ' s phone number . @param interests Set of interests . @param skills Set of Skills . @param environmentalPreference Set of preferences . @param availability Set of availabilities . @param acceptTermsOfUse Check if users accepted TOU .
define({ email, firstName, lastName, gender, description, address, city, state, zip, phone, password, interests, skills, environmentalPreference, availability, totalHours, eventsParticipated, profilePicture, bannerPicture, acceptTermsOfUse }) {
    if (Meteor.isServer) {
      const username = email;
      const user = this.findOne({ email, firstName, lastName });
      if (!user) {
        const role = ROLE.VOLUNTEER;
        const profileID = this._collection.insert({
          email,
          firstName,
          lastName,
          gender,
          description,
          address,
          city,
          state,
          zip,
          phone,
          interests,
          skills,
          environmentalPreference,
          availability,
          totalHours,
          eventsParticipated,
          profilePicture,
          bannerPicture,
          acceptTermsOfUse,
          userID: this.getFakeUserId(),
          role });
        const userID = Users.define({ username, role, password });
        this._collection.update(profileID, { $set: { userID } });
        return profileID;
      }
      return user._id;
    }
    return undefined;
  }
define ( { email , firstName , lastName , gender , description , address , city , state , zip , phone , password , interests , skills , environmentalPreference , availability , totalHours , eventsParticipated , profilePicture , bannerPicture , acceptTermsOfUse } ) { if ( Meteor . isServer ) { const username = email ; const user = this . findOne ( { email , firstName , lastName } ) ; if ( ! user ) { const role = ROLE . VOLUNTEER ; const profileID = this . _collection . insert ( { email , firstName , lastName , gender , description , address , city , state , zip , phone , interests , skills , environmentalPreference , availability , totalHours , eventsParticipated , profilePicture , bannerPicture , acceptTermsOfUse , userID : this . getFakeUserId ( ) , role } ) ; const userID = Users . define ( { username , role , password } ) ; this . _collection . update ( profileID , { $set : { userID } } ) ; return profileID ; } return user . _id ; } return undefined ; }
Defines the volunteer profile associated with a User and the associated Meteor account.
Defines the volunteer profile associated with a User and the associated Meteor account .