aboutsummaryrefslogtreecommitdiffstats
path: root/models/appstate
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2022-10-17 07:29:26 +0800
committerGitHub <noreply@github.com>2022-10-17 07:29:26 +0800
commitf860a6d2e4177ed4f4c2a58a07882bd00a1a52ad (patch)
tree93abb2f354576e50c87d70b0b4bb46369fb3a1f1 /models/appstate
parent5d3dbffa150d832d2f9aedd9f90ca91178a95f9c (diff)
downloadgitea-f860a6d2e4177ed4f4c2a58a07882bd00a1a52ad.tar.gz
gitea-f860a6d2e4177ed4f4c2a58a07882bd00a1a52ad.zip
Add system setting table with cache and also add cache supports for user setting (#18058)
Diffstat (limited to 'models/appstate')
-rw-r--r--models/appstate/appstate.go57
1 files changed, 0 insertions, 57 deletions
diff --git a/models/appstate/appstate.go b/models/appstate/appstate.go
deleted file mode 100644
index aa5a59e1a3..0000000000
--- a/models/appstate/appstate.go
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2021 The Gitea Authors. All rights reserved.
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file.
-
-package appstate
-
-import (
- "context"
-
- "code.gitea.io/gitea/models/db"
-)
-
-// AppState represents a state record in database
-// if one day we would make Gitea run as a cluster,
-// we can introduce a new field `Scope` here to store different states for different nodes
-type AppState struct {
- ID string `xorm:"pk varchar(200)"`
- Revision int64
- Content string `xorm:"LONGTEXT"`
-}
-
-func init() {
- db.RegisterModel(new(AppState))
-}
-
-// SaveAppStateContent saves the app state item to database
-func SaveAppStateContent(key, content string) error {
- return db.WithTx(func(ctx context.Context) error {
- eng := db.GetEngine(ctx)
- // try to update existing row
- res, err := eng.Exec("UPDATE app_state SET revision=revision+1, content=? WHERE id=?", content, key)
- if err != nil {
- return err
- }
- rows, _ := res.RowsAffected()
- if rows != 0 {
- // the existing row is updated, so we can return
- return nil
- }
- // if no existing row, insert a new row
- _, err = eng.Insert(&AppState{ID: key, Content: content})
- return err
- })
-}
-
-// GetAppStateContent gets an app state from database
-func GetAppStateContent(key string) (content string, err error) {
- e := db.GetEngine(db.DefaultContext)
- appState := &AppState{ID: key}
- has, err := e.Get(appState)
- if err != nil {
- return "", err
- } else if !has {
- return "", nil
- }
- return appState.Content, nil
-}