forked from mirrors2/opencatd-open
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathopencat.go
64 lines (49 loc) · 1.28 KB
/
opencat.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package main
import (
"log"
"opencatd-open/router"
"opencatd-open/store"
"os"
"github.com/gin-gonic/gin"
"github.com/google/uuid"
)
func main() {
args := os.Args[1:]
if len(args) > 0 && args[0] == "reset_root" {
log.Println("reset root token...")
ntoken := uuid.NewString()
if err := store.UpdateUser(uint(1), ntoken); err != nil {
log.Fatalln(err)
return
}
log.Println("new root token:", ntoken)
return
}
r := gin.Default()
group := r.Group("/1")
{
group.Use(router.AuthMiddleware())
// 获取当前用户信息
group.GET("/me", router.HandleMe)
// 获取所有Key
group.GET("/keys", router.HandleKeys)
// 获取所有用户信息
group.GET("/users", router.HandleUsers)
// 添加Key
group.POST("/keys", router.HandleAddKey)
// 删除Key
group.DELETE("/keys/:id", router.HandleDelKey)
// 添加用户
group.POST("/users", router.HandleAddUser)
// 删除用户
group.DELETE("/users/:id", router.HandleDelUser)
// 重置用户Token
group.POST("/users/:id/reset", router.HandleResetUserToken)
}
// 初始化用户
r.POST("/1/users/init", router.Handleinit)
r.POST("/v1/chat/completions", router.HandleProy)
r.GET("/v1/models", router.HandleProy)
r.GET("/v1/dashboard/billing/credit_grants", router.HandleProy)
r.Run(":80")
}