This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-09-03 07:41:00 +08:00
parent 9ac2c12d20
commit 58e41d24f3
13 changed files with 27 additions and 103 deletions

View File

@ -12,6 +12,6 @@ ish_miss_prepare_project
ish_miss_prepare_contexts ish_miss_prepare_contexts
ish_miss_prepare_resource ish_miss_prepare_resource
ish_miss_prepare community # ish_miss_prepare community
ish_miss_make; [ -z "$*" ] || ish_miss_serve "$@" ish_miss_make; [ -z "$*" ] || ish_miss_serve "$@"

2
go.mod
View File

@ -3,7 +3,7 @@ module shylinux.com/x/enterprise
go 1.20 go 1.20
require ( require (
shylinux.com/x/community v0.0.4 shylinux.com/x/community v0.0.5
shylinux.com/x/ice v1.5.44 shylinux.com/x/ice v1.5.44
shylinux.com/x/icebergs v1.9.44 shylinux.com/x/icebergs v1.9.44
shylinux.com/x/mysql-story v0.6.18 shylinux.com/x/mysql-story v0.6.18

4
go.sum
View File

@ -178,8 +178,8 @@ gorm.io/gorm v1.25.7-0.20240204074919-46816ad31dde/go.mod h1:hbnx/Oo0ChWMn1BIhpy
gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
gorm.io/gorm v1.25.11 h1:/Wfyg1B/je1hnDx3sMkX+gAlxrlZpn6X0BXRlwXlvHg= gorm.io/gorm v1.25.11 h1:/Wfyg1B/je1hnDx3sMkX+gAlxrlZpn6X0BXRlwXlvHg=
gorm.io/gorm v1.25.11/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ= gorm.io/gorm v1.25.11/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ=
shylinux.com/x/community v0.0.4 h1:E52a1/MaeB/mnPo+GiKxtKINNTyN0JEcPZIJcRgxZmw= shylinux.com/x/community v0.0.5 h1:lo2SkTyuZHcXV7I4diakPe/n83AEb4nFfyfJXee58ao=
shylinux.com/x/community v0.0.4/go.mod h1:JDPG8S21VOKn5hoa2YdCp87MMpYv+6777ut8dHopww0= shylinux.com/x/community v0.0.5/go.mod h1:QXbZEzEkPbCurkQxHb3fUwiTUa6YiR35BrlXUmcKTtk=
shylinux.com/x/go-git/v5 v5.6.7 h1:WD5QSco7m3QooPCgdvQ6/GyGIFPun8C+hex5N41LYlk= shylinux.com/x/go-git/v5 v5.6.7 h1:WD5QSco7m3QooPCgdvQ6/GyGIFPun8C+hex5N41LYlk=
shylinux.com/x/go-git/v5 v5.6.7/go.mod h1:Qb0lA+uIrofZg8NQerhYcJHgGWixFqvS6p3aJ/L5Nlk= shylinux.com/x/go-git/v5 v5.6.7/go.mod h1:Qb0lA+uIrofZg8NQerhYcJHgGWixFqvS6p3aJ/L5Nlk=
shylinux.com/x/go-qrcode v0.0.3 h1:RMo+Vidbgq3HatLBj7DDXcTbTLFUwzis5K7TqBkD38U= shylinux.com/x/go-qrcode v0.0.3 h1:RMo+Vidbgq3HatLBj7DDXcTbTLFUwzis5K7TqBkD38U=

View File

@ -35,17 +35,6 @@ func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message {
}) })
return s.Table.RewriteAppend(m) return s.Table.RewriteAppend(m)
} }
func (s Table) CheckRole(m *ice.Message, arg ...string) *ice.Message {
role := UserReposRole(kit.Int(m.Cmd(userRepos{}, s.Select, m.OptionSimple(model.REPOS_UID, model.USER_UID)).Append(model.ROLE)))
m.WarnNotRight(!kit.IsIn(role.String(), append(arg, UserReposCreator.String())...), role.String())
return m
}
func (s Table) recordEvent(m *ice.Message, info string, arg ...string) {
s.Table.RecordEvent(m, m.Option(model.REPOS_UID), info, kit.Select(m.Option(model.UID), arg, 0))
}
func (s Table) recordEventWithName(m *ice.Message, info string, arg ...string) {
s.Table.RecordEventWithName(m, m.Option(model.REPOS_UID), info)
}
type Tables struct{ Table } type Tables struct{ Table }

View File

@ -6,10 +6,8 @@ import (
) )
type Portal struct { type Portal struct {
gonganxitong.Portal guanlixitong.Portal
placeCreate string `name:"placeCreate city_name* company_name* repos_name*" role:"void"` placeCreate string `name:"placeCreate city_name* company_name* repos_type*:select repos_name*" role:"void"`
} }
func init() { func init() { gonganxitong.PortalCmd(Portal{Portal: guanlixitong.NewPortal(userRepos{}, repos{})}) }
gonganxitong.PortalCmd(Portal{Portal: gonganxitong.NewPortal(userRepos{}, repos{}, guanlixitong.Company{})})
}

View File

@ -16,7 +16,7 @@ type release struct {
func (s release) Create(m *ice.Message, arg ...string) { func (s release) Create(m *ice.Message, arg ...string) {
s.Table.Create(m, kit.Simple(arg, m.OptionSimple(model.USER_UID, model.REPOS_UID))...) s.Table.Create(m, kit.Simple(arg, m.OptionSimple(model.USER_UID, model.REPOS_UID))...)
s.recordEventWithName(m, "") s.RecordEventWithName(m, "")
} }
func (s release) List(m *ice.Message, arg ...string) { func (s release) List(m *ice.Message, arg ...string) {
s.TablesWithRole(m, arg, s.userRepos, s.repos, s, model.TITLE, model.CONTENT).Display("") s.TablesWithRole(m, arg, s.userRepos, s.repos, s, model.TITLE, model.CONTENT).Display("")

View File

@ -1,27 +1,15 @@
package development package development
import "shylinux.com/x/ice" import (
"shylinux.com/x/ice"
"shylinux.com/x/enterprise/src/guanlixitong"
)
type userRepos struct{ Table } type userRepos struct{ Table }
func init() { ice.TeamCtxCmd(userRepos{}) } func init() { ice.TeamCtxCmd(userRepos{}) }
type UserReposRole int type UserReposRole = guanlixitong.UserGroupRole
const ( var UserReposRoleList = guanlixitong.UserGroupRoleList
UserReposVisitor UserReposRole = iota
UserReposCreator
UserReposLeader
UserReposWorker
UserReposServer
)
var UserReposRoleList = map[UserReposRole]string{
UserReposVisitor: "visitor",
UserReposCreator: "creator",
UserReposLeader: "leader",
UserReposWorker: "worker",
UserReposServer: "server",
}
func (s UserReposRole) String() string { return UserReposRoleList[s] }

View File

@ -3,8 +3,10 @@ package main
import ( import (
"shylinux.com/x/ice" "shylinux.com/x/ice"
_ "shylinux.com/x/enterprise/src/development"
_ "shylinux.com/x/enterprise/src/gongyinglian" _ "shylinux.com/x/enterprise/src/gongyinglian"
_ "shylinux.com/x/enterprise/src/guanlixitong" _ "shylinux.com/x/enterprise/src/guanlixitong"
_ "shylinux.com/x/enterprise/src/operation"
_ "shylinux.com/x/enterprise/src/shichangyingxiao" _ "shylinux.com/x/enterprise/src/shichangyingxiao"
_ "shylinux.com/x/enterprise/src/zijinlian" _ "shylinux.com/x/enterprise/src/zijinlian"
) )

View File

@ -35,17 +35,6 @@ func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message {
}) })
return s.Table.RewriteAppend(m) return s.Table.RewriteAppend(m)
} }
func (s Table) CheckRole(m *ice.Message, arg ...string) *ice.Message {
role := UserCloudRole(kit.Int(m.Cmd(userCloud{}, s.Select, m.OptionSimple(model.CLOUD_UID, model.USER_UID)).Append(model.ROLE)))
m.WarnNotRight(!kit.IsIn(role.String(), append(arg, UserCloudCreator.String())...), role.String())
return m
}
func (s Table) recordEvent(m *ice.Message, info string, arg ...string) {
s.Table.RecordEvent(m, m.Option(model.CLOUD_UID), info, kit.Select(m.Option(model.UID), arg, 0))
}
func (s Table) recordEventWithName(m *ice.Message, info string, arg ...string) {
s.Table.RecordEventWithName(m, m.Option(model.CLOUD_UID), info)
}
type Tables struct{ Table } type Tables struct{ Table }

View File

@ -6,10 +6,10 @@ import (
) )
type Portal struct { type Portal struct {
gonganxitong.Portal guanlixitong.Portal
placeCreate string `name:"placeCreate city_name* company_name* cloud_type*:select cloud_name*" role:"void"` placeCreate string `name:"placeCreate city_name* company_name* cloud_type*:select cloud_name*" role:"void"`
} }
func init() { func init() {
gonganxitong.PortalCmd(Portal{Portal: gonganxitong.NewPortal(userCloud{}, cloud{}, guanlixitong.Company{})}) gonganxitong.PortalCmd(Portal{Portal: guanlixitong.NewPortal(userCloud{}, cloud{})})
} }

View File

@ -16,7 +16,7 @@ type publish struct {
func (s publish) Create(m *ice.Message, arg ...string) { func (s publish) Create(m *ice.Message, arg ...string) {
s.Table.Create(m, kit.Simple(arg, m.OptionSimple(model.USER_UID, model.CLOUD_UID))...) s.Table.Create(m, kit.Simple(arg, m.OptionSimple(model.USER_UID, model.CLOUD_UID))...)
s.recordEventWithName(m, "") s.RecordEventWithName(m, "")
} }
func (s publish) List(m *ice.Message, arg ...string) { func (s publish) List(m *ice.Message, arg ...string) {
s.TablesWithRole(m, arg, s.userCloud, s.cloud, s, model.TITLE, model.CONTENT).Display("") s.TablesWithRole(m, arg, s.userCloud, s.cloud, s, model.TITLE, model.CONTENT).Display("")

View File

@ -1,27 +1,15 @@
package operation package operation
import "shylinux.com/x/ice" import (
"shylinux.com/x/ice"
"shylinux.com/x/enterprise/src/guanlixitong"
)
type userCloud struct{ Table } type userCloud struct{ Table }
func init() { ice.TeamCtxCmd(userCloud{}) } func init() { ice.TeamCtxCmd(userCloud{}) }
type UserCloudRole int type UserCloudRole = guanlixitong.UserGroupRole
const ( var UserCloudRoleList = guanlixitong.UserGroupRoleList
UserCloudVisitor UserCloudRole = iota
UserCloudCreator
UserCloudLeader
UserCloudWorker
UserCloudServer
)
var UserCloudRoleList = map[UserCloudRole]string{
UserCloudVisitor: "visitor",
UserCloudCreator: "creator",
UserCloudLeader: "leader",
UserCloudWorker: "worker",
UserCloudServer: "server",
}
func (s UserCloudRole) String() string { return UserCloudRoleList[s] }

View File

@ -1,40 +1,28 @@
{ {
"3b0ced2e41179097e594b91c3c36536b": { "3b0ced2e41179097e594b91c3c36536b": {
"meta": { "meta": {
"enable": "true",
"icons": "https://img.icons8.com/officel/80/person-at-home.png",
"index": "web.team.operation.member", "index": "web.team.operation.member",
"name": "场景成员",
"order": "80", "order": "80",
"time": "2024-08-24 11:07:55.172" "time": "2024-08-24 11:07:55.172"
} }
}, },
"53b0f8b9867485bb8864f2205e31897e": { "53b0f8b9867485bb8864f2205e31897e": {
"meta": { "meta": {
"enable": "true",
"icons": "https://img.icons8.com/officel/80/activity-grid.png",
"index": "web.team.operation.service", "index": "web.team.operation.service",
"name": "服务发现",
"order": "102", "order": "102",
"time": "2024-08-24 11:07:55.179" "time": "2024-08-24 11:07:55.179"
} }
}, },
"65c0459a8b23e672deebedb5c1c76fe5": { "65c0459a8b23e672deebedb5c1c76fe5": {
"meta": { "meta": {
"enable": "true",
"icons": "https://img.icons8.com/officel/80/activity-grid.png",
"index": "web.team.operation.publish", "index": "web.team.operation.publish",
"name": "系统发布",
"order": "1", "order": "1",
"time": "2024-08-27 09:10:02.041" "time": "2024-08-27 09:10:02.041"
} }
}, },
"6ca4f1fc571350c2498bc5c1d7ac3563": { "6ca4f1fc571350c2498bc5c1d7ac3563": {
"meta": { "meta": {
"enable": "true",
"icons": "https://img.icons8.com/officel/80/qr-code.png",
"index": "web.team.operation.qrcode", "index": "web.team.operation.qrcode",
"name": "场景码",
"order": "90", "order": "90",
"role": "creator", "role": "creator",
"time": "2024-08-24 11:07:55.167" "time": "2024-08-24 11:07:55.167"
@ -42,10 +30,7 @@
}, },
"85c8678d4af08bb0c3e9560155b7c98f": { "85c8678d4af08bb0c3e9560155b7c98f": {
"meta": { "meta": {
"enable": "true",
"icons": "https://img.icons8.com/officel/80/property-with-timer.png",
"index": "web.team.operation.event", "index": "web.team.operation.event",
"name": "事件流",
"order": "91", "order": "91",
"role": "creator", "role": "creator",
"time": "2024-08-24 11:07:55.172" "time": "2024-08-24 11:07:55.172"
@ -53,30 +38,21 @@
}, },
"b2d8434f3ab5340408f71c4bf087e3d9": { "b2d8434f3ab5340408f71c4bf087e3d9": {
"meta": { "meta": {
"enable": "true",
"icons": "https://img.icons8.com/officel/80/multiple-smartphones.png",
"index": "web.team.operation.recent", "index": "web.team.operation.recent",
"name": "最近访问",
"order": "101", "order": "101",
"time": "2024-08-24 11:07:55.176" "time": "2024-08-24 11:07:55.176"
} }
}, },
"ca74fb83cfd850b1ca03fe18976c253a": { "ca74fb83cfd850b1ca03fe18976c253a": {
"meta": { "meta": {
"enable": "true",
"icons": "https://img.icons8.com/officel/80/test-partial-passed.png",
"index": "web.team.operation.message", "index": "web.team.operation.message",
"name": "消息待办",
"order": "100", "order": "100",
"time": "2024-08-24 11:07:55.173" "time": "2024-08-24 11:07:55.173"
} }
}, },
"d47d5d11064235734413113c7440af7f": { "d47d5d11064235734413113c7440af7f": {
"meta": { "meta": {
"enable": "true",
"icons": "https://img.icons8.com/officel/80/receipt-approved.png",
"index": "web.team.operation.allow", "index": "web.team.operation.allow",
"name": "权限审批",
"order": "93", "order": "93",
"role": "creator", "role": "creator",
"time": "2024-08-24 11:07:55.187" "time": "2024-08-24 11:07:55.187"
@ -84,20 +60,14 @@
}, },
"ec25b5c62a4d26688fe114d9b25f7a56": { "ec25b5c62a4d26688fe114d9b25f7a56": {
"meta": { "meta": {
"enable": "true",
"icons": "https://img.icons8.com/officel/80/customer-support.png",
"index": "web.team.operation.support", "index": "web.team.operation.support",
"name": "客服支持",
"order": "103", "order": "103",
"time": "2024-08-24 11:07:55.187" "time": "2024-08-24 11:07:55.187"
} }
}, },
"f7484dd174d63a6800f84d1fb5fbb584": { "f7484dd174d63a6800f84d1fb5fbb584": {
"meta": { "meta": {
"enable": "true",
"icons": "https://img.icons8.com/officel/80/edit-property.png",
"index": "web.team.operation.apply", "index": "web.team.operation.apply",
"name": "权限申请",
"order": "92", "order": "92",
"role": "creator", "role": "creator",
"time": "2024-08-24 11:07:55.200" "time": "2024-08-24 11:07:55.200"