package cloud_bundle

import (
	"applet/app/e"
	"applet/app/hdl/comm"
	"applet/app/svc"
	"applet/app/svc/cloud_bundle"
	"github.com/gin-gonic/gin"
	"strings"
)

// Base
// @Summary      打包机使用-云打包基本信息
// @Tags         打包机使用
// @Description  打包机使用-云打包基本信息
// @Accept       json
// @Produce      json
// @param Authorization header string true "验证参数Bearer和token空格拼接"
// @Success      200   {object} md.CloudBundleBaseResp  	"具体数据"
// @Failure      400   {object}   md.Response              	"具体错误"
// @Router       /api/cloudBundle/base [get]
func Base(c *gin.Context) {
	cloud_bundle.Base(c)
}

// UpdateState
// @Summary      打包机使用-云打包更新状态等
// @Tags         打包机使用
// @Description  打包机使用-云打包更新状态
// @Accept       json
// @Produce      json
// @param Authorization header string true "验证参数Bearer和token空格拼接"
// @Param        req 	body      md.CloudBundleUpdateStateReq          true   "(分页信息必填)"
// @Success      200   {string}  	"具体数据"
// @Failure      400   {object}   md.Response              	"具体错误"
// @Router       /api/cloudBundle/update/state [post]
func UpdateState(c *gin.Context) {
	cloud_bundle.UpdateState(c)
}

// Upload
// @Summary      打包机使用-云打包-上传许可链接(获取)
// @Tags         打包机使用
// @Description  打包机使用-云打包-上传许可链接(获取)
// @Accept       json
// @Produce      json
// @param Authorization header string true "验证参数Bearer和token空格拼接"
// @Param    req    body	comm.ImgReqUploadReq 	true  "签名上传url"
// @Success      200   {string}  	"许可链接"
// @Failure      400   {object}   md.Response              	"具体错误"
// @Router       /api/cloudBundle/upload [POST]
func Upload(c *gin.Context) {
	var args comm.ImgReqUploadReq
	err := c.ShouldBindJSON(&args)
	if err != nil {
		err = svc.HandleValidateErr(err)
		err1 := err.(e.E)
		e.OutErr(c, err1.Code, err1.Error())
		return
	}
	if strings.Contains(args.FileName, ".apk") == false && strings.Contains(args.FileName, ".ipa") == false {
		e.OutErr(c, 400, e.NewErr(400, "请上传APK 或IPA格式"))
		return
	}
	comm.CommOss(c, args)
}