Dragonfly2
81 строка · 2.1 Кб
1/*
2* Copyright 2020 The Dragonfly Authors
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*/
16
17package handlers18
19import (20"net/http"21
22"github.com/gin-gonic/gin"23
24// nolint25_ "d7y.io/dragonfly/v2/manager/models"26"d7y.io/dragonfly/v2/manager/types"27)
28
29// @Summary Create V1 Preheat
30// @Description Create by json config
31// @Tags Preheat
32// @Accept json
33// @Produce json
34// @Param Preheat body types.CreateV1PreheatRequest true "Preheat"
35// @Success 200 {object} types.CreateV1PreheatResponse
36// @Failure 400
37// @Failure 404
38// @Failure 500
39// @Router /preheats [post]
40func (h *Handlers) CreateV1Preheat(ctx *gin.Context) {41var json types.CreateV1PreheatRequest42if err := ctx.ShouldBindJSON(&json); err != nil {43ctx.JSON(http.StatusUnprocessableEntity, gin.H{"errors": err.Error()})44return45}46
47preheat, err := h.service.CreateV1Preheat(ctx.Request.Context(), json)48if err != nil {49ctx.Error(err) // nolint: errcheck50return51}52
53ctx.JSON(http.StatusOK, preheat)54}
55
56// @Summary Get V1 Preheat
57// @Description Get Preheat by id
58// @Tags Preheat
59// @Accept json
60// @Produce json
61// @Param id path string true "id"
62// @Success 200 {object} types.GetV1PreheatResponse
63// @Failure 400
64// @Failure 404
65// @Failure 500
66// @Router /preheats/{id} [get]
67func (h *Handlers) GetV1Preheat(ctx *gin.Context) {68var params types.V1PreheatParams69if err := ctx.ShouldBindUri(¶ms); err != nil {70ctx.JSON(http.StatusUnprocessableEntity, gin.H{"errors": err.Error()})71return72}73
74preheat, err := h.service.GetV1Preheat(ctx.Request.Context(), params.ID)75if err != nil {76ctx.Error(err) // nolint: errcheck77return78}79
80ctx.JSON(http.StatusOK, preheat)81}
82