36 lines · 841 B · Go
RawDownload
// Copyright 2021 The Gitea Authors. All rights reserved.// SPDX-License-Identifier: MIT package system import (	"context" 	"forgejo.org/models/system"	"forgejo.org/modules/json"	"forgejo.org/modules/util") // DBStore can be used to store app state items in local filesystemtype DBStore struct{} // Get reads the state itemfunc (f *DBStore) Get(ctx context.Context, item StateItem) error {	content, err := system.GetAppStateContent(ctx, item.Name())	if err != nil {		return err	}	if content == "" {		return nil	}	return json.Unmarshal(util.UnsafeStringToBytes(content), item)} // Set saves the state itemfunc (f *DBStore) Set(ctx context.Context, item StateItem) error {	b, err := json.Marshal(item)	if err != nil {		return err	}	return system.SaveAppStateContent(ctx, item.Name(), util.UnsafeBytesToString(b))}