Stream Chat Unreal SDK
Loading...
Searching...
No Matches
TestJson.h
1// Copyright 2022 Stream.IO, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "AdditionalFields.h"
6#include "CoreMinimal.h"
7#include "StreamJsonField.h"
8
9#include "TestJson.generated.h"
10
11UENUM()
12enum class ETestEnum : uint8
13{
14 FirstElement,
15 SecondEnumValue,
16 Number3
17};
18
19USTRUCT()
20struct FTestEnum
21{
22 GENERATED_BODY()
23
24 UPROPERTY()
25 ETestEnum ManyWordsEnum = ETestEnum::Number3;
26};
27
28USTRUCT()
29struct FTestNestedEnum
30{
31 GENERATED_BODY()
32
33 UPROPERTY()
34 FTestEnum NestedEnum;
35};
36
37USTRUCT()
38struct FTestNestedJson
39{
40 GENERATED_BODY()
41
42 UPROPERTY()
43 FString Foo;
44
45 UPROPERTY()
46 float Bar = -1.f;
47};
48
49USTRUCT()
50struct FTestJson
51{
52 GENERATED_BODY()
53
54 UPROPERTY()
55 int32 Int32 = -1;
56
57 UPROPERTY()
58 int32 Int64 = -1;
59
60 UPROPERTY()
61 float Float = -1.f;
62
63 UPROPERTY()
64 double Double = -1.;
65
66 UPROPERTY()
67 bool bBoolean = false;
68
69 UPROPERTY()
70 FString String;
71
72 UPROPERTY()
73 FTestNestedJson NestedObject;
74
75 UPROPERTY()
76 TArray<int32> ArrayOfInt32;
77
78 UPROPERTY()
79 TArray<int32> ArrayOfInt64;
80
81 UPROPERTY()
82 TArray<float> ArrayOfFloat;
83
84 UPROPERTY()
85 TArray<double> ArrayOfDouble;
86
87 UPROPERTY()
88 TArray<bool> ArrayOfBoolean;
89
90 UPROPERTY()
91 TArray<FString> ArrayOfString;
92
93 UPROPERTY()
94 TArray<FTestNestedJson> ArrayOfNestedObject;
95
96 UPROPERTY()
97 ETestEnum Enum = ETestEnum::Number3;
98
99 UPROPERTY()
100 FAdditionalFields AdditionalFields;
101};
102
103USTRUCT()
104struct FSmallTestJson
105{
106 GENERATED_BODY()
107
108 UPROPERTY()
109 float Number = -1.f;
110
111 UPROPERTY()
112 FAdditionalFields AdditionalFields;
113};
114USTRUCT()
115struct FExtraFieldTestJson
116{
117 GENERATED_BODY()
118
119 TOptional<FDateTime> GetDeletedAt() const
120 {
121 return AdditionalFields.Get<FDateTime>(TEXT("deleted_at"));
122 }
123 void SetDeletedAt(const FDateTime& Value)
124 {
125 return AdditionalFields.Set(TEXT("deleted_at"), Value);
126 }
127
128 UPROPERTY()
129 FString String;
130
131 UPROPERTY()
132 FAdditionalFields AdditionalFields;
133};