64 lines
1.3 KiB
Go
64 lines
1.3 KiB
Go
package view
|
|
|
|
import (
|
|
"context"
|
|
"github.com/labstack/echo/v4"
|
|
"log/slog"
|
|
"net/http"
|
|
)
|
|
|
|
// BannerView
|
|
//
|
|
// @Description View Widget
|
|
// @Tags Auth
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param input body requestModel true "Register user"
|
|
// @Success 200 {object} responseModel
|
|
// @Router /api/widget/view [post]
|
|
func BannerView(request echo.Context) error {
|
|
var registerData requestModel
|
|
|
|
// Получение данных
|
|
if err := request.Bind(®isterData); err != nil {
|
|
slog.Error(err.Error())
|
|
return echo.NewHTTPError(400, err.Error())
|
|
}
|
|
|
|
// Валидаций
|
|
err := request.Validate(®isterData)
|
|
if err != nil {
|
|
slog.Error(err.Error())
|
|
return request.JSON(422, err)
|
|
}
|
|
|
|
// reg
|
|
err = RegUserService(
|
|
context.Background(),
|
|
registerData,
|
|
)
|
|
if err != nil {
|
|
slog.Error(err.Error())
|
|
return request.JSON(500, err)
|
|
}
|
|
banner := `
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
<div id="content"></div>
|
|
<script>
|
|
function fetchData() {
|
|
const contentDiv = document.getElementById('content');
|
|
const img = document.createElement('img');
|
|
img.src = "https://filesharing-st.ru/api/storage/file/download/RATHFvTY/9";
|
|
contentDiv.appendChild(img);
|
|
}
|
|
setInterval(fetchData, 5000);
|
|
</script>
|
|
</body>
|
|
</html>
|
|
`
|
|
slog.Info("User Register success")
|
|
return request.HTML(http.StatusOK, banner)
|
|
}
|