code_runner/internal/model/task_model.go

59 lines
1.4 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package model
import (
"database/sql"
"net/http"
"github.com/gin-gonic/gin"
)
type Repository interface {
Create(task *Task) error
}
type PostgresRepository struct {
db *sql.DB
}
func NewPostgresRepository(db *sql.DB) *PostgresRepository {
return &PostgresRepository{db: db}
}
func (r *PostgresRepository) Create(task *Task) error {
query := `INSERT INTO task (id_category, id_profile, tp_level, tp_lang, "name", description, code, unit_test, dt_create)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, now()) RETURNING id`
err := r.db.QueryRow(
query,
task.Id_category,
task.Id_profile,
task.Tp_level,
task.Tp_lang,
task.Name,
task.Description,
task.Code,
task.Unit_test,
task.Dt_create,
).Scan(&task.ID)
return err
}
func CreateTask(c *gin.Context) {
id := c.Param("id") // Получаем ID пользователя из параметров URL.
// Здесь должна быть логика получения информации о пользователе из базы данных или другого источника.
// В этом примере мы просто возвращаем фиктивные данные.
user := map[string]interface{}{
"id": id,
"name": "John Doe",
"email": "john.doe@example.com",
}
c.JSON(http.StatusOK, user) // Отправляем JSON-ответ с информацией о пользователе.
}