2021-07-17 14:13:00 +08:00
|
|
|
// Copyright 2021 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.
|
|
|
|
|
2021-02-15 10:05:14 +08:00
|
|
|
package object
|
|
|
|
|
2021-07-25 09:34:25 +08:00
|
|
|
import "github.com/casbin/casdoor/util"
|
2021-02-15 10:05:14 +08:00
|
|
|
|
|
|
|
func InitDb() {
|
|
|
|
initBuiltInOrganization()
|
|
|
|
initBuiltInUser()
|
2021-02-15 10:32:14 +08:00
|
|
|
initBuiltInApplication()
|
2021-07-17 14:13:00 +08:00
|
|
|
initBuiltInLdap()
|
2021-02-15 10:05:14 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
func initBuiltInOrganization() {
|
|
|
|
organization := getOrganization("admin", "built-in")
|
|
|
|
if organization != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
organization = &Organization{
|
2021-07-16 17:04:16 +08:00
|
|
|
Owner: "admin",
|
|
|
|
Name: "built-in",
|
|
|
|
CreatedTime: util.GetCurrentTime(),
|
|
|
|
DisplayName: "Built-in Organization",
|
|
|
|
WebsiteUrl: "https://example.com",
|
|
|
|
Favicon: "https://cdn.casbin.com/static/favicon.ico",
|
|
|
|
PhonePrefix: "86",
|
|
|
|
DefaultAvatar: "https://casbin.org/img/casbin.svg",
|
|
|
|
PasswordType: "plain",
|
2021-02-15 10:05:14 +08:00
|
|
|
}
|
|
|
|
AddOrganization(organization)
|
|
|
|
}
|
|
|
|
|
|
|
|
func initBuiltInUser() {
|
|
|
|
user := getUser("built-in", "admin")
|
|
|
|
if user != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
user = &User{
|
2021-02-15 22:14:19 +08:00
|
|
|
Owner: "built-in",
|
|
|
|
Name: "admin",
|
|
|
|
CreatedTime: util.GetCurrentTime(),
|
|
|
|
Id: util.GenerateId(),
|
2021-07-16 17:04:16 +08:00
|
|
|
Type: "normal-user",
|
2021-02-15 22:14:19 +08:00
|
|
|
Password: "123",
|
|
|
|
DisplayName: "Admin",
|
|
|
|
Avatar: "https://casbin.org/img/casbin.svg",
|
|
|
|
Email: "admin@example.com",
|
2021-07-16 17:04:16 +08:00
|
|
|
Phone: "12345678910",
|
|
|
|
Address: []string{},
|
2021-02-15 22:14:19 +08:00
|
|
|
Affiliation: "Example Inc.",
|
|
|
|
Tag: "staff",
|
2021-08-28 11:13:38 +08:00
|
|
|
Score: 2000,
|
2021-12-12 21:06:56 +08:00
|
|
|
Ranking: 1,
|
2021-02-15 22:14:19 +08:00
|
|
|
IsAdmin: true,
|
|
|
|
IsGlobalAdmin: true,
|
2021-05-02 12:18:28 +08:00
|
|
|
IsForbidden: false,
|
2021-11-06 15:52:03 +08:00
|
|
|
IsDeleted: false,
|
2021-07-04 12:19:39 +08:00
|
|
|
Properties: make(map[string]string),
|
2021-02-15 10:05:14 +08:00
|
|
|
}
|
|
|
|
AddUser(user)
|
|
|
|
}
|
2021-02-15 10:32:14 +08:00
|
|
|
|
|
|
|
func initBuiltInApplication() {
|
|
|
|
application := getApplication("admin", "app-built-in")
|
|
|
|
if application != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
application = &Application{
|
|
|
|
Owner: "admin",
|
|
|
|
Name: "app-built-in",
|
|
|
|
CreatedTime: util.GetCurrentTime(),
|
|
|
|
DisplayName: "Casdoor",
|
2021-03-21 15:31:31 +08:00
|
|
|
Logo: "https://cdn.casbin.com/logo/logo_1024x256.png",
|
2021-05-28 22:38:12 +08:00
|
|
|
HomepageUrl: "https://casdoor.org",
|
2021-02-15 10:32:14 +08:00
|
|
|
Organization: "built-in",
|
|
|
|
EnablePassword: true,
|
2021-05-28 22:38:12 +08:00
|
|
|
EnableSignUp: true,
|
2021-06-14 21:35:19 +08:00
|
|
|
Providers: []*ProviderItem{},
|
2021-09-20 22:17:52 +08:00
|
|
|
SignupItems: []*SignupItem{
|
|
|
|
{Name: "ID", Visible: false, Required: true, Prompted: false, Rule: "Random"},
|
|
|
|
{Name: "Username", Visible: true, Required: true, Prompted: false, Rule: "None"},
|
|
|
|
{Name: "Display name", Visible: true, Required: true, Prompted: false, Rule: "None"},
|
|
|
|
{Name: "Password", Visible: true, Required: true, Prompted: false, Rule: "None"},
|
|
|
|
{Name: "Confirm password", Visible: true, Required: true, Prompted: false, Rule: "None"},
|
|
|
|
{Name: "Email", Visible: true, Required: true, Prompted: false, Rule: "None"},
|
|
|
|
{Name: "Phone", Visible: true, Required: true, Prompted: false, Rule: "None"},
|
|
|
|
{Name: "Agreement", Visible: true, Required: true, Prompted: false, Rule: "None"},
|
|
|
|
},
|
|
|
|
RedirectUris: []string{},
|
|
|
|
ExpireInHours: 168,
|
2021-02-15 10:32:14 +08:00
|
|
|
}
|
|
|
|
AddApplication(application)
|
|
|
|
}
|
2021-07-17 14:13:00 +08:00
|
|
|
|
|
|
|
func initBuiltInLdap() {
|
|
|
|
ldap := GetLdap("ldap-built-in")
|
|
|
|
if ldap != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
ldap = &Ldap{
|
|
|
|
Id: "ldap-built-in",
|
|
|
|
Owner: "built-in",
|
|
|
|
ServerName: "BuildIn LDAP Server",
|
|
|
|
Host: "example.com",
|
|
|
|
Port: 389,
|
|
|
|
Admin: "cn=buildin,dc=example,dc=com",
|
|
|
|
Passwd: "123",
|
|
|
|
BaseDn: "ou=BuildIn,dc=example,dc=com",
|
|
|
|
AutoSync: 0,
|
|
|
|
LastSync: "",
|
|
|
|
}
|
|
|
|
AddLdap(ldap)
|
|
|
|
}
|