-
Notifications
You must be signed in to change notification settings - Fork 1
2. Models
Represents tokens obtained from Core BB. The native Core BB token contains access and refresh tokens, as well as their token type. The old OIDC token of Illinois app (aka UIUC token) contains id token as well. The token strings are used to authenticate the HTTP requests to other Rokwire backend services.
Represents the supported authentication types by Core BB:
-
Anonymous
The user is not authenticated. Used for anonymous or not authenticated yet users. -
ApiKey
The authentication is performed by a secret API key. -
Email
The user is authenticated by email login. -
Phone, PhoneTwilio
The user is authenticated by phone. -
Oidc, OidcIllinois
The user is authenticated by OIDC.
Represents all data associated for a user account in Core BB. It contains:
-
Profile
User profile data as defined inAuth2UserProfile
. -
Preferences
User preferences as described inAuth2UserPrefs
. -
Permissions
List of permissions for the given accountt. -
Roles
List of roles for the given account. -
Groups
List of groups for the given account. -
Auth2Types
List of authentication types for the given account.
Contains user's PII data like name, email, phone, address, birth year, or photo.
Contains miscellaneous user's preferences like interests, favorites, tags, etc.
Contains user's voting data separately grouped from the other preference data.
Contains user's authentication types. There can be more than a single authentication type as a single user account could have multiple linked authentication types (e.g. by OIDC, email, phone). The params field contains specific data for given authentication type.
Represents UIUC OIDC user data. This data comes in the 'user' param for oidcIllinois authentication type. Contains UIUC specific data like user's NetId, UIN, email or local UIUC roles.
Describes the roles a Rokwire user could have. The currently available roles include student
or stuff
, alumni
, parent
, visitor
, resident
or athletics fan
. The user could accept multiple roles at once like stuff, alumni and athletics fan.
Abstract class could uniquely identify different independent types of favorites, e.g. favorite event, dining, sport event or student guide article.
Represents the error data that Core BB supplies in case of error.
Abstract class that defines most common interfaces of items that appear in Explore panels. These are getters for id, title, description, image url, geographic location, etc. It has three predefined types of Explore: Event
or Dining
.
Describes events that appear in Explore panels. It extends the Explore abstract class and implements its common interfaces.
It contains basic event data like name, description, image url, geographic location that fulfills Explore abstract interfaces. It also contains a lot of Event specific data like start/end date times, categories, target audience, tags, etc. It allows grouping recurring events by recurringFlag and recurrenceId fields.
Describes geographic location in terms of latitude, longitude and floor, as well as various metadata for this location like name, description, building, address, etc.
Poll class represents Quick Poll. It contains entire data for a poll: id, question, options, settings, status, votes, etc. Poll’s data generally follows the model that comes from backend poll service.
PollSettings class represents settings for a poll that are a number of boolean flags for miscellaneous poll characteristics.
Enumerate for poll status: created, opened, closed.
PollVote class holds votes for each option and exposes methods for user voting.
Group class represents a Rokwire group. It contains first level data for a group: id, name, type, category, description, privacy, members, tags and membership application questions.
Represents privacy status of a group. Groups can be private or public.
Represents group member data. It contains some PII data like identifier, name, email or photo urr. It also contains membership status that could be member or admin and pending or rejected applicant, as well as the answers provided on application.
Represents a list of steps that need to get performed to apply for group membership..
Represents a particular step for applying for group membership. It can be linked to a set of events represented by their IDs. Not actually used.
Represents single question for a group membership application.
Represents a user's answer of group membership question.
Extends the regular Explore Event by adding member's comments on that event.
Represents a user's post in a group. Contains subject and body and date & time, optional image, author of the post and list of replies.
Represents an error that could arise.
This is a class that wraps data for region for monitoring. There are two types of regions: location and beacons. GeoFenceRegion holds common region data like ID, name, enabled flag. The type specific data is held in data field that varies for different types of regions.
The types set is used to group regions internally by logical type. The current logical types are described in geo_fence
section from assets/assets.json
. The currently defined types are stadium
for geofence filter in stadium polls, voter
- for voter registration regions, and “MTD” for MTD buss beacons.
This is an enumeration for available region types: location and beacon.
Describes location region specific data - a circular region determined by its center point as latitude/longitude coordinate and radius around this center.
Describes beacon region specific data - UUID and/or major and/or minor value.
Represents inbox message. Contains subject and body; optional data; topic, category and priority; sender and recipients.
Represents inbox message recipient. The recipient is identified by user id.
Represents inbox message sender. The sender could be a system or particular user.
Defines type of senders - system or user..
Represents a particular user as inbox message sender. The user is identified by user id.
Represents information for inbox user. The user is identified by user id. It also contains the GCM topics the user is member of.
UiColors maps all brand colors used in the application.
UiFontFamilies maps all brand font families used in the application.
UiStyles maps all brand text styles used in the application.