Fix nullability of columns
This commit is contained in:
parent
7a8e7bf213
commit
580eea3dfa
4
guild.go
4
guild.go
@ -1,8 +1,10 @@
|
|||||||
package geeksbot
|
package geeksbot
|
||||||
|
|
||||||
|
import "database/sql"
|
||||||
|
|
||||||
type Guild struct {
|
type Guild struct {
|
||||||
ID string
|
ID string
|
||||||
NewPatronMessage string
|
NewPatronMessage sql.NullString
|
||||||
Prefixes []string
|
Prefixes []string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,45 @@
|
|||||||
|
BEGIN;
|
||||||
|
ALTER TABLE users
|
||||||
|
ALTER COLUMN active DROP NOT NULL,
|
||||||
|
ALTER COLUMN staff DROP NOT NULL,
|
||||||
|
ALTER COLUMN admin DROP NOT NULL;
|
||||||
|
ALTER TABLE channels
|
||||||
|
ALTER COLUMN guild_id DROP NOT NULL,
|
||||||
|
ALTER COLUMN admin DROP NOT NULL,
|
||||||
|
ALTER COLUMN default_channel DROP NOT NULL,
|
||||||
|
ALTER COLUMN new_patron DROP NOT NULL;
|
||||||
|
ALTER TABLE messages
|
||||||
|
ALTER COLUMN created_at DROP NOT NULL,
|
||||||
|
ALTER COLUMN content DROP NOT NULL,
|
||||||
|
ALTER COLUMN channel_id DROP NOT NULL,
|
||||||
|
ALTER COLUMN author_id DROP NOT NULL,
|
||||||
|
ADD COLUMN embed json,
|
||||||
|
ADD COLUMN previous_embeds json[];
|
||||||
|
ALTER TABLE patreon_creators
|
||||||
|
RENAME TO patreon_creator,
|
||||||
|
ALTER COLUMN creator DROP NOT NULL,
|
||||||
|
ALTER COLUMN link DROP NOT NULL,
|
||||||
|
ALTER COLUMN guild_id DROP NOT NULL;
|
||||||
|
ALTER TABLE patreon_tiers
|
||||||
|
RENAME TO patreon_tier,
|
||||||
|
ALTER COLUMN name DROP NOT NULL,
|
||||||
|
ALTER COLUMN creator DROP NOT NULL,
|
||||||
|
ALTER COLUMN role DROP NOT NULL;
|
||||||
|
ALTER TABLE requests
|
||||||
|
ALTER COLUMN author_id DROP NOT NULL,
|
||||||
|
ALTER COLUMN channel_id DROP NOT NULL,
|
||||||
|
ALTER COLUMN content DROP NOT NULL,
|
||||||
|
ALTER COLUMN requested_at DROP NOT NULL,
|
||||||
|
ALTER COLUMN completed DROP NOT NULL,
|
||||||
|
ALTER COLUMN message_id DROP NOT NULL,
|
||||||
|
ALTER COLUMN guild_id DROP NOT NULL;
|
||||||
|
ALTER TABLE roles
|
||||||
|
ALTER COLUMN role_type DROP NOT NULL,
|
||||||
|
ALTER COLUMN guild_id DROP NOT NULL;
|
||||||
|
ALTER TABLE servers
|
||||||
|
ALTER COLUMN name DROP NOT NULL,
|
||||||
|
ALTER COLUMN ip_address DROP NOT NULL,
|
||||||
|
ALTER COLUMN port DROP NOT NULL,
|
||||||
|
ALTER COLUMN password DROP NOT NULL,
|
||||||
|
ALTER COLUMN guild_id DROP NOT NULL;
|
||||||
|
COMMIT;
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
BEGIN;
|
||||||
|
ALTER TABLE users
|
||||||
|
ALTER COLUMN active SET NOT NULL,
|
||||||
|
ALTER COLUMN staff SET NOT NULL,
|
||||||
|
ALTER COLUMN admin SET NOT NULL;
|
||||||
|
ALTER TABLE channels
|
||||||
|
ALTER COLUMN guild_id SET NOT NULL,
|
||||||
|
ALTER COLUMN admin SET NOT NULL,
|
||||||
|
ALTER COLUMN default_channel SET NOT NULL,
|
||||||
|
ALTER COLUMN new_patron SET NOT NULL;
|
||||||
|
ALTER TABLE messages
|
||||||
|
ALTER COLUMN created_at SET NOT NULL,
|
||||||
|
ALTER COLUMN content SET NOT NULL,
|
||||||
|
ALTER COLUMN channel_id SET NOT NULL,
|
||||||
|
ALTER COLUMN author_id SET NOT NULL,
|
||||||
|
DROP COLUMN embed,
|
||||||
|
DROP COLUMN previous_embeds;
|
||||||
|
ALTER TABLE patreon_creator
|
||||||
|
RENAME TO patreon_creators,
|
||||||
|
ALTER COLUMN creator SET NOT NULL,
|
||||||
|
ALTER COLUMN link SET NOT NULL,
|
||||||
|
ALTER COLUMN guild_id SET NOT NULL;
|
||||||
|
ALTER TABLE patreon_tier
|
||||||
|
RENAME TO patreon_tiers,
|
||||||
|
ALTER COLUMN name SET NOT NULL,
|
||||||
|
ALTER COLUMN creator SET NOT NULL,
|
||||||
|
ALTER COLUMN role SET NOT NULL;
|
||||||
|
ALTER TABLE requests
|
||||||
|
ALTER COLUMN author_id SET NOT NULL,
|
||||||
|
ALTER COLUMN channel_id SET NOT NULL,
|
||||||
|
ALTER COLUMN content SET NOT NULL,
|
||||||
|
ALTER COLUMN requested_at SET NOT NULL,
|
||||||
|
ALTER COLUMN completed SET NOT NULL,
|
||||||
|
ALTER COLUMN message_id SET NOT NULL,
|
||||||
|
ALTER COLUMN guild_id SET NOT NULL;
|
||||||
|
ALTER TABLE roles
|
||||||
|
ALTER COLUMN role_type SET NOT NULL,
|
||||||
|
ALTER COLUMN guild_id SET NOT NULL;
|
||||||
|
ALTER TABLE servers
|
||||||
|
ALTER COLUMN name SET NOT NULL,
|
||||||
|
ALTER COLUMN ip_address SET NOT NULL,
|
||||||
|
ALTER COLUMN port SET NOT NULL,
|
||||||
|
ALTER COLUMN password SET NOT NULL,
|
||||||
|
ALTER COLUMN guild_id SET NOT NULL;
|
||||||
|
COMMIT;
|
||||||
@ -16,7 +16,7 @@ func (s requestService) Request(id int64) (geeksbot.Request, error) {
|
|||||||
var aID string
|
var aID string
|
||||||
var cID string
|
var cID string
|
||||||
var gID string
|
var gID string
|
||||||
var uID string
|
var uID sql.NullString
|
||||||
var mID string
|
var mID string
|
||||||
queryString := `SELECT id, author_id, channel_id, guild_id, content, requested_at, completed,
|
queryString := `SELECT id, author_id, channel_id, guild_id, content, requested_at, completed,
|
||||||
completed_at, completed_by, message_id, completed_message
|
completed_at, completed_by, message_id, completed_message
|
||||||
@ -39,9 +39,14 @@ func (s requestService) Request(id int64) (geeksbot.Request, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return geeksbot.Request{}, err
|
return geeksbot.Request{}, err
|
||||||
}
|
}
|
||||||
completedBy, err := UserService.User(uID)
|
if !uID.Valid {
|
||||||
if err != nil {
|
r.CompletedBy = nil
|
||||||
return geeksbot.Request{}, err
|
} else {
|
||||||
|
completedBy, err := UserService.User(uID.String)
|
||||||
|
if err != nil {
|
||||||
|
return geeksbot.Request{}, err
|
||||||
|
}
|
||||||
|
r.CompletedBy = &completedBy
|
||||||
}
|
}
|
||||||
message, err := MessageService.Message(mID)
|
message, err := MessageService.Message(mID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -50,7 +55,6 @@ func (s requestService) Request(id int64) (geeksbot.Request, error) {
|
|||||||
r.Author = author
|
r.Author = author
|
||||||
r.Guild = guild
|
r.Guild = guild
|
||||||
r.Channel = channel
|
r.Channel = channel
|
||||||
r.CompletedBy = completedBy
|
|
||||||
r.Message = message
|
r.Message = message
|
||||||
return r, nil
|
return r, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,10 +14,10 @@ type serverService struct {
|
|||||||
func (s serverService) ServerByID(id int) (geeksbot.Server, error) {
|
func (s serverService) ServerByID(id int) (geeksbot.Server, error) {
|
||||||
var server geeksbot.Server
|
var server geeksbot.Server
|
||||||
var guildID string
|
var guildID string
|
||||||
var aChanID string
|
var aChanID sql.NullString
|
||||||
var iChanID string
|
var iChanID sql.NullString
|
||||||
var iMsgID string
|
var iMsgID sql.NullString
|
||||||
var sMsgID string
|
var sMsgID sql.NullString
|
||||||
queryString := `SELECT id, name, ip_address, port, password, alerts_channel_id,
|
queryString := `SELECT id, name, ip_address, port, password, alerts_channel_id,
|
||||||
guild_id, info_channel_id, info_message_id, settings_message_id
|
guild_id, info_channel_id, info_message_id, settings_message_id
|
||||||
FROM servers WHERE id = $1`
|
FROM servers WHERE id = $1`
|
||||||
@ -31,27 +31,43 @@ func (s serverService) ServerByID(id int) (geeksbot.Server, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return geeksbot.Server{}, err
|
return geeksbot.Server{}, err
|
||||||
}
|
}
|
||||||
alertChannel, err := ChannelService.Channel(aChanID)
|
if !aChanID.Valid {
|
||||||
if err != nil {
|
server.AlertsChannel = nil
|
||||||
return geeksbot.Server{}, err
|
} else {
|
||||||
|
alertChannel, err := ChannelService.Channel(aChanID.String)
|
||||||
|
if err != nil {
|
||||||
|
return geeksbot.Server{}, err
|
||||||
|
}
|
||||||
|
server.AlertsChannel = &alertChannel
|
||||||
}
|
}
|
||||||
infoChannel, err := ChannelService.Channel(iChanID)
|
if !iChanID.Valid {
|
||||||
if err != nil {
|
server.InfoChannel = nil
|
||||||
return geeksbot.Server{}, err
|
} else {
|
||||||
|
infoChannel, err := ChannelService.Channel(iChanID.String)
|
||||||
|
if err != nil {
|
||||||
|
return geeksbot.Server{}, err
|
||||||
|
}
|
||||||
|
server.InfoChannel = &infoChannel
|
||||||
}
|
}
|
||||||
infoMessage, err := MessageService.Message(iMsgID)
|
if !iMsgID.Valid {
|
||||||
if err != nil {
|
server.InfoMessage = nil
|
||||||
return geeksbot.Server{}, err
|
} else {
|
||||||
|
infoMessage, err := MessageService.Message(iMsgID.String)
|
||||||
|
if err != nil {
|
||||||
|
return geeksbot.Server{}, err
|
||||||
|
}
|
||||||
|
server.InfoMessage = &infoMessage
|
||||||
}
|
}
|
||||||
settingsMessage, err := MessageService.Message(sMsgID)
|
if !sMsgID.Valid {
|
||||||
if err != nil {
|
server.SettingsMessage = nil
|
||||||
return geeksbot.Server{}, err
|
} else {
|
||||||
|
settingsMessage, err := MessageService.Message(sMsgID.String)
|
||||||
|
if err != nil {
|
||||||
|
return geeksbot.Server{}, err
|
||||||
|
}
|
||||||
|
server.SettingsMessage = &settingsMessage
|
||||||
}
|
}
|
||||||
server.Guild = guild
|
server.Guild = guild
|
||||||
server.AlertsChannel = alertChannel
|
|
||||||
server.InfoChannel = infoChannel
|
|
||||||
server.InfoMessage = infoMessage
|
|
||||||
server.SettingsMessage = settingsMessage
|
|
||||||
return server, nil
|
return server, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,11 @@
|
|||||||
package geeksbot
|
package geeksbot
|
||||||
|
|
||||||
|
import "database/sql"
|
||||||
|
|
||||||
type Message struct {
|
type Message struct {
|
||||||
ID string
|
ID string
|
||||||
CreatedAt int64
|
CreatedAt int64
|
||||||
ModifiedAt int64
|
ModifiedAt sql.NullTime
|
||||||
Content string
|
Content string
|
||||||
PreviousContent []string
|
PreviousContent []string
|
||||||
Channel Channel
|
Channel Channel
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package geeksbot
|
package geeksbot
|
||||||
|
|
||||||
|
import "database/sql"
|
||||||
|
|
||||||
type PatreonCreator struct {
|
type PatreonCreator struct {
|
||||||
ID int
|
ID int
|
||||||
Creator string
|
Creator string
|
||||||
@ -10,7 +12,7 @@ type PatreonCreator struct {
|
|||||||
type PatreonTier struct {
|
type PatreonTier struct {
|
||||||
ID int
|
ID int
|
||||||
Name string
|
Name string
|
||||||
Description string
|
Description sql.NullString
|
||||||
Creator PatreonCreator
|
Creator PatreonCreator
|
||||||
Role Role
|
Role Role
|
||||||
NextTier *PatreonTier
|
NextTier *PatreonTier
|
||||||
|
|||||||
11
request.go
11
request.go
@ -1,6 +1,9 @@
|
|||||||
package geeksbot
|
package geeksbot
|
||||||
|
|
||||||
import "time"
|
import (
|
||||||
|
"database/sql"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
type Request struct {
|
type Request struct {
|
||||||
ID int64
|
ID int64
|
||||||
@ -10,10 +13,10 @@ type Request struct {
|
|||||||
Content string
|
Content string
|
||||||
RequestedAt time.Time
|
RequestedAt time.Time
|
||||||
Completed bool
|
Completed bool
|
||||||
CompletedAt time.Time
|
CompletedAt sql.NullTime
|
||||||
CompletedBy User
|
CompletedBy *User
|
||||||
Message Message
|
Message Message
|
||||||
CompletedMessage string
|
CompletedMessage sql.NullString
|
||||||
}
|
}
|
||||||
|
|
||||||
type Comment struct {
|
type Comment struct {
|
||||||
|
|||||||
@ -6,11 +6,11 @@ type Server struct {
|
|||||||
IPAddr string
|
IPAddr string
|
||||||
Port int
|
Port int
|
||||||
Password string
|
Password string
|
||||||
AlertsChannel Channel
|
AlertsChannel *Channel
|
||||||
Guild Guild
|
Guild Guild
|
||||||
InfoChannel Channel
|
InfoChannel *Channel
|
||||||
InfoMessage Message
|
InfoMessage *Message
|
||||||
SettingsMessage Message
|
SettingsMessage *Message
|
||||||
}
|
}
|
||||||
|
|
||||||
type ServerService interface {
|
type ServerService interface {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user