mirror of
https://github.com/casdoor/casdoor.git
synced 2025-05-23 02:35:49 +08:00
feat: add all other missing objects to init_data (#1407)
* Add all other missing objects to init_data.json * Format golang code * feat: add all other missing objects to init_data * feat: add all other missing objects to init_data
This commit is contained in:
parent
48a0c8473f
commit
26acece8af
@ -156,5 +156,187 @@
|
|||||||
"autoSync": 0,
|
"autoSync": 0,
|
||||||
"lastSync": ""
|
"lastSync": ""
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"models": [
|
||||||
|
{
|
||||||
|
"owner": "",
|
||||||
|
"name": "",
|
||||||
|
"modelText": "",
|
||||||
|
"displayName": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"permissions": [
|
||||||
|
{
|
||||||
|
"actions": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"displayName": "",
|
||||||
|
"effect": "",
|
||||||
|
"isEnabled": true,
|
||||||
|
"model": "",
|
||||||
|
"name": "",
|
||||||
|
"owner": "",
|
||||||
|
"resourceType": "",
|
||||||
|
"resources": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"roles": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"users": [
|
||||||
|
""
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"payments": [
|
||||||
|
{
|
||||||
|
"currency": "",
|
||||||
|
"detail": "",
|
||||||
|
"displayName": "",
|
||||||
|
"invoiceRemark": "",
|
||||||
|
"invoiceTaxId": "",
|
||||||
|
"invoiceTitle": "",
|
||||||
|
"invoiceType": "",
|
||||||
|
"invoiceUrl": "",
|
||||||
|
"message": "",
|
||||||
|
"name": "",
|
||||||
|
"organization": "",
|
||||||
|
"owner": "",
|
||||||
|
"payUrl": "",
|
||||||
|
"personEmail": "",
|
||||||
|
"personIdCard": "",
|
||||||
|
"personName": "",
|
||||||
|
"personPhone": "",
|
||||||
|
"price": 0,
|
||||||
|
"productDisplayName": "",
|
||||||
|
"productName": "",
|
||||||
|
"provider": "",
|
||||||
|
"returnUrl": "",
|
||||||
|
"state": "",
|
||||||
|
"tag": "",
|
||||||
|
"type": "",
|
||||||
|
"user": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"products": [
|
||||||
|
{
|
||||||
|
"currency": "",
|
||||||
|
"detail": "",
|
||||||
|
"displayName": "",
|
||||||
|
"image": "",
|
||||||
|
"name": "",
|
||||||
|
"owner": "",
|
||||||
|
"price": 0,
|
||||||
|
"providers": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"quantity": 0,
|
||||||
|
"returnUrl": "",
|
||||||
|
"sold": 0,
|
||||||
|
"state": "",
|
||||||
|
"tag": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"owner": "",
|
||||||
|
"name": "",
|
||||||
|
"user": "",
|
||||||
|
"provider": "",
|
||||||
|
"application": "",
|
||||||
|
"tag": "",
|
||||||
|
"parent": "",
|
||||||
|
"fileName": "",
|
||||||
|
"fileType": "",
|
||||||
|
"fileFormat": "",
|
||||||
|
"url": "",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"roles": [
|
||||||
|
{
|
||||||
|
"displayName": "",
|
||||||
|
"isEnabled": true,
|
||||||
|
"name": "",
|
||||||
|
"owner": "",
|
||||||
|
"roles": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"users": [
|
||||||
|
""
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"syncers": [
|
||||||
|
{
|
||||||
|
"affiliationTable": "",
|
||||||
|
"avatarBaseUrl": "",
|
||||||
|
"database": "",
|
||||||
|
"databaseType": "",
|
||||||
|
"errorText": "",
|
||||||
|
"host": "",
|
||||||
|
"isEnabled": true,
|
||||||
|
"name": "",
|
||||||
|
"organization": "",
|
||||||
|
"owner": "",
|
||||||
|
"password": "",
|
||||||
|
"port": 0,
|
||||||
|
"syncInterval": 0,
|
||||||
|
"table": "",
|
||||||
|
"tableColumns": [
|
||||||
|
{
|
||||||
|
"casdoorName": "",
|
||||||
|
"isHashed": true,
|
||||||
|
"name": "",
|
||||||
|
"type": "",
|
||||||
|
"values": [
|
||||||
|
""
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tablePrimaryKey": "",
|
||||||
|
"type": "",
|
||||||
|
"user": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Token": [
|
||||||
|
{
|
||||||
|
"accessToken": "",
|
||||||
|
"application": "",
|
||||||
|
"code": "",
|
||||||
|
"codeChallenge": "",
|
||||||
|
"codeExpireIn": 0,
|
||||||
|
"codeIsUsed": true,
|
||||||
|
"createdTime": "",
|
||||||
|
"expiresIn": 0,
|
||||||
|
"name": "",
|
||||||
|
"organization": "",
|
||||||
|
"owner": "",
|
||||||
|
"refreshToken": "",
|
||||||
|
"scope": "",
|
||||||
|
"tokenType": "",
|
||||||
|
"user": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"webhooks": [
|
||||||
|
{
|
||||||
|
"contentType": "",
|
||||||
|
"events": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"headers": [
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"value": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"isEnabled": true,
|
||||||
|
"isUserExtended": true,
|
||||||
|
"method": "",
|
||||||
|
"name": "",
|
||||||
|
"organization": "",
|
||||||
|
"owner": "",
|
||||||
|
"url": ""
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,15 @@ type InitData struct {
|
|||||||
Certs []*Cert `json:"certs"`
|
Certs []*Cert `json:"certs"`
|
||||||
Providers []*Provider `json:"providers"`
|
Providers []*Provider `json:"providers"`
|
||||||
Ldaps []*Ldap `json:"ldaps"`
|
Ldaps []*Ldap `json:"ldaps"`
|
||||||
|
Models []*Model `json:"models"`
|
||||||
|
Permissions []*Permission `json:"permissions"`
|
||||||
|
Payments []*Payment `json:"payments"`
|
||||||
|
Products []*Product `json:"products"`
|
||||||
|
Resources []*Resource `json:"resources"`
|
||||||
|
Roles []*Role `json:"roles"`
|
||||||
|
Syncers []*Syncer `json:"syncers"`
|
||||||
|
Tokens []*Token `json:"tokens"`
|
||||||
|
Webhooks []*Webhook `json:"webhooks"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func InitFromFile() {
|
func InitFromFile() {
|
||||||
@ -46,6 +55,33 @@ func InitFromFile() {
|
|||||||
for _, ldap := range initData.Ldaps {
|
for _, ldap := range initData.Ldaps {
|
||||||
initDefinedLdap(ldap)
|
initDefinedLdap(ldap)
|
||||||
}
|
}
|
||||||
|
for _, model := range initData.Models {
|
||||||
|
initDefinedModel(model)
|
||||||
|
}
|
||||||
|
for _, permission := range initData.Permissions {
|
||||||
|
initDefinedPermission(permission)
|
||||||
|
}
|
||||||
|
for _, payment := range initData.Payments {
|
||||||
|
initDefinedPayment(payment)
|
||||||
|
}
|
||||||
|
for _, product := range initData.Products {
|
||||||
|
initDefinedProduct(product)
|
||||||
|
}
|
||||||
|
for _, resource := range initData.Resources {
|
||||||
|
initDefinedResource(resource)
|
||||||
|
}
|
||||||
|
for _, role := range initData.Roles {
|
||||||
|
initDefinedRole(role)
|
||||||
|
}
|
||||||
|
for _, syncer := range initData.Syncers {
|
||||||
|
initDefinedSyncer(syncer)
|
||||||
|
}
|
||||||
|
for _, token := range initData.Tokens {
|
||||||
|
initDefinedToken(token)
|
||||||
|
}
|
||||||
|
for _, webhook := range initData.Webhooks {
|
||||||
|
initDefinedWebhook(webhook)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,6 +99,15 @@ func readInitDataFromFile(filePath string) *InitData {
|
|||||||
Certs: []*Cert{},
|
Certs: []*Cert{},
|
||||||
Providers: []*Provider{},
|
Providers: []*Provider{},
|
||||||
Ldaps: []*Ldap{},
|
Ldaps: []*Ldap{},
|
||||||
|
Models: []*Model{},
|
||||||
|
Permissions: []*Permission{},
|
||||||
|
Payments: []*Payment{},
|
||||||
|
Products: []*Product{},
|
||||||
|
Resources: []*Resource{},
|
||||||
|
Roles: []*Role{},
|
||||||
|
Syncers: []*Syncer{},
|
||||||
|
Tokens: []*Token{},
|
||||||
|
Webhooks: []*Webhook{},
|
||||||
}
|
}
|
||||||
err := util.JsonToStruct(s, data)
|
err := util.JsonToStruct(s, data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -89,6 +134,41 @@ func readInitDataFromFile(filePath string) *InitData {
|
|||||||
application.RedirectUris = []string{}
|
application.RedirectUris = []string{}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for _, permission := range data.Permissions {
|
||||||
|
if permission.Actions == nil {
|
||||||
|
permission.Actions = []string{}
|
||||||
|
}
|
||||||
|
if permission.Resources == nil {
|
||||||
|
permission.Resources = []string{}
|
||||||
|
}
|
||||||
|
if permission.Roles == nil {
|
||||||
|
permission.Roles = []string{}
|
||||||
|
}
|
||||||
|
if permission.Users == nil {
|
||||||
|
permission.Users = []string{}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, role := range data.Roles {
|
||||||
|
if role.Roles == nil {
|
||||||
|
role.Roles = []string{}
|
||||||
|
}
|
||||||
|
if role.Users == nil {
|
||||||
|
role.Users = []string{}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, syncer := range data.Syncers {
|
||||||
|
if syncer.TableColumns == nil {
|
||||||
|
syncer.TableColumns = []*TableColumn{}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, webhook := range data.Webhooks {
|
||||||
|
if webhook.Events == nil {
|
||||||
|
webhook.Events = []string{}
|
||||||
|
}
|
||||||
|
if webhook.Headers == nil {
|
||||||
|
webhook.Headers = []*Header{}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
@ -174,3 +254,84 @@ func initDefinedProvider(provider *Provider) {
|
|||||||
}
|
}
|
||||||
AddProvider(provider)
|
AddProvider(provider)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func initDefinedModel(model *Model) {
|
||||||
|
existed := GetModel(model.GetId())
|
||||||
|
if existed != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
model.CreatedTime = util.GetCurrentTime()
|
||||||
|
AddModel(model)
|
||||||
|
}
|
||||||
|
|
||||||
|
func initDefinedPermission(permission *Permission) {
|
||||||
|
existed := GetPermission(permission.GetId())
|
||||||
|
if existed != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
permission.CreatedTime = util.GetCurrentTime()
|
||||||
|
AddPermission(permission)
|
||||||
|
}
|
||||||
|
|
||||||
|
func initDefinedPayment(payment *Payment) {
|
||||||
|
existed := GetPayment(payment.GetId())
|
||||||
|
if existed != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
payment.CreatedTime = util.GetCurrentTime()
|
||||||
|
AddPayment(payment)
|
||||||
|
}
|
||||||
|
|
||||||
|
func initDefinedProduct(product *Product) {
|
||||||
|
existed := GetProduct(product.GetId())
|
||||||
|
if existed != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
product.CreatedTime = util.GetCurrentTime()
|
||||||
|
AddProduct(product)
|
||||||
|
}
|
||||||
|
|
||||||
|
func initDefinedResource(resource *Resource) {
|
||||||
|
existed := GetResource(resource.GetId())
|
||||||
|
if existed != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resource.CreatedTime = util.GetCurrentTime()
|
||||||
|
AddResource(resource)
|
||||||
|
}
|
||||||
|
|
||||||
|
func initDefinedRole(role *Role) {
|
||||||
|
existed := GetRole(role.GetId())
|
||||||
|
if existed != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
role.CreatedTime = util.GetCurrentTime()
|
||||||
|
AddRole(role)
|
||||||
|
}
|
||||||
|
|
||||||
|
func initDefinedSyncer(syncer *Syncer) {
|
||||||
|
existed := GetSyncer(syncer.GetId())
|
||||||
|
if existed != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
syncer.CreatedTime = util.GetCurrentTime()
|
||||||
|
AddSyncer(syncer)
|
||||||
|
}
|
||||||
|
|
||||||
|
func initDefinedToken(token *Token) {
|
||||||
|
existed := GetToken(token.GetId())
|
||||||
|
if existed != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
token.CreatedTime = util.GetCurrentTime()
|
||||||
|
AddToken(token)
|
||||||
|
}
|
||||||
|
|
||||||
|
func initDefinedWebhook(webhook *Webhook) {
|
||||||
|
existed := GetWebhook(webhook.GetId())
|
||||||
|
if existed != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
webhook.CreatedTime = util.GetCurrentTime()
|
||||||
|
AddWebhook(webhook)
|
||||||
|
}
|
||||||
|
@ -169,6 +169,10 @@ func GetToken(id string) *Token {
|
|||||||
return getToken(owner, name)
|
return getToken(owner, name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (token *Token) GetId() string {
|
||||||
|
return fmt.Sprintf("%s/%s", token.Owner, token.Name)
|
||||||
|
}
|
||||||
|
|
||||||
func UpdateToken(id string, token *Token) bool {
|
func UpdateToken(id string, token *Token) bool {
|
||||||
owner, name := util.GetOwnerAndNameFromId(id)
|
owner, name := util.GetOwnerAndNameFromId(id)
|
||||||
if getToken(owner, name) == nil {
|
if getToken(owner, name) == nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user