yea
This commit is contained in:
parent
95754bffef
commit
3f08657c4d
129
app/v1/clan.go
129
app/v1/clan.go
|
@ -2,18 +2,18 @@ package v1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"github.com/osuYozora/api/common"
|
|
||||||
"sort"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"github.com/osuYozora/common"
|
||||||
)
|
)
|
||||||
|
|
||||||
type singleClan struct {
|
type singleClan struct {
|
||||||
ID int `json:"id,omitempty"`
|
ID int `json:"id,omitempty"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Description string `json:"description"`
|
Description string `json:"description"`
|
||||||
Tag string `json:"tag"`
|
Tag string `json:"tag"`
|
||||||
Icon string `json:"icon"`
|
Icon string `json:"icon"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type multiClanData struct {
|
type multiClanData struct {
|
||||||
|
@ -53,26 +53,26 @@ func ClansGET(md common.MethodData) common.CodeMessager {
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
type clanMembersData struct {
|
type clanMembersData struct {
|
||||||
common.ResponseBase
|
common.ResponseBase
|
||||||
Members []userNotFullResponseLmao `json:"members"`
|
Members []userNotFullResponseLmao `json:"members"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// get total stats of clan. later.
|
// get total stats of clan. later.
|
||||||
type totalStats struct {
|
type totalStats struct {
|
||||||
common.ResponseBase
|
common.ResponseBase
|
||||||
ClanID int `json:"id"`
|
ClanID int `json:"id"`
|
||||||
ChosenMode modeData `json:"chosen_mode"`
|
ChosenMode modeData `json:"chosen_mode"`
|
||||||
Rank int `json:"rank"`
|
Rank int `json:"rank"`
|
||||||
}
|
}
|
||||||
type clanLbSingle struct {
|
type clanLbSingle struct {
|
||||||
ID int `json:"id,omitempty"`
|
ID int `json:"id,omitempty"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Description string `json:"description"`
|
Description string `json:"description"`
|
||||||
Tag string `json:"tag"`
|
Tag string `json:"tag"`
|
||||||
Icon string `json:"icon"`
|
Icon string `json:"icon"`
|
||||||
ChosenMode modeData `json:"chosen_mode"`
|
ChosenMode modeData `json:"chosen_mode"`
|
||||||
Rank int `json:"rank"`
|
Rank int `json:"rank"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type megaStats struct {
|
type megaStats struct {
|
||||||
|
@ -115,7 +115,6 @@ func AllClanStatsGET(md common.MethodData) common.CodeMessager {
|
||||||
fmt.Println(brr)
|
fmt.Println(brr)
|
||||||
m = 0
|
m = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
n := "std"
|
n := "std"
|
||||||
if m == 1 {
|
if m == 1 {
|
||||||
n = "taiko"
|
n = "taiko"
|
||||||
|
@ -198,17 +197,14 @@ func AllClanStatsGET(md common.MethodData) common.CodeMessager {
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func TotalClanStatsGET(md common.MethodData) common.CodeMessager {
|
func TotalClanStatsGET(md common.MethodData) common.CodeMessager {
|
||||||
var (
|
var (
|
||||||
r megaStats
|
r megaStats
|
||||||
rows *sql.Rows
|
rows *sql.Rows
|
||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
rows, err = md.DB.Query("SELECT id, name, description, icon FROM clans")
|
rows, err = md.DB.Query("SELECT id, name, description, icon FROM clans")
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
md.Err(err)
|
md.Err(err)
|
||||||
return Err500
|
return Err500
|
||||||
|
@ -235,7 +231,7 @@ func TotalClanStatsGET(md common.MethodData) common.CodeMessager {
|
||||||
//RETARD CODE HAHAAAA
|
//RETARD CODE HAHAAAA
|
||||||
m, brr := strconv.ParseInt(string(md.Query("m")[11]), 10, 64)
|
m, brr := strconv.ParseInt(string(md.Query("m")[11]), 10, 64)
|
||||||
if brr != nil {
|
if brr != nil {
|
||||||
fmt.Printf("%v", brr)
|
fmt.Println(brr)
|
||||||
}
|
}
|
||||||
|
|
||||||
n := "std"
|
n := "std"
|
||||||
|
@ -248,12 +244,13 @@ func TotalClanStatsGET(md common.MethodData) common.CodeMessager {
|
||||||
} else {
|
} else {
|
||||||
n = "std"
|
n = "std"
|
||||||
}
|
}
|
||||||
|
fmt.Println(n)
|
||||||
|
|
||||||
for i := 0; i < len(r.Clans); i++ {
|
for i := 0; i < len(r.Clans); i++ {
|
||||||
var members clanMembersData
|
var members clanMembersData
|
||||||
|
|
||||||
rid := r.Clans[i].ID
|
rid := r.Clans[i].ID
|
||||||
|
|
||||||
err := md.DB.Select(&members.Members, `SELECT users.id, users.username, users.register_datetime, users.privileges,
|
err := md.DB.Select(&members.Members, `SELECT users.id, users.username, users.register_datetime, users.privileges,
|
||||||
latest_activity, users_stats.username_aka,
|
latest_activity, users_stats.username_aka,
|
||||||
|
|
||||||
|
@ -271,11 +268,11 @@ func TotalClanStatsGET(md common.MethodData) common.CodeMessager {
|
||||||
`, rid)
|
`, rid)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("%v", brr)
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
members.Code = 200
|
members.Code = 200
|
||||||
|
|
||||||
if n == "std" {
|
if n == "std" {
|
||||||
for u := 0; u < len(members.Members); u++ {
|
for u := 0; u < len(members.Members); u++ {
|
||||||
r.Clans[i].ChosenMode.PP = r.Clans[i].ChosenMode.PP + members.Members[u].PpStd
|
r.Clans[i].ChosenMode.PP = r.Clans[i].ChosenMode.PP + members.Members[u].PpStd
|
||||||
|
@ -315,13 +312,13 @@ func TotalClanStatsGET(md common.MethodData) common.CodeMessager {
|
||||||
}
|
}
|
||||||
r.Clans[i].ChosenMode.PP = (r.Clans[i].ChosenMode.PP / (len(members.Members) + 1))
|
r.Clans[i].ChosenMode.PP = (r.Clans[i].ChosenMode.PP / (len(members.Members) + 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
sort.Slice(r.Clans, func(i, j int) bool {
|
sort.Slice(r.Clans, func(i, j int) bool {
|
||||||
return r.Clans[i].ChosenMode.PP > r.Clans[j].ChosenMode.PP
|
return r.Clans[i].ChosenMode.PP > r.Clans[j].ChosenMode.PP
|
||||||
})
|
})
|
||||||
|
|
||||||
for i := 0; i < len(r.Clans); i++ {
|
for i := 0; i < len(r.Clans); i++ {
|
||||||
r.Clans[i].Rank = i+1
|
r.Clans[i].Rank = i + 1
|
||||||
}
|
}
|
||||||
b := totalStats{}
|
b := totalStats{}
|
||||||
for i := 0; i < len(r.Clans); i++ {
|
for i := 0; i < len(r.Clans); i++ {
|
||||||
|
@ -342,9 +339,9 @@ func TotalClanStatsGET(md common.MethodData) common.CodeMessager {
|
||||||
}
|
}
|
||||||
|
|
||||||
type isClanData struct {
|
type isClanData struct {
|
||||||
Clan int `json:"clan"`
|
Clan int `json:"clan"`
|
||||||
User int `json:"user"`
|
User int `json:"user"`
|
||||||
Perms int `json:"perms"`
|
Perms int `json:"perms"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type isClan struct {
|
type isClan struct {
|
||||||
|
@ -354,19 +351,19 @@ type isClan struct {
|
||||||
|
|
||||||
func IsInClanGET(md common.MethodData) common.CodeMessager {
|
func IsInClanGET(md common.MethodData) common.CodeMessager {
|
||||||
ui := md.Query("uid")
|
ui := md.Query("uid")
|
||||||
|
|
||||||
if ui == "0" {
|
if ui == "0" {
|
||||||
return ErrMissingField("uid")
|
return ErrMissingField("uid")
|
||||||
}
|
}
|
||||||
|
|
||||||
var r isClan
|
var r isClan
|
||||||
rows, err := md.DB.Query("SELECT user, clan, perms FROM user_clans WHERE user = ?", ui)
|
rows, err := md.DB.Query("SELECT user, clan, perms FROM user_clans WHERE user = ?", ui)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
md.Err(err)
|
md.Err(err)
|
||||||
return Err500
|
return Err500
|
||||||
}
|
}
|
||||||
|
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
nc := isClanData{}
|
nc := isClanData{}
|
||||||
|
@ -385,21 +382,29 @@ func IsInClanGET(md common.MethodData) common.CodeMessager {
|
||||||
|
|
||||||
type imRetarded struct {
|
type imRetarded struct {
|
||||||
common.ResponseBase
|
common.ResponseBase
|
||||||
Invite string `json:"invite"`
|
Invite string `json:"invite"`
|
||||||
|
}
|
||||||
|
type adminClan struct {
|
||||||
|
Id int `json:"user"`
|
||||||
|
Perms int `json:"perms"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func ClanInviteGET(md common.MethodData) common.CodeMessager {
|
func ClanInviteGET(md common.MethodData) common.CodeMessager {
|
||||||
// big perms check lol ok
|
// big perms check lol ok
|
||||||
n := common.Int(md.Query("id"))
|
n := common.Int(md.Query("id"))
|
||||||
|
adminRetard := adminClan{}
|
||||||
|
|
||||||
var r imRetarded
|
var r imRetarded
|
||||||
var clan int
|
var clan int
|
||||||
// get user clan, then get invite
|
// get user clan, then get invite
|
||||||
md.DB.QueryRow("SELECT clan FROM user_clans WHERE user = ? LIMIT 1", n).Scan(&clan)
|
md.DB.QueryRow("SELECT user, clan, perms FROM user_clans WHERE user = ? LIMIT 1", n).Scan(&adminRetard.Id, &clan, &adminRetard.Perms)
|
||||||
row := md.DB.QueryRow("SELECT invite FROM clans_invites WHERE clan = ? LIMIT 1", clan).Scan(&r.Invite)
|
if adminRetard.Perms < 8 || adminRetard.Id != md.ID() {
|
||||||
if row != nil {
|
return common.SimpleResponse(500, "You are not admin of there clan")
|
||||||
fmt.Println(row)
|
}
|
||||||
}
|
row := md.DB.QueryRow("SELECT invite FROM clans_invites WHERE clan = ? LIMIT 1", clan).Scan(&r.Invite)
|
||||||
|
if row != nil {
|
||||||
|
fmt.Println(row)
|
||||||
|
}
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -413,7 +418,7 @@ func ClanMembersGET(md common.MethodData) common.CodeMessager {
|
||||||
if r == 0 {
|
if r == 0 {
|
||||||
var members clanMembersData
|
var members clanMembersData
|
||||||
|
|
||||||
err := md.DB.Select(&members.Members, `SELECT users.id, users.username, users.register_datetime, users.privileges,
|
err := md.DB.Select(&members.Members, `SELECT users.id, users.username, users.register_datetime, users.privileges,
|
||||||
latest_activity, users_stats.username_aka,
|
latest_activity, users_stats.username_aka,
|
||||||
|
|
||||||
users_stats.country, users_stats.user_color,
|
users_stats.country, users_stats.user_color,
|
||||||
|
@ -427,17 +432,17 @@ INNER JOIN users_stats ON users_stats.id = uc.user
|
||||||
WHERE clan = ?
|
WHERE clan = ?
|
||||||
ORDER BY id ASC `, i)
|
ORDER BY id ASC `, i)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
md.Err(err)
|
md.Err(err)
|
||||||
return Err500
|
return Err500
|
||||||
}
|
}
|
||||||
|
|
||||||
members.Code = 200
|
members.Code = 200
|
||||||
return members
|
return members
|
||||||
} else {
|
} else {
|
||||||
var members clanMembersData
|
var members clanMembersData
|
||||||
|
|
||||||
err := md.DB.Select(&members.Members, `SELECT users.id, users.username, users.register_datetime, users.privileges,
|
err := md.DB.Select(&members.Members, `SELECT users.id, users.username, users.register_datetime, users.privileges,
|
||||||
latest_activity, users_stats.username_aka,
|
latest_activity, users_stats.username_aka,
|
||||||
|
|
||||||
users_stats.country, users_stats.user_color,
|
users_stats.country, users_stats.user_color,
|
||||||
|
@ -451,12 +456,12 @@ INNER JOIN users_stats ON users_stats.id = uc.user
|
||||||
WHERE clan = ? AND perms = ?
|
WHERE clan = ? AND perms = ?
|
||||||
ORDER BY id ASC `, i, r)
|
ORDER BY id ASC `, i, r)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
md.Err(err)
|
md.Err(err)
|
||||||
return Err500
|
return Err500
|
||||||
}
|
}
|
||||||
|
|
||||||
members.Code = 200
|
members.Code = 200
|
||||||
return members
|
return members
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user