88 lines
1.7 KiB
Go
88 lines
1.7 KiB
Go
package sql
|
|
|
|
import (
|
|
"donat-widget/internal/model"
|
|
"fmt"
|
|
)
|
|
|
|
var CreateWidget = `
|
|
INSERT INTO widgets (streamer_id, template_id, duration, min_amount)
|
|
VALUES (@streamer_id, @template_id, @duration, @min_amount)
|
|
RETURNING id;
|
|
`
|
|
var GetWidgetByStreamerID = `
|
|
SELECT * FROM widgets
|
|
WHERE streamer_id = (@streamer_id);
|
|
`
|
|
var GetWidgetByID = `
|
|
SELECT * FROM widgets
|
|
WHERE id = (@id);
|
|
`
|
|
|
|
func UpdateMediaUrl(mediaType model.MediaType) string {
|
|
query := fmt.Sprintf(`
|
|
UPDATE widgets
|
|
SET %s = (@%s)
|
|
WHERE id = (@id)
|
|
`, mediaType, mediaType)
|
|
return query
|
|
}
|
|
|
|
var GetAllWidget = `
|
|
SELECT * FROM widgets
|
|
WHERE streamer_id = (@streamer_id);
|
|
`
|
|
|
|
func GetMediaUrl(mediaType model.MediaType) string {
|
|
query := fmt.Sprintf(`
|
|
SELECT %s
|
|
FROM widgets
|
|
WHERE id = (@id)
|
|
`, mediaType)
|
|
return query
|
|
}
|
|
|
|
var CreateDonat = `
|
|
INSERT INTO donats (streamer_id, widget_id, text, amount, donat_user, order_id, target_id)
|
|
VALUES (@streamer_id, @widget_id, @text, @amount, @donat_user, @order_id, @target_id)
|
|
RETURNING id;
|
|
`
|
|
var MarkDonatView = `
|
|
UPDATE donats
|
|
SET view = (@view)
|
|
WHERE id = (@id);
|
|
`
|
|
var MarkDonatPaid = `
|
|
UPDATE donats
|
|
SET paid = (@paid)
|
|
WHERE order_id = (@order_id);
|
|
`
|
|
var GetDonatByStreamerID = `
|
|
SELECT * FROM donats
|
|
WHERE streamer_id = (@streamer_id) AND paid = (@paid) AND view = (@view);
|
|
`
|
|
var GetDonatByOrderID = `
|
|
SELECT * FROM donats
|
|
WHERE order_id = (@order_id);
|
|
`
|
|
|
|
var CreateTarget = `
|
|
INSERT INTO targets (streamer_id, text, amount)
|
|
VALUES (@streamer_id, @text, @amount)
|
|
RETURNING id;
|
|
`
|
|
|
|
var GetAllTarget = `
|
|
SELECT * FROM targets
|
|
WHERE streamer_id = (@streamer_id);
|
|
`
|
|
var AddAmountToTarget = `
|
|
UPDATE targets
|
|
SET collected = collected + (@amount)
|
|
WHERE id = (@target_id);
|
|
`
|
|
|
|
var GetDonationPage = `
|
|
SELECT * FROM donate_pages WHERE streamer_id = (@streamer_id);
|
|
`
|