77 lines
1.8 KiB
Go
77 lines
1.8 KiB
Go
// Copyright 2023 The casbin Authors. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package object
|
|
|
|
import "github.com/casbin/casibase/util"
|
|
|
|
func InitDb() {
|
|
existed := initBuiltInStore()
|
|
if !existed {
|
|
initBuiltInProvider()
|
|
}
|
|
}
|
|
|
|
func initBuiltInStore() bool {
|
|
store, err := getStore("admin", "store-built-in")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
if store != nil {
|
|
return true
|
|
}
|
|
|
|
store = &Store{
|
|
Owner: "admin",
|
|
Name: "store-built-in",
|
|
CreatedTime: util.GetCurrentTime(),
|
|
DisplayName: "Built-in Store",
|
|
StorageProvider: "provider-storage-built-in",
|
|
ModelProvider: "",
|
|
EmbeddingProvider: "",
|
|
}
|
|
_, err = AddStore(store)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
func initBuiltInProvider() {
|
|
provider, err := GetProvider(util.GetId("admin", "provider-storage-local-built-in"))
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
if provider != nil {
|
|
return
|
|
}
|
|
|
|
provider = &Provider{
|
|
Owner: "admin",
|
|
Name: "provider-storage-built-in",
|
|
CreatedTime: util.GetCurrentTime(),
|
|
DisplayName: "Built-in Storage Provider",
|
|
Category: "Storage",
|
|
Type: "Local File System",
|
|
ClientId: "C:/casibase_storage",
|
|
}
|
|
_, err = AddProvider(provider)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|