feat(db): delete copaing 48 hours after soft delete
This commit is contained in:
parent
698292db49
commit
8e157f56d6
4 changed files with 23 additions and 6 deletions
|
@ -1,11 +1,11 @@
|
||||||
FROM golang:1.22-alpine
|
FROM docker.io/golang:1.22-alpine
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY . .
|
|
||||||
|
|
||||||
RUN apk add git
|
RUN apk add git
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
RUN go mod tidy && go build -o app .
|
RUN go mod tidy && go build -o app .
|
||||||
|
|
||||||
ENV TOKEN=""
|
ENV TOKEN=""
|
||||||
|
|
|
@ -9,7 +9,7 @@ services:
|
||||||
- redis
|
- redis
|
||||||
- postgres
|
- postgres
|
||||||
redis:
|
redis:
|
||||||
image: redis:alpine
|
image: docker.io/redis:alpine
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:alpine
|
image: postgres:alpine
|
||||||
env_file:
|
env_file:
|
||||||
|
|
4
main.go
4
main.go
|
@ -19,8 +19,8 @@ var (
|
||||||
Version = gokord.Version{
|
Version = gokord.Version{
|
||||||
Major: 2,
|
Major: 2,
|
||||||
Minor: 3,
|
Minor: 3,
|
||||||
Patch: 4,
|
Patch: 5,
|
||||||
} // git version: 0.3.4 (it's the v2 of the bot)
|
} // git version: 0.3.5 (it's the v2 of the bot)
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|
17
xp/member.go
17
xp/member.go
|
@ -204,6 +204,23 @@ func (c *Copaing) Reset() {
|
||||||
gokord.DB.Where("guild_id = ? AND discord_id = ?", c.GuildID, c.DiscordID).Delete(c)
|
gokord.DB.Where("guild_id = ? AND discord_id = ?", c.GuildID, c.DiscordID).Delete(c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Copaing) AfterDelete(db *gorm.DB) error {
|
||||||
|
id := c.ID
|
||||||
|
dID := c.DiscordID
|
||||||
|
gID := c.GuildID
|
||||||
|
utils.NewTimer(48*time.Hour, func(stop chan struct{}) {
|
||||||
|
if err := db.Unscoped().Where("id = ?", id).Delete(c).Error; err != nil {
|
||||||
|
utils.SendAlert(
|
||||||
|
"xp/member.go - Removing copaing from database", err.Error(),
|
||||||
|
"discord_id", dID,
|
||||||
|
"guild_id", gID,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
stop <- struct{}{}
|
||||||
|
})
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func getRedisClient() (*redis.Client, error) {
|
func getRedisClient() (*redis.Client, error) {
|
||||||
if redisClient == nil {
|
if redisClient == nil {
|
||||||
var err error
|
var err error
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue