diff --git a/mcm.go b/mcm.go index defbeda..0a12c52 100644 --- a/mcm.go +++ b/mcm.go @@ -2,9 +2,10 @@ package mcm import ( "fmt" + "strings" + "go.etztech.xyz/go-mcm/model" "go.etztech.xyz/go-mcm/web" - "strings" ) type MCM struct { diff --git a/model/alert.go b/model/alert.go index effd6c5..e8d31cc 100644 --- a/model/alert.go +++ b/model/alert.go @@ -2,6 +2,7 @@ package model import ( "encoding/json" + "go.etztech.xyz/go-mcm/internal" "go.etztech.xyz/go-mcm/model/django" ) diff --git a/model/application.go b/model/application.go index 0fb13f0..7210599 100644 --- a/model/application.go +++ b/model/application.go @@ -2,6 +2,7 @@ package model import ( "encoding/json" + "go.etztech.xyz/go-mcm/internal" "go.etztech.xyz/go-mcm/model/django" ) @@ -15,7 +16,7 @@ type Application struct { EverBannedExplanation string `json:"ever_banned_explanation"` Reference string `json:"reference"` ReadRules string `json:"read_rules"` - Accepted bool `json:"accepted"` + Accepted *bool `json:"accepted"` Date string `json:"date"` Link string `json:"link"` diff --git a/model/django/django.go b/model/django/django.go index 163bc5b..d1f984d 100644 --- a/model/django/django.go +++ b/model/django/django.go @@ -17,30 +17,40 @@ type Builder struct { } func NewBuilder(token string) *Builder { - return &Builder{[]string{fmt.Sprintf("api=%s", token)}} + return &Builder{[]string{fmt.Sprintf("api=%v", token)}} } func (db *Builder) QueryString() string { return "?" + strings.Join(db.Params, "&") } -func (db *Builder) Exact(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__exact=%s", field, value)) +func (db *Builder) Eq(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%__eq=%v", field, value)) return db } -func (db *Builder) IExact(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__iexact=%s", field, value)) +func (db *Builder) Ne(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__ne=%v", field, value)) return db } -func (db *Builder) Contains(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__contains=%s", field, value)) +func (db *Builder) Exact(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__exact=%v", field, value)) return db } -func (db *Builder) IContains(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__icontains=%s", field, value)) +func (db *Builder) IExact(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__iexact=%v", field, value)) + return db +} + +func (db *Builder) Contains(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__contains=%v", field, value)) + return db +} + +func (db *Builder) IContains(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__icontains=%v", field, value)) return db } @@ -49,43 +59,43 @@ func (db *Builder) In(field string, values ...string) *Builder { return db } -func (db *Builder) Gt(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__gt=%s", field, value)) +func (db *Builder) Gt(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__gt=%v", field, value)) return db } -func (db *Builder) Gte(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__gte=%s", field, value)) +func (db *Builder) Gte(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__gte=%v", field, value)) return db } -func (db *Builder) Lt(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__lt=%s", field, value)) +func (db *Builder) Lt(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__lt=%v", field, value)) return db } -func (db *Builder) Lte(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__lte=%s", field, value)) +func (db *Builder) Lte(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__lte=%v", field, value)) return db } -func (db *Builder) Startswith(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__startswith=%s", field, value)) +func (db *Builder) Startswith(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__startswith=%v", field, value)) return db } -func (db *Builder) IStartswith(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__istartswith=%s", field, value)) +func (db *Builder) IStartswith(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__istartswith=%v", field, value)) return db } -func (db *Builder) Endswith(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__endswith=%s", field, value)) +func (db *Builder) Endswith(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__endswith=%v", field, value)) return db } -func (db *Builder) IEndswith(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__iendswith=%s", field, value)) +func (db *Builder) IEndswith(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__iendswith=%v", field, value)) return db } @@ -94,72 +104,72 @@ func (db *Builder) Range(field Field, from, to string) *Builder { return db } -func (db *Builder) Date(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__date=%s", field, value)) +func (db *Builder) Date(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__date=%v", field, value)) return db } -func (db *Builder) Year(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__year=%s", field, value)) +func (db *Builder) Year(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__year=%v", field, value)) return db } -func (db *Builder) Month(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__month=%s", field, value)) +func (db *Builder) Month(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__month=%v", field, value)) return db } -func (db *Builder) Day(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__day=%s", field, value)) +func (db *Builder) Day(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__day=%v", field, value)) return db } -func (db *Builder) Week(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__week=%s", field, value)) +func (db *Builder) Week(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__week=%v", field, value)) return db } -func (db *Builder) WeekDay(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__week_day=%s", field, value)) +func (db *Builder) WeekDay(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__week_day=%v", field, value)) return db } -func (db *Builder) Quarter(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__quarter=%s", field, value)) +func (db *Builder) Quarter(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__quarter=%v", field, value)) return db } -func (db *Builder) Time(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__time=%s", field, value)) +func (db *Builder) Time(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__time=%v", field, value)) return db } -func (db *Builder) Hour(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__hour=%s", field, value)) +func (db *Builder) Hour(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__hour=%v", field, value)) return db } -func (db *Builder) Minute(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__minute=%s", field, value)) +func (db *Builder) Minute(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__minute=%v", field, value)) return db } -func (db *Builder) Second(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__second=%s", field, value)) +func (db *Builder) Second(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__second=%v", field, value)) return db } -func (db *Builder) IsNull(field Field, value string) *Builder { - db.Params = append(db.Params, fmt.Sprintf("%s__isnull=%s", field, value)) +func (db *Builder) IsNull(field Field, value interface{}) *Builder { + db.Params = append(db.Params, fmt.Sprintf("%s__isnull=%v", field, value)) return db } -func (db *Builder) Regex(field Field, value string) *Builder { +func (db *Builder) Regex(field Field, value interface{}) *Builder { db.Params = append(db.Params, fmt.Sprintf("%s__regex=r'%s'", field, value)) return db } -func (db *Builder) IRegex(field Field, value string) *Builder { +func (db *Builder) IRegex(field Field, value interface{}) *Builder { db.Params = append(db.Params, fmt.Sprintf("%s__iregex=r'%s'", field, value)) return db } diff --git a/model/ip.go b/model/ip.go index 1acf6fc..0edc8b2 100644 --- a/model/ip.go +++ b/model/ip.go @@ -2,6 +2,7 @@ package model import ( "encoding/json" + "go.etztech.xyz/go-mcm/internal" "go.etztech.xyz/go-mcm/model/django" ) diff --git a/model/model.go b/model/model.go index bb9255a..4f9842b 100644 --- a/model/model.go +++ b/model/model.go @@ -2,10 +2,11 @@ package model import ( "fmt" - "go.etztech.xyz/go-mcm/model/django" "net/url" "reflect" "strings" + + "go.etztech.xyz/go-mcm/model/django" ) type Model struct { diff --git a/model/note.go b/model/note.go index 0f6850f..240462e 100644 --- a/model/note.go +++ b/model/note.go @@ -2,6 +2,7 @@ package model import ( "encoding/json" + "go.etztech.xyz/go-mcm/internal" "go.etztech.xyz/go-mcm/model/django" ) diff --git a/model/player.go b/model/player.go index 93bba99..4a8df4a 100644 --- a/model/player.go +++ b/model/player.go @@ -2,6 +2,7 @@ package model import ( "encoding/json" + "go.etztech.xyz/go-mcm/internal" "go.etztech.xyz/go-mcm/model/django" ) diff --git a/model/ticket.go b/model/ticket.go index 39d6558..62c58e8 100644 --- a/model/ticket.go +++ b/model/ticket.go @@ -2,6 +2,7 @@ package model import ( "encoding/json" + "go.etztech.xyz/go-mcm/internal" "go.etztech.xyz/go-mcm/model/django" ) diff --git a/model/ticketnote.go b/model/ticketnote.go index 6872255..ca40ac6 100644 --- a/model/ticketnote.go +++ b/model/ticketnote.go @@ -2,6 +2,7 @@ package model import ( "encoding/json" + "go.etztech.xyz/go-mcm/internal" "go.etztech.xyz/go-mcm/model/django" ) diff --git a/model/usersettings.go b/model/usersettings.go index b9bef3a..456525a 100644 --- a/model/usersettings.go +++ b/model/usersettings.go @@ -2,6 +2,7 @@ package model import ( "encoding/json" + "go.etztech.xyz/go-mcm/internal" "go.etztech.xyz/go-mcm/model/django" ) diff --git a/web/alert.go b/web/alert.go index 30bb08b..7c070f8 100644 --- a/web/alert.go +++ b/web/alert.go @@ -1,8 +1,9 @@ package web import ( - "go.etztech.xyz/go-mcm/internal" "net/url" + + "go.etztech.xyz/go-mcm/internal" ) func (web *Web) Alert(message string, ping bool) (*internal.Status, error) { diff --git a/web/discord.go b/web/discord.go index d80dfa9..6779328 100644 --- a/web/discord.go +++ b/web/discord.go @@ -1,8 +1,9 @@ package web import ( - "go.etztech.xyz/go-mcm/internal" "net/url" + + "go.etztech.xyz/go-mcm/internal" ) func (web *Web) Discord(message string, ping bool) (*internal.Status, error) { diff --git a/web/log.go b/web/log.go index 6d39517..a5ab67a 100644 --- a/web/log.go +++ b/web/log.go @@ -3,6 +3,7 @@ package web import ( "encoding/json" "fmt" + "go.etztech.xyz/go-mcm/internal" ) diff --git a/web/online.go b/web/online.go index 27e5620..48f1d32 100644 --- a/web/online.go +++ b/web/online.go @@ -3,6 +3,7 @@ package web import ( "encoding/json" "fmt" + "go.etztech.xyz/go-mcm/internal" )