39 lines
808 B
Go
39 lines
808 B
Go
|
|
package merch
|
||
|
|
|
||
|
|
import "context"
|
||
|
|
|
||
|
|
type Tasks interface {
|
||
|
|
getTaskData(ctx context.Context) ([]taskData, error)
|
||
|
|
}
|
||
|
|
|
||
|
|
func (r *repo) getTaskData(ctx context.Context) ([]taskData, error) {
|
||
|
|
q := `SELECT m.merch_uuid, med.url, mo.name
|
||
|
|
FROM merch AS m
|
||
|
|
JOIN merch_extra_data AS med ON m.id = med.merch_id
|
||
|
|
JOIN merch_origins AS mo ON mo.id = med.origin_id
|
||
|
|
WHERE m.deleted_at IS NULL
|
||
|
|
AND med.deleted_at IS NULL
|
||
|
|
AND mo.deleted_at IS NULL
|
||
|
|
`
|
||
|
|
rows, err := r.db.Query(ctx, q)
|
||
|
|
if err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
|
||
|
|
var result []taskData
|
||
|
|
for rows.Next() {
|
||
|
|
var t taskData
|
||
|
|
if err = rows.Scan(&t.MerchUuid, &t.Url, &t.OriginName); err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
result = append(result, t)
|
||
|
|
}
|
||
|
|
|
||
|
|
rows.Close()
|
||
|
|
if err = rows.Err(); err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
|
||
|
|
return result, nil
|
||
|
|
}
|