A Demo Project for the UnrealEngineSDK
Loading...
Searching...
No Matches
ApexTypes.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "ApexSDKDefines.h"
7#include "XAPITypes.h"
8#include "ApexJSON.h"
9#include "ApexTypes.generated.h"
10
11USTRUCT(BlueprintType)
12struct APEXSDK_API FApexLoginInfo
13{
14 GENERATED_BODY()
16 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Login")
17 FString Username;
18
19 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Login")
20 FString Password;
21
22public:
23
25 : Username("")
26 , Password("")
27 { }
28
29 FApexLoginInfo(FString InUsername, FString InPassword)
30 : Username(InUsername)
31 , Password(InPassword)
32 { }
33};
34
35USTRUCT(BlueprintType)
36struct APEXSDK_API FJoinSessionData : public FJsonable
37{
38 GENERATED_BODY()
39
40 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
41 FString Uuid;
42 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
43 FString EventType;
44 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
45 int ModuleId;
46 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
47 FString DeviceId;
48 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
49 FString IpAddress;
50 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
51 FXAPIStatement JsonData;
53 virtual ~FJoinSessionData() {}
54
55 virtual TSharedPtr<FJsonObject> ToJsonObject() const
56 {
57 TSharedPtr<FJsonObject> Result(new FJsonObject);
58 if (!Uuid.IsEmpty())
59 {
60 Result->SetStringField("uuid", Uuid);
61 }
62
63 if (!EventType.IsEmpty())
64 {
65 Result->SetStringField("eventType", EventType);
66 }
67
68 Result->SetNumberField("moduleId", ModuleId);
69
70 if (!DeviceId.IsEmpty())
71 {
72 Result->SetStringField("deviceId", DeviceId);
73 }
74
75 if (!IpAddress.IsEmpty())
76 {
77 Result->SetStringField("ipAddress", IpAddress);
78 }
79
80 JsonData.Stamp();
81
82 if (!JsonData.IsEmpty())
83 {
84 Result->SetObjectField("jsonData", JsonData.ToJsonObject());
85 }
86
87 return Result;
88 }
89};
90
91USTRUCT(BlueprintType)
92struct APEXSDK_API FAPEXRequestFailed : public FJsonable
94 GENERATED_BODY()
95
96 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Failed Request")
97 bool Error;
98
99 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Failed Request")
100 FString HttpCode;
101
102 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Failed Request")
103 FString Message;
104
106 {
107 // Create a default
108 Error = true;
109 HttpCode = TEXT("400");
110 Message = TEXT("There is a server connection error. Please check that there is a valid URL being used or check if APEX is down.");
111 }
112
113 virtual void FromJsonObject(const TSharedPtr<FJsonObject>& JObject) override
114 {
115 if(JObject->HasField("Error"))
116 Error = JObject->GetBoolField("Error");
117
118 if (JObject->HasField("HttpCode"))
119 HttpCode = JObject->GetStringField("HttpCode");
120
121 if (JObject->HasField("Message"))
122 Message = JObject->GetStringField("Message");
123 }
124};
125
126USTRUCT(BlueprintType)
127struct APEXSDK_API FSessionData : public FJsonable
128{
129 GENERATED_BODY()
130
131 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
132 bool Complete;
133 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
134 bool Success;
135 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
136 float Score;
137 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
138 float ScoreScaled;
139 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
140 float ScoreMin;
141 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
142 float ScoreMax;
143 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
144 int Duration;
145
146 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
147 FXAPIExtension AdditionalContextData;
148 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
149 FXAPIExtension AdditionalResultData;
150
151 virtual ~FSessionData() { }
152
153 // TODO: Implement a FromJsonObject function. IMPORTANT TO DO!
154 virtual void FromJsonObject(const TSharedPtr<FJsonObject>& JObject) override
155 {
156 Score = JObject->GetNumberField("score");
157 ScoreScaled = JObject->GetNumberField("scoreScaled");
158 ScoreMin = JObject->GetNumberField("scoreMin");
159 ScoreMax = JObject->GetNumberField("scoreMax");
160 Duration = JObject->GetNumberField("sessionDuration");
161 Complete = JObject->GetBoolField("success");
162 FString LessonStatus = JObject->GetStringField("lessonStatus");
163
164 if (LessonStatus.Equals("passed"))
165 {
166 Complete = true;
167 }
168 else
169 {
170 Complete = false;
171 }
172 }
173};
174
175USTRUCT(BlueprintType)
176struct APEXSDK_API FCompleteSessionData : public FJsonable
177{
178 GENERATED_BODY()
179
180 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Complete Session")
181 FString Uuid;
182 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Complete Session")
183 FString EventType;
184 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Complete Session")
185 int ModuleId;
186 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Complete Session")
187 FString DeviceId;
188 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Complete Session")
189 FXAPIStatement JsonData;
190
191 // TODO: This data will get packed into the FXAPIStatement instead of an extra layer
192 FSessionData SessionData;
193
194
195
196 virtual ~FCompleteSessionData() { }
197
198 // TODO: Implement a FromJsonObject function. IMPORTANT TO DO!
199 virtual void FromJsonObject(const TSharedPtr<FJsonObject>& JObject) override
200 {
201 if (JObject->HasField("uuid"))
202 {
203 Uuid = JObject->GetStringField("uuid");
205
206 if (JObject->HasField("eventType"))
207 {
208 EventType = JObject->GetStringField("eventType");
209 }
211 ModuleId = JObject->GetNumberField("moduleId");
212
213 if (JObject->HasField("deviceId"))
214 {
215 DeviceId = JObject->GetStringField("deviceId");
217
218 if (JObject->HasField("jsonData"))
219 {
220 JsonData.FromJsonObject(JObject->GetObjectField("jsonData"));
221 SessionData.FromJsonObject(JObject->GetObjectField("jsonData"));
223 }
224
225 virtual TSharedPtr<FJsonObject> ToJsonObject() const override
226 {
227 TSharedPtr<FJsonObject> Result(new FJsonObject);
229 if (!Uuid.IsEmpty())
230 {
231 Result->SetStringField("uuid", Uuid);
232 }
233
234 if (!EventType.IsEmpty())
236 Result->SetStringField("eventType", EventType);
237 }
238
239 Result->SetNumberField("moduleId", ModuleId);
240
241 if (!DeviceId.IsEmpty())
242 {
243 Result->SetStringField("deviceId", DeviceId);
244 }
245
246 // Update the time stamp
247 JsonData.Stamp();
248
249 if (!JsonData.IsEmpty())
250 {
251 TSharedPtr<FJsonObject> JsonDataObject = JsonData.ToJsonObject();
252 JsonDataObject->SetNumberField("score", SessionData.Score);
253 JsonDataObject->SetNumberField("scoreScaled", SessionData.ScoreScaled);
254 JsonDataObject->SetNumberField("scoreMin", SessionData.ScoreMin);
255 JsonDataObject->SetNumberField("scoreMax", SessionData.ScoreMax);
256 JsonDataObject->SetNumberField("sessionDuration", SessionData.Duration);
257 JsonDataObject->SetBoolField("success", SessionData.Success);
258 FString LessonStatus = "failed";
259 if (SessionData.Success)
260 {
261 LessonStatus = "passed";
262 }
263 JsonDataObject->SetStringField("lessonStatus", LessonStatus);
264 JsonDataObject->SetStringField("moduleName", FString::FromInt(ModuleId));
265
266 Result->SetObjectField("jsonData", JsonDataObject);
267 }
268
269 return Result;
270 }
272
273USTRUCT(BlueprintType)
274struct APEXSDK_API FSessionEventData : public FJsonable
275{
276 GENERATED_BODY()
277
278 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Event")
279 FString Uuid;
280 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Event")
281 FString EventType;
282 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Event")
283 int ModuleId;
284 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Event")
285 FString DeviceId;
286 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Event")
287 FXAPIStatement JsonData;
288
289public:
290 virtual ~FSessionEventData() { }
291
292 virtual TSharedPtr<FJsonObject> ToJsonObject() const override
293 {
294 TSharedPtr<FJsonObject> Result(new FJsonObject);
295
296 if (!Uuid.IsEmpty())
297 {
298 Result->SetStringField("uuid", Uuid);
299 }
300
301 if (!EventType.IsEmpty())
302 {
303 Result->SetStringField("eventType", EventType);
305
306 Result->SetNumberField("moduleId", ModuleId);
308 if (!DeviceId.IsEmpty())
309 {
310 Result->SetStringField("deviceId", DeviceId);
312
313 // Update the time stamp
314 JsonData.Stamp();
315
316 if (!JsonData.IsEmpty())
317 {
318 Result->SetObjectField("jsonData", JsonData.ToJsonObject());
319 }
320
321 return Result;
322 }
323};
324
325USTRUCT(BlueprintType)
326struct APEXSDK_API FAPEXOrganization : public FJsonable
327{
328 GENERATED_BODY()
329
330 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Apex Org")
331 int ID;
332 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Apex Org")
333 FString Name;
334 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Apex Org")
335 FString Status;
336
337public:
338 virtual ~FAPEXOrganization() { }
339
340 virtual void FromJsonObject(const TSharedPtr<FJsonObject>& JObject) override
341 {
342 ID = JObject->GetIntegerField("ID");
343 Name = JObject->GetStringField("Name");
344 Status = JObject->GetStringField("Status");
345 }
346
347 virtual TSharedPtr<FJsonObject> ToJsonObject() const override
348 {
349 TSharedPtr<FJsonObject> Result(new FJsonObject);
350
351 Result->SetNumberField("ID", ID);
352 Result->SetStringField("Name", Name);
353 Result->SetStringField("Status", Status);
354
355 return Result;
356 }
357};
358
359USTRUCT(BlueprintType)
360struct APEXSDK_API FUserSessionData : public FJsonable
361{
362 GENERATED_BODY()
363
364 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
365 int ID;
366 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
367 int OrgId;
368 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
369 int OrgUnit;
370 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
371 FString FirstName;
372 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
373 FString LastName;
374 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
375 FString Email;
376 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
377 FString SessionToken;
378 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
379 FAPEXOrganization Organization;
380
381public:
382 virtual ~FUserSessionData() { }
383
384 bool IsSet()
385 {
386 return (!SessionToken.IsEmpty());
387 }
388
389 void Invalidate()
390 {
391 SessionToken = TEXT("");
393
394 virtual void FromJsonObject(const TSharedPtr<FJsonObject>& JObject) override
395 {
396 ID = JObject->GetIntegerField("ID");
397 OrgId = JObject->GetIntegerField("OrgId");
398 if (JObject->HasField("OrgUnit"))
399 {
400 OrgUnit = JObject->GetIntegerField("OrgUnit");
402 else
403 {
404 OrgUnit = -1;
405 }
406 FirstName = JObject->GetStringField("First");
407 LastName = JObject->GetStringField("Last");
408 Email = JObject->GetStringField("Email");
409 SessionToken = JObject->GetStringField("Token");
410 Organization.FromJsonObject(JObject->GetObjectField("Org"));
411 }
412
413 virtual TSharedPtr<FJsonObject> ToJsonObject() const override
414 {
415 TSharedPtr<FJsonObject> Result(new FJsonObject);
416
417 Result->SetNumberField("ID", ID);
418 Result->SetNumberField("OrgId", OrgId);
419 if (OrgUnit >= 0)
420 {
421 Result->SetNumberField("OrgUnit", OrgUnit);
422 }
423 Result->SetStringField("First", FirstName);
424 Result->SetStringField("Last", LastName);
425 Result->SetStringField("Email", Email);
426 Result->SetStringField("Token", SessionToken);
427 Result->SetObjectField("Org", Organization.ToJsonObject());
429 return Result;
431};
432
433USTRUCT(BlueprintType)
434struct APEXSDK_API FApexUserData : public FJsonable
435{
436 GENERATED_BODY()
437
438 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
439 int Id;
440
441 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
442 int OrgUnit;
443
444 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
445 FString FirstName;
446
447 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
448 FString LastName;
449
450 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
451 FString Email;
452
453 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
454 FString Username;
455
456 virtual void FromJsonObject(const TSharedPtr<FJsonObject>& JObject) override
457 {
458 Id = JObject->GetIntegerField("id");
459 if (JObject->HasField("orgunit"))
460 {
461 OrgUnit = JObject->GetIntegerField("orgunit");
462 }
463 else
464 {
465 OrgUnit = -1;
466 }
467 FirstName = JObject->GetStringField("first");
468 LastName = JObject->GetStringField("last");
469 Email = JObject->GetStringField("email");
470 Username = JObject->GetStringField("username");
471 }
472
473 virtual TSharedPtr<FJsonObject> ToJsonObject() const override
474 {
475 TSharedPtr<FJsonObject> Result(new FJsonObject);
477 Result->SetNumberField("id", Id);
478 if (OrgUnit >= 0)
479 {
480 Result->SetNumberField("orgunit", OrgUnit);
481 }
482 Result->SetStringField("first", FirstName);
483 Result->SetStringField("last", LastName);
484 Result->SetStringField("email", Email);
485 Result->SetStringField("username", Username);
486
487 return Result;
489};
490
491USTRUCT(BlueprintType)
492struct APEXSDK_API FSessionReportData : public FJsonable
494 GENERATED_BODY()
495
496 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
497 FString Id;
498 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
499 FString EventType;
500 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
501 int UserId;
502 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
503 int ModuleId;
504 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
505 int SessionId;
506 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
507 float SessionDuration;
508 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
509 bool LessonStatus;
510 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
511 FString CreatedAt;
512 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
513 FString UpdatedAt;
514 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
515 FXAPIStatement JsonData;
517 virtual ~FSessionReportData() { }
519 virtual void FromJsonObject(const TSharedPtr<FJsonObject>& JObject) override
520 {
521 if (JObject->HasField("id"))
522 {
523 Id = JObject->GetStringField("id");
524 }
526 if (JObject->HasField("eventType"))
527 {
528 EventType = JObject->GetStringField("eventType");
529 }
530
531 if (JObject->HasField("sessionId"))
532 {
533 SessionId = JObject->GetNumberField("sessionId");
534 }
535
536 if (JObject->HasField("userId"))
538 UserId = JObject->GetNumberField("userId");
539 }
540
541 if (JObject->HasField("moduleId"))
542 {
543 ModuleId = JObject->GetNumberField("moduleId");
544 }
545
546 if (JObject->HasField("createdAt"))
547 {
548 CreatedAt = JObject->GetStringField("createdAt");
550
551 if (JObject->HasField("updatedAt"))
552 {
553 UpdatedAt = JObject->GetStringField("updatedAt");
554 }
556 if (JObject->HasField("jsonData"))
557 {
558 TSharedPtr<FJsonObject> JsonDataObject = JObject->GetObjectField("jsonData");
559 JsonData.FromJsonObject(JsonDataObject);
560 if (JsonDataObject->HasField("sessionDuration"))
562 SessionDuration = JsonDataObject->GetNumberField("sessionDuration");
563 }
564
565 if (JsonDataObject->HasField("lessonStatus"))
566 {
567 LessonStatus = JsonDataObject->GetBoolField("lessonStatus");
568 }
569 }
571};
573USTRUCT(BlueprintType)
574struct APEXSDK_API FTopTenData : public FJsonable
575{
576 GENERATED_BODY()
578 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Top Ten Data")
579 bool Error;
580 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Top Ten Data")
581 FString Message;
582 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Top Ten Data")
583 FApexUserData User;
584 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Top Ten Data")
585 TArray<FSessionReportData> Sessions;
586
587public:
588 virtual ~FTopTenData() { }
589
590 virtual void FromJsonObject(const TSharedPtr<FJsonObject>& JObject) override
591 {
592 Error = JObject->GetBoolField("error");
593 Message = JObject->GetStringField("message");
594
595 TArray<TSharedPtr<FJsonValue>> SessionDataArray;
596 // This confirms if it's a user with session data or just session data
597 if (JObject->HasTypedField<EJson::Array>("data"))
598 {
599 SessionDataArray = JObject->GetArrayField("data");
600 }
601 else
602 {
603 auto DataObject = JObject->GetObjectField("data");
604
605 User.FromJsonObject(DataObject->GetObjectField("user"));
606 SessionDataArray = DataObject->GetArrayField("sessions");
607 }
608
609 FSessionReportData CompleteSessionData;
610 for (auto SessionData : SessionDataArray)
611 {
612 CompleteSessionData.FromJsonObject(SessionData->AsObject());
613
614 Sessions.Push(CompleteSessionData);
615 }
616 }
617
618 virtual TSharedPtr<FJsonObject> ToJsonObject() const override
619 {
620 TSharedPtr<FJsonObject> Result(new FJsonObject);
621
622 // TODO (MGruber): Fill this in later. It's not super important right now.
623
624 return Result;
626};
@ Login
Definition ApexAPI.h:21
USTRUCT(BlueprintType)
Definition ApexTypes.h:468
int ID
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Apex Org")
Definition ApexTypes.h:476
virtual TSharedPtr< FJsonObject > ToJsonObject() const override
Definition ApexTypes.h:500
FString Name
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Apex Org")
Definition ApexTypes.h:482
virtual ~FAPEXOrganization()
Definition ApexTypes.h:491
FString Status
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Apex Org")
Definition ApexTypes.h:488
virtual void FromJsonObject(const TSharedPtr< FJsonObject > &JObject) override
Definition ApexTypes.h:493
USTRUCT(BlueprintType)
Definition ApexTypes.h:134
FString Message
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Failed Request")
Definition ApexTypes.h:156
bool Error
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Failed Request")
Definition ApexTypes.h:142
virtual void FromJsonObject(const TSharedPtr< FJsonObject > &JObject) override
Definition ApexTypes.h:166
FString HttpCode
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Failed Request")
Definition ApexTypes.h:149
USTRUCT(BlueprintType)
Definition ApexTypes.h:16
FApexLoginInfo(FString InUsername, FString InPassword)
Definition ApexTypes.h:40
FString Password
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Login")
Definition ApexTypes.h:31
FString Username
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Login")
Definition ApexTypes.h:24
USTRUCT(BlueprintType)
Definition ApexTypes.h:626
FString FirstName
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
Definition ApexTypes.h:648
int Id
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
Definition ApexTypes.h:634
virtual TSharedPtr< FJsonObject > ToJsonObject() const override
Definition ApexTypes.h:688
int OrgUnit
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
Definition ApexTypes.h:641
FString LastName
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
Definition ApexTypes.h:655
FString Username
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
Definition ApexTypes.h:669
FString Email
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Data")
Definition ApexTypes.h:662
virtual void FromJsonObject(const TSharedPtr< FJsonObject > &JObject) override
Definition ApexTypes.h:671
USTRUCT(BlueprintType)
Definition ApexTypes.h:272
FString Uuid
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Complete Session")
Definition ApexTypes.h:280
int ModuleId
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Complete Session")
Definition ApexTypes.h:292
FString DeviceId
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Complete Session")
Definition ApexTypes.h:298
virtual ~FCompleteSessionData()
Definition ApexTypes.h:311
FXAPIStatement JsonData
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Complete Session")
Definition ApexTypes.h:304
FString EventType
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Complete Session")
Definition ApexTypes.h:286
virtual TSharedPtr< FJsonObject > ToJsonObject() const override
Definition ApexTypes.h:340
virtual void FromJsonObject(const TSharedPtr< FJsonObject > &JObject) override
Definition ApexTypes.h:314
FSessionData SessionData
Definition ApexTypes.h:307
USTRUCT(BlueprintType)
Definition ApexTypes.h:51
virtual TSharedPtr< FJsonObject > ToJsonObject() const
Definition ApexTypes.h:93
FString IpAddress
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
Definition ApexTypes.h:83
FString DeviceId
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
Definition ApexTypes.h:77
int ModuleId
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
Definition ApexTypes.h:71
FXAPIStatement JsonData
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
Definition ApexTypes.h:89
FString Uuid
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
Definition ApexTypes.h:59
FString EventType
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Join Session")
Definition ApexTypes.h:65
virtual ~FJoinSessionData()
Definition ApexTypes.h:91
USTRUCT()
Definition ApexJSON.h:13
USTRUCT(BlueprintType)
Definition ApexTypes.h:184
bool Complete
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
Definition ApexTypes.h:192
float Score
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
Definition ApexTypes.h:204
float ScoreMin
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
Definition ApexTypes.h:216
float ScoreScaled
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
Definition ApexTypes.h:210
float ScoreMax
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
Definition ApexTypes.h:222
virtual ~FSessionData()
Definition ApexTypes.h:243
int Duration
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
Definition ApexTypes.h:228
FXAPIExtension AdditionalContextData
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
Definition ApexTypes.h:235
virtual void FromJsonObject(const TSharedPtr< FJsonObject > &JObject) override
Definition ApexTypes.h:246
FXAPIExtension AdditionalResultData
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
Definition ApexTypes.h:241
bool Success
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Data")
Definition ApexTypes.h:198
USTRUCT(BlueprintType)
Definition ApexTypes.h:393
virtual TSharedPtr< FJsonObject > ToJsonObject() const override
Definition ApexTypes.h:430
FString DeviceId
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Event")
Definition ApexTypes.h:419
FXAPIStatement JsonData
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Event")
Definition ApexTypes.h:425
int ModuleId
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Event")
Definition ApexTypes.h:413
FString EventType
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Event")
Definition ApexTypes.h:407
FString Uuid
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Event")
Definition ApexTypes.h:401
virtual ~FSessionEventData()
Definition ApexTypes.h:428
USTRUCT(BlueprintType)
Definition ApexTypes.h:711
int SessionId
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
Definition ApexTypes.h:743
int ModuleId
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
Definition ApexTypes.h:737
FString UpdatedAt
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
Definition ApexTypes.h:767
virtual ~FSessionReportData()
Definition ApexTypes.h:775
FString CreatedAt
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
Definition ApexTypes.h:761
bool LessonStatus
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
Definition ApexTypes.h:755
FXAPIStatement JsonData
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
Definition ApexTypes.h:773
FString Id
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
Definition ApexTypes.h:719
int UserId
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
Definition ApexTypes.h:731
FString EventType
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
Definition ApexTypes.h:725
virtual void FromJsonObject(const TSharedPtr< FJsonObject > &JObject) override
Definition ApexTypes.h:777
float SessionDuration
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Session Report")
Definition ApexTypes.h:749
USTRUCT(BlueprintType)
Definition ApexTypes.h:836
virtual TSharedPtr< FJsonObject > ToJsonObject() const override
Definition ApexTypes.h:895
TArray< FSessionReportData > Sessions
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Top Ten Data")
Definition ApexTypes.h:862
virtual ~FTopTenData()
Definition ApexTypes.h:865
virtual void FromJsonObject(const TSharedPtr< FJsonObject > &JObject) override
Definition ApexTypes.h:867
bool Error
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Top Ten Data")
Definition ApexTypes.h:844
FApexUserData User
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Top Ten Data")
Definition ApexTypes.h:856
FString Message
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|Top Ten Data")
Definition ApexTypes.h:850
USTRUCT(BlueprintType)
Definition ApexTypes.h:517
virtual void FromJsonObject(const TSharedPtr< FJsonObject > &JObject) override
Definition ApexTypes.h:582
int ID
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
Definition ApexTypes.h:525
FString FirstName
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
Definition ApexTypes.h:543
virtual ~FUserSessionData()
Definition ApexTypes.h:570
int OrgUnit
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
Definition ApexTypes.h:537
virtual TSharedPtr< FJsonObject > ToJsonObject() const override
Definition ApexTypes.h:601
FString Email
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
Definition ApexTypes.h:555
int OrgId
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
Definition ApexTypes.h:531
FAPEXOrganization Organization
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
Definition ApexTypes.h:567
FString LastName
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
Definition ApexTypes.h:549
FString SessionToken
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Apex|User Session Data")
Definition ApexTypes.h:561
USTRUCT(BlueprintType)
USTRUCT(BlueprintType)
Definition XAPITypes.h:1156
virtual void FromJsonObject(const TSharedPtr< FJsonObject > &JObject) override
Definition XAPITypes.h:1194
virtual TSharedPtr< FJsonObject > ToJsonObject() const override
Definition XAPITypes.h:1217
void Stamp() const
Definition XAPITypes.h:1175
virtual bool IsEmpty() const override
Definition XAPITypes.h:1188