/
refreshmaps.go
48 lines (40 loc) · 1.17 KB
/
refreshmaps.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package api
import (
"github.com/gin-gonic/gin"
"../players/auth"
"../players"
"../settings"
"time"
"../games"
)
func HttpRefreshMaps(c *gin.Context) {
mapResponse := make(map[string]interface{});
sCookieSessID, errCookieSessID := c.Cookie("session_id");
mapResponse["success"] = false;
if (errCookieSessID == nil && sCookieSessID != "") {
oSession, bAuthorized := auth.GetSession(sCookieSessID, c.Query("csrf"));
if (bAuthorized) {
players.MuPlayers.RLock();
pPlayer := players.MapPlayers[oSession.SteamID64];
if (pPlayer.Access == 4) { //admin
mapResponse["success"] = true;
go func()() {
games.MuGames.Lock();
settings.RefreshMaps();
games.MuGames.Unlock();
players.I64LastPlayerlistUpdate = time.Now().UnixMilli();
}();
} else {
mapResponse["error"] = "You dont have access to this command";
}
players.MuPlayers.RUnlock();
} else {
mapResponse["error"] = "Please authorize first";
}
} else {
mapResponse["error"] = "Please authorize first";
}
c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("origin"));
c.Header("Access-Control-Allow-Credentials", "true");
c.JSON(200, mapResponse);
}