🐛 fix: Fix model name not URL encoded in pricing
This commit is contained in:
parent
91a113d09b
commit
6300ce4835
@ -3,6 +3,7 @@ package controller
|
||||
import (
|
||||
"errors"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"one-api/common"
|
||||
"one-api/model"
|
||||
"one-api/relay/util"
|
||||
@ -80,10 +81,12 @@ func AddPrice(c *gin.Context) {
|
||||
|
||||
func UpdatePrice(c *gin.Context) {
|
||||
modelName := c.Param("model")
|
||||
if modelName == "" {
|
||||
if modelName == "" || len(modelName) < 2 {
|
||||
common.APIRespondWithError(c, http.StatusOK, errors.New("model name is required"))
|
||||
return
|
||||
}
|
||||
modelName = modelName[1:]
|
||||
modelName, _ = url.PathUnescape(modelName)
|
||||
|
||||
var price model.Price
|
||||
if err := c.ShouldBindJSON(&price); err != nil {
|
||||
@ -104,10 +107,12 @@ func UpdatePrice(c *gin.Context) {
|
||||
|
||||
func DeletePrice(c *gin.Context) {
|
||||
modelName := c.Param("model")
|
||||
if modelName == "" {
|
||||
if modelName == "" || len(modelName) < 2 {
|
||||
common.APIRespondWithError(c, http.StatusOK, errors.New("model name is required"))
|
||||
return
|
||||
}
|
||||
modelName = modelName[1:]
|
||||
modelName, _ = url.PathUnescape(modelName)
|
||||
|
||||
if err := util.PricingInstance.DeletePrice(modelName); err != nil {
|
||||
common.APIRespondWithError(c, http.StatusOK, err)
|
||||
|
@ -137,8 +137,8 @@ func SetApiRouter(router *gin.Engine) {
|
||||
{
|
||||
pricesRoute.GET("/model_list", controller.GetAllModelList)
|
||||
pricesRoute.POST("/single", controller.AddPrice)
|
||||
pricesRoute.PUT("/single/:model", controller.UpdatePrice)
|
||||
pricesRoute.DELETE("/single/:model", controller.DeletePrice)
|
||||
pricesRoute.PUT("/single/*model", controller.UpdatePrice)
|
||||
pricesRoute.DELETE("/single/*model", controller.DeletePrice)
|
||||
pricesRoute.POST("/multiple", controller.BatchSetPrices)
|
||||
pricesRoute.PUT("/multiple/delete", controller.BatchDeletePrices)
|
||||
pricesRoute.POST("/sync", controller.SyncPricing)
|
||||
|
@ -79,7 +79,8 @@ const Single = ({ ownedby, prices, reloadData }) => {
|
||||
if (oldRow.model == '') {
|
||||
res = await API.post('/api/prices/single', newRow);
|
||||
} else {
|
||||
res = await API.put('/api/prices/single/' + oldRow.model, newRow);
|
||||
let modelEncode = encodeURIComponent(oldRow.model);
|
||||
res = await API.put('/api/prices/single/' + modelEncode, newRow);
|
||||
}
|
||||
const { success, message } = res.data;
|
||||
if (success) {
|
||||
@ -282,7 +283,8 @@ const Single = ({ ownedby, prices, reloadData }) => {
|
||||
|
||||
const deletePirces = async (modelName) => {
|
||||
try {
|
||||
const res = await API.delete('/api/prices/single/' + modelName);
|
||||
let modelEncode = encodeURIComponent(modelName);
|
||||
const res = await API.delete('/api/prices/single/' + modelEncode);
|
||||
const { success, message } = res.data;
|
||||
if (success) {
|
||||
showSuccess('保存成功');
|
||||
|
Loading…
Reference in New Issue
Block a user