package com.iamthefij.otbeta.api; import org.json.JSONObject; /** * Represents an Exerciser or user */ public class Exerciser { private final String mUuid; private final String mFirstName; private final String mLastName; private final Boolean mVerified; private final String mHomeClubUuid; private final String mHomeClubName; private final String mChainUuid; private final String mChainName; private final String mTimezone; private final Integer mTimezoneOffset; private final Boolean mProfileCompleted; private final String mMembershipType; private final String mBarcode; private final String mExternalAuthToken; private final String mMeasurementUnit; private final Boolean mHasMessages; public String getUuid() { return mUuid; } public String getFirstName() { return mFirstName; } public String getLastName() { return mLastName; } public Boolean getVerified() { return mVerified; } public String getHomeClubUuid() { return mHomeClubUuid; } public String getHomeClubName() { return mHomeClubName; } public String getChainUuid() { return mChainUuid; } public String getChainName() { return mChainName; } public String getTimezone() { return mTimezone; } public Integer getTimezoneOffset() { return mTimezoneOffset; } public Boolean getProfileCompleted() { return mProfileCompleted; } public String getMembershipType() { return mMembershipType; } public String getBarcode() { return mBarcode; } public String getExternalAuthToken() { return mExternalAuthToken; } public String getMeasurementUnit() { return mMeasurementUnit; } public Boolean getHasMessages() { return mHasMessages; } /** * Creates an Exerciser from a login response * * @param loginResponse {@link JSONObject} response from a login request */ public Exerciser(JSONObject loginResponse) { mUuid = loginResponse.optString("uuid"); mFirstName = loginResponse.optString("firstName"); mLastName = loginResponse.optString("lastName"); mVerified = loginResponse.optBoolean("verified"); mHomeClubUuid = loginResponse.optString("homeClubUuid"); mHomeClubName = loginResponse.optString("homeClubName"); mChainUuid = loginResponse.optString("chainUuid"); mChainName = loginResponse.optString("chainName"); mTimezone = loginResponse.optString("timezone"); mTimezoneOffset = loginResponse.optInt("timezoneOffset"); mProfileCompleted = loginResponse.optBoolean("profileCompleted"); mMembershipType = loginResponse.optString("membershipType"); mBarcode = loginResponse.optString("barcode"); mExternalAuthToken = loginResponse.optString("externalAuthToken"); mMeasurementUnit = loginResponse.optString("measurementUnit"); mHasMessages = loginResponse.optBoolean("hasMessages"); } /** * Minimal version of Exerciser that provides Uuid for REST calls * * @param uuid {@link String} Uuid of the Exerciser to be instantiated */ public Exerciser(String uuid) { mUuid = uuid; mFirstName = null; mLastName = null; mVerified = null; mHomeClubUuid = null; mHomeClubName = null; mChainUuid = null; mChainName = null; mTimezone = null; mTimezoneOffset = null; mProfileCompleted = null; mMembershipType = null; mBarcode = null; mExternalAuthToken = null; mMeasurementUnit = null; mHasMessages = null; } }