mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
Source files keep their SPDX-License-Identifier and Hanzo copyright line; the Gitea, Gogs and LFS Test Server copyrights they used to repeat now live once in NOTICE, alongside LICENSE. The header lint accepts any copyright line above the SPDX line, so it no longer demands an upstream one. Co-authored-by: Hanzo Dev <[email protected]>
27 lines
618 B
Go
27 lines
618 B
Go
// Copyright 2026 Hanzo AI, Inc. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package system
|
|
|
|
import "context"
|
|
|
|
// StateStore is the interface to get/set app state items
|
|
type StateStore interface {
|
|
Get(ctx context.Context, item StateItem) error
|
|
Set(ctx context.Context, item StateItem) error
|
|
}
|
|
|
|
// StateItem provides the name for a state item. the name will be used to generate filenames, etc
|
|
type StateItem interface {
|
|
Name() string
|
|
}
|
|
|
|
// AppState contains the state items for the app
|
|
var AppState StateStore
|
|
|
|
// Init initialize AppState interface
|
|
func Init() error {
|
|
AppState = &DBStore{}
|
|
return nil
|
|
}
|