92 lines
1.8 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);
`
var GetDonationPageByLogin = `
SELECT * FROM donate_pages WHERE streamer_login = (@streamer_login);
`