Skip to content

Commit 8a07817

Browse files
committed
WIP: Reports
1 parent bc004b5 commit 8a07817

File tree

4 files changed

+177
-0
lines changed

4 files changed

+177
-0
lines changed

Runtime/Client/LootLockerEndPoints.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,5 +164,12 @@ public class LootLockerEndPoints
164164
// Misc
165165
[Header("Misc")]
166166
public static EndPointClass ping = new EndPointClass("ping", LootLockerHTTPMethod.GET);
167+
168+
// Reports
169+
[Header("Reports")]
170+
public static EndPointClass reportsGetTypes = new EndPointClass("reports/types", LootLockerHTTPMethod.GET);
171+
public static EndPointClass reportsGetRemovedUGCForPlayer = new EndPointClass("player/ugc/removed", LootLockerHTTPMethod.GET);
172+
public static EndPointClass reportsCreatePlayer = new EndPointClass("reports/player", LootLockerHTTPMethod.POST);
173+
public static EndPointClass reportsCreateAsset = new EndPointClass("reports/asset", LootLockerHTTPMethod.POST);
167174
}
168175
}

Runtime/Game/LootLockerSDKManager.cs

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1739,6 +1739,66 @@ public static void PickDropsFromDropTable(int[] picks, int tableInstanceId, Acti
17391739
}
17401740
#endregion
17411741

1742+
#region Reports
1743+
1744+
public static void ReportsGetTypes(Action<LootLockerReportsGetTypesResponse> onComplete)
1745+
{
1746+
if (!CheckInitialized())
1747+
{
1748+
onComplete?.Invoke(LootLockerResponseFactory.SDKNotInitializedError<LootLockerReportsGetTypesResponse>());
1749+
return;
1750+
}
1751+
1752+
LootLockerAPIManager.ReportsGetTypes(onComplete);
1753+
}
1754+
1755+
public static void ReportsCreatePlayer(string leaderboardId, int member_id, Action<LootLockerGetMemberRankResponse> onComplete)
1756+
{
1757+
if (!CheckInitialized())
1758+
{
1759+
onComplete?.Invoke(LootLockerResponseFactory.SDKNotInitializedError<LootLockerGetMemberRankResponse>());
1760+
return;
1761+
}
1762+
LootLockerGetMemberRankRequest lootLockerGetMemberRankRequest = new LootLockerGetMemberRankRequest();
1763+
1764+
lootLockerGetMemberRankRequest.leaderboardId = leaderboardId;
1765+
lootLockerGetMemberRankRequest.member_id = member_id;
1766+
1767+
LootLockerAPIManager.ReportsCreatePlayer(lootLockerGetMemberRankRequest, onComplete);
1768+
}
1769+
1770+
public static void ReportsCreateUGC(string leaderboardId, int member_id, Action<LootLockerGetMemberRankResponse> onComplete)
1771+
{
1772+
if (!CheckInitialized())
1773+
{
1774+
onComplete?.Invoke(LootLockerResponseFactory.SDKNotInitializedError<LootLockerGetMemberRankResponse>());
1775+
return;
1776+
}
1777+
LootLockerGetMemberRankRequest lootLockerGetMemberRankRequest = new LootLockerGetMemberRankRequest();
1778+
1779+
lootLockerGetMemberRankRequest.leaderboardId = leaderboardId;
1780+
lootLockerGetMemberRankRequest.member_id = member_id;
1781+
1782+
LootLockerAPIManager.GetMemberRank(lootLockerGetMemberRankRequest, onComplete);
1783+
}
1784+
1785+
public static void ReportsGetRemovedUGCForPlayer(string leaderboardId, int member_id, Action<LootLockerGetMemberRankResponse> onComplete)
1786+
{
1787+
if (!CheckInitialized())
1788+
{
1789+
onComplete?.Invoke(LootLockerResponseFactory.SDKNotInitializedError<LootLockerGetMemberRankResponse>());
1790+
return;
1791+
}
1792+
LootLockerGetMemberRankRequest lootLockerGetMemberRankRequest = new LootLockerGetMemberRankRequest();
1793+
1794+
lootLockerGetMemberRankRequest.leaderboardId = leaderboardId;
1795+
lootLockerGetMemberRankRequest.member_id = member_id;
1796+
1797+
LootLockerAPIManager.GetMemberRank(lootLockerGetMemberRankRequest, onComplete);
1798+
}
1799+
1800+
#endregion
1801+
17421802
#region Misc
17431803

17441804
public static void Ping(Action<LootLockerPingResponse> onComplete)

Runtime/Game/Requests/ReporRequets.cs

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
using Newtonsoft.Json;
2+
using System;
3+
using System.Collections;
4+
using System.Collections.Generic;
5+
using UnityEngine;
6+
using LootLocker;
7+
using LootLocker.Requests;
8+
using LootLocker.LootLockerEnums;
9+
10+
11+
namespace LootLocker.Requests
12+
{
13+
public class LootLockerReportsGetTypesResponse : LootLockerResponse
14+
{
15+
// we are doing thisfor legacy reasons, since it is no longer being set on the backend
16+
public int id { get; set; }
17+
public string text { get; set; }
18+
}
19+
20+
public class LootLockerReportsCreatePlayerResponse : LootLockerResponse
21+
{
22+
// we are doing thisfor legacy reasons, since it is no longer being set on the backend
23+
public int id { get; set; }
24+
public string text { get; set; }
25+
}
26+
27+
public class ReportsCreatePlayerRequest
28+
{
29+
public int[] report_types { get; set; }
30+
public string text { get; set; }
31+
public int player_id { get; set; }
32+
}
33+
}
34+
35+
namespace LootLocker
36+
{
37+
public partial class LootLockerAPIManager
38+
{
39+
public static void ReportsGetTypes(Action<LootLockerReportsGetTypesResponse> onComplete)
40+
{
41+
EndPointClass endPoint = LootLockerEndPoints.reportsGetTypes;
42+
LootLockerServerRequest.CallAPI(endPoint.endPoint, endPoint.httpMethod, null, ((serverResponse) =>
43+
{
44+
LootLockerReportsGetTypesResponse response = new LootLockerReportsGetTypesResponse();
45+
if (string.IsNullOrEmpty(serverResponse.Error))
46+
{
47+
response = JsonConvert.DeserializeObject<LootLockerReportsGetTypesResponse>(serverResponse.text);
48+
}
49+
50+
response.text = serverResponse.text;
51+
response.success = serverResponse.success;
52+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
53+
onComplete?.Invoke(response);
54+
}), true, LootLockerCallerRole.User);
55+
}
56+
57+
public static void ReportsGetRemovedUGCForPlayer(Action<LootLockerReportsGetTypesResponse> onComplete)
58+
{
59+
EndPointClass endPoint = LootLockerEndPoints.reportsGetRemovedUGCForPlayer;
60+
LootLockerServerRequest.CallAPI(endPoint.endPoint, endPoint.httpMethod, null, ((serverResponse) =>
61+
{
62+
LootLockerReportsGetTypesResponse response = new LootLockerReportsGetTypesResponse();
63+
if (string.IsNullOrEmpty(serverResponse.Error))
64+
{
65+
response = JsonConvert.DeserializeObject<LootLockerReportsGetTypesResponse>(serverResponse.text);
66+
}
67+
68+
response.text = serverResponse.text;
69+
response.success = serverResponse.success;
70+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
71+
onComplete?.Invoke(response);
72+
}), true, LootLockerCallerRole.User);
73+
}
74+
75+
public static void ReportsCreatePlayer(LootLockerGetByListMembersRequest data, string id, Action<LootLockerReportsCreatePlayerResponse> onComplete)
76+
{
77+
EndPointClass requestEndPoint = LootLockerEndPoints.reportsCreatePlayer;
78+
string json = "";
79+
if (data == null) return;
80+
else json = JsonConvert.SerializeObject(data);
81+
82+
string endPoint = string.Format(requestEndPoint.endPoint, id);
83+
84+
LootLockerServerRequest.CallAPI(endPoint, requestEndPoint.httpMethod, json, ((serverResponse) =>
85+
{
86+
LootLockerReportsCreatePlayerResponse response = new LootLockerReportsCreatePlayerResponse();
87+
if (string.IsNullOrEmpty(serverResponse.Error)) {
88+
response = JsonConvert.DeserializeObject<LootLockerReportsCreatePlayerResponse>(serverResponse.text);
89+
}
90+
91+
response.text = serverResponse.text;
92+
response.success = serverResponse.success;
93+
response.Error = serverResponse.Error; response.statusCode = serverResponse.statusCode;
94+
95+
onComplete?.Invoke(response);
96+
}), true, LootLockerCallerRole.User);
97+
}
98+
}
99+
}

Runtime/Game/Requests/ReporRequets.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)