All checks were successful
构建Docker镜像 / build-and-deploy (push) Successful in 1m41s
123 lines
2.4 KiB
Go
123 lines
2.4 KiB
Go
package db
|
|
|
|
import (
|
|
"encoding/json"
|
|
"errors"
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
var localDB []Token
|
|
|
|
type Token struct {
|
|
Token string `json:"token"`
|
|
DedupObject string `json:"dedup_object"`
|
|
DataFormat string `json:"data_format"`
|
|
Notes string `json:"notes"`
|
|
}
|
|
|
|
func InitLocalDB() {
|
|
start:
|
|
data, err := os.ReadFile("./token.json")
|
|
if os.IsNotExist(err) {
|
|
os.WriteFile("./token.json", []byte("[]"), 0644)
|
|
goto start
|
|
} else if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
|
|
err = json.Unmarshal(data, &localDB)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
}
|
|
|
|
func ListToken() []Token {
|
|
InitLocalDB()
|
|
return localDB
|
|
}
|
|
|
|
func CreateToken(token string, dedupObject string, dataFormat string, Notes string) error {
|
|
InitLocalDB()
|
|
for _, t := range localDB {
|
|
if t.Token == token {
|
|
return errors.New("token已经存在")
|
|
}
|
|
}
|
|
|
|
a := append(localDB, Token{token, dedupObject, dataFormat, Notes})
|
|
marshal, err := json.Marshal(a)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if err := os.WriteFile("./token.json", marshal, 0644); err != nil {
|
|
return err
|
|
}
|
|
InitLocalDB()
|
|
return nil
|
|
}
|
|
|
|
func UpdateToken(token string, dedupObject string, dataFormat string, Notes string) error {
|
|
InitLocalDB()
|
|
|
|
for i, t := range localDB {
|
|
if t.Token == token {
|
|
localDB[i].DedupObject = dedupObject
|
|
localDB[i].DataFormat = dataFormat
|
|
localDB[i].Notes = Notes
|
|
|
|
marshal, err := json.Marshal(localDB)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if err := os.WriteFile("./token.json", marshal, 0644); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
}
|
|
|
|
InitLocalDB()
|
|
return errors.New("token not found")
|
|
}
|
|
|
|
func DeleteToken(token string) error {
|
|
InitLocalDB()
|
|
|
|
for i, t := range localDB {
|
|
if t.Token == token {
|
|
localDB = append(localDB[:i], localDB[i+1:]...)
|
|
|
|
marshal, err := json.Marshal(localDB)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if err := os.WriteFile("./token.json", marshal, 0644); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
}
|
|
|
|
InitLocalDB()
|
|
return errors.New("token not found")
|
|
}
|
|
|
|
func GetDedupObject(token string) (dedupObject string, err error) {
|
|
for i, t := range localDB {
|
|
if t.Token == token {
|
|
return localDB[i].DedupObject, nil
|
|
}
|
|
}
|
|
return "", errors.New("未找到Token")
|
|
}
|
|
|
|
func GetDataFormat(token string) (dataFormat string, err error) {
|
|
for i, t := range localDB {
|
|
if t.Token == token {
|
|
return localDB[i].DataFormat, nil
|
|
}
|
|
}
|
|
return "", errors.New("未找到Token")
|
|
}
|