forked from x/icebergs
opt git
This commit is contained in:
parent
6bb29fed18
commit
8b184981b6
@ -205,8 +205,8 @@ const (
|
||||
BODY = "body"
|
||||
HOME = "home"
|
||||
|
||||
OPS_SERVER_START = "ops.server.start"
|
||||
SERVE_START = "serve.start"
|
||||
OPS_SERVER_OPEN = "ops.server.open"
|
||||
SERVE_START = "serve.start"
|
||||
)
|
||||
const SERVE = "serve"
|
||||
|
||||
|
@ -102,18 +102,12 @@ func _space_fork(m *ice.Message) {
|
||||
case WORKER:
|
||||
defer gdb.EventDeferEvent(m, DREAM_OPEN, args)(DREAM_CLOSE, args)
|
||||
case SERVER:
|
||||
defer gdb.EventDeferEvent(m, SPACE_OPEN, args)(SPACE_CLOSE, args)
|
||||
m.Go(func() {
|
||||
m.Cmd(SPACE, name, cli.PWD, name, kit.Dict(nfs.MODULE, ice.Info.Make.Module, nfs.VERSION, ice.Info.Make.Versions(), AGENT, "Go-http-client", cli.SYSTEM, runtime.GOOS))
|
||||
m.Cmd(SPACE).Table(func(value ice.Maps) {
|
||||
if kit.IsIn(value[mdb.TYPE], WORKER, SERVER) {
|
||||
m.Cmd(SPACE, value[mdb.NAME], gdb.EVENT, gdb.HAPPEN, gdb.EVENT, OPS_SERVER_START, args, kit.Dict(ice.MSG_USERROLE, aaa.TECH))
|
||||
}
|
||||
})
|
||||
m.Cmd(DREAM).Table(func(value ice.Maps) {
|
||||
if value["restart"] == "always" {
|
||||
value[nfs.BINARY] = UserHost(m) + S(value[mdb.NAME])
|
||||
value[mdb.ICON] = strings.TrimPrefix(kit.Split(value[mdb.ICON], "?")[0], "/require/")
|
||||
m.Cmd(SPACE, name, DREAM, mdb.CREATE, mdb.NAME, value[mdb.NAME], value)
|
||||
m.Cmd(SPACE, value[mdb.NAME], gdb.EVENT, gdb.HAPPEN, gdb.EVENT, OPS_SERVER_OPEN, args, kit.Dict(ice.MSG_USERROLE, aaa.TECH))
|
||||
}
|
||||
})
|
||||
})
|
||||
@ -234,6 +228,8 @@ const (
|
||||
SPACE_LOGIN = "space.login"
|
||||
SPACE_LOGIN_CLOSE = "space.login.close"
|
||||
SPACE_GRANT = "space.grant"
|
||||
SPACE_OPEN = "space.open"
|
||||
SPACE_CLOSE = "space.close"
|
||||
)
|
||||
const SPACE = "space"
|
||||
|
||||
|
4
info.go
4
info.go
@ -144,7 +144,7 @@ func MergeActions(arg ...Any) Actions {
|
||||
h.Hand = MergeHand(v.Hand, h.Hand)
|
||||
} else if k == CTX_EXIT {
|
||||
h.Hand = MergeHand(h.Hand, v.Hand)
|
||||
} else if h.Name, h.Help = kit.Select(v.Name, h.Name), kit.Select(v.Help, h.Help); h.Hand == nil {
|
||||
} else if h.Name, h.Help, h.Icon = kit.Select(v.Name, h.Name), kit.Select(v.Help, h.Help), kit.Select(v.Icon, h.Icon); h.Hand == nil {
|
||||
h.Hand = v.Hand
|
||||
}
|
||||
}
|
||||
@ -166,12 +166,12 @@ func MergeActions(arg ...Any) Actions {
|
||||
} else if h.Hand == nil {
|
||||
h.Hand = func(m *Message, arg ...string) { m.Cmdy(from, k, arg) }
|
||||
}
|
||||
kit.Value(_cmd.Meta, kit.Keys(CTX_ICONS, k), v.Icon)
|
||||
if help := kit.Split(v.Help, " ::"); len(help) > 0 {
|
||||
if kit.Value(_cmd.Meta, kit.Keys(CTX_TRANS, strings.TrimPrefix(k, "_")), help[0]); len(help) > 1 {
|
||||
kit.Value(_cmd.Meta, kit.Keys(CTX_TITLE, k), help[1])
|
||||
}
|
||||
}
|
||||
kit.Value(_cmd.Meta, kit.Keys(CTX_ICONS, k), kit.Select(v.Icon, h.Icon))
|
||||
kit.If(len(v.List) > 0, func() { _cmd.Meta[k] = v.List })
|
||||
}(k)
|
||||
}
|
||||
|
@ -436,6 +436,14 @@ func init() {
|
||||
}
|
||||
})
|
||||
}},
|
||||
INIT: {Name: "init origin*", Help: "初始化", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.OptionDefault(nfs.PATH, kit.Path(""))
|
||||
m.Cmd(nfs.DEFS, path.Join(m.Option(nfs.PATH), ".git/config"), kit.Format(nfs.Template(m, CONFIG), m.Option(ORIGIN)))
|
||||
m.Cmd(nfs.DEFS, path.Join(m.Option(nfs.PATH), _GITIGNORE), nfs.Template(m, IGNORE))
|
||||
git.PlainInit(m.Option(nfs.PATH), false)
|
||||
_repos_insert(m, m.Option(nfs.PATH))
|
||||
m.ProcessRefresh()
|
||||
}},
|
||||
INSTEADOF: {Name: "insteadof remote", Help: "代理", Icon: "bi bi-clouds", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(CONFIGS, func(value ice.Maps) {
|
||||
if strings.HasSuffix(value[mdb.NAME], _INSTEADOF) && strings.HasPrefix(ice.Info.Make.Remote, value[mdb.VALUE]) {
|
||||
@ -446,14 +454,6 @@ func init() {
|
||||
_git_cmd(m, CONFIG, GLOBAL, "url."+m.Option(REMOTE)+_INSTEADOF, strings.TrimSuffix(ice.Info.Make.Remote, path.Base(ice.Info.Make.Remote)))
|
||||
}
|
||||
}},
|
||||
INIT: {Name: "init origin* path", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.OptionDefault(nfs.PATH, kit.Path(""))
|
||||
m.Cmd(nfs.DEFS, path.Join(m.Option(nfs.PATH), ".git/config"), kit.Format(nfs.Template(m, CONFIG), m.Option(ORIGIN)))
|
||||
m.Cmd(nfs.DEFS, path.Join(m.Option(nfs.PATH), _GITIGNORE), nfs.Template(m, IGNORE))
|
||||
git.PlainInit(m.Option(nfs.PATH), false)
|
||||
_repos_insert(m, m.Option(nfs.PATH))
|
||||
m.ProcessRefresh()
|
||||
}},
|
||||
REMOTE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
repos := _repos_open(m, kit.Select(path.Base(kit.Path("")), kit.Select(m.Option(REPOS), arg, 0)))
|
||||
if _remote, err := repos.Remote(ORIGIN); err == nil {
|
||||
@ -474,19 +474,28 @@ func init() {
|
||||
}
|
||||
}
|
||||
}},
|
||||
REMOTE_URL: {Hand: func(m *ice.Message, arg ...string) {
|
||||
REMOTE_URL: {Name: "remoteURL", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Echo(_repos_remote(m, _repos_origin(m, _repos_open(m, path.Base(kit.Path(""))))))
|
||||
}},
|
||||
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||
switch arg[0] {
|
||||
case MESSAGE:
|
||||
ls := kit.Split(m.Option(nfs.FILE), " /")
|
||||
m.Push(arg[0], kit.Select("", ls, -2))
|
||||
m.Push(arg[0], kit.Join(kit.Slice(ls, -1), nfs.PS))
|
||||
m.Push(arg[0], kit.Join(kit.Slice(ls, -2), nfs.PS))
|
||||
m.Push(arg[0], m.Option(nfs.FILE))
|
||||
case VERSION:
|
||||
m.Push(arg[0], _repos_tag(m, m.Option(TAGS)))
|
||||
switch m.Option(ctx.ACTION) {
|
||||
case INIT:
|
||||
m.Cmd(web.SPIDE, ice.OptionFields(web.CLIENT_ORIGIN), func(value ice.Maps) { m.Push(arg[0], value[web.CLIENT_ORIGIN]+web.X(path.Base(kit.Path("")))) })
|
||||
m.Push(arg[0], kit.MergeURL2(web.UserHost(m), web.X(path.Base(kit.Path("")))))
|
||||
case INSTEADOF, OAUTH:
|
||||
m.Cmd(web.SPIDE, ice.OptionFields(web.CLIENT_ORIGIN), func(value ice.Maps) { m.Push(arg[0], value[web.CLIENT_ORIGIN]+web.X()) })
|
||||
m.Push(arg[0], kit.MergeURL2(web.UserHost(m), web.X()))
|
||||
default:
|
||||
switch arg[0] {
|
||||
case MESSAGE:
|
||||
ls := kit.Split(m.Option(nfs.FILE), " /")
|
||||
m.Push(arg[0], kit.Select("", ls, -2))
|
||||
m.Push(arg[0], kit.Join(kit.Slice(ls, -1), nfs.PS))
|
||||
m.Push(arg[0], kit.Join(kit.Slice(ls, -2), nfs.PS))
|
||||
m.Push(arg[0], m.Option(nfs.FILE))
|
||||
case VERSION:
|
||||
m.Push(arg[0], _repos_tag(m, m.Option(TAGS)))
|
||||
}
|
||||
}
|
||||
}},
|
||||
mdb.REMOVE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
@ -495,9 +504,9 @@ func init() {
|
||||
mdb.HashRemove(m, m.Option(REPOS))
|
||||
}
|
||||
}},
|
||||
CLONE: {Name: "clone origin* branch name path", Help: "克隆", Icon: "bi bi-copy", Hand: func(m *ice.Message, arg ...string) {
|
||||
CLONE: {Name: "clone origin* name", Help: "克隆", Icon: "bi bi-copy", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.OptionDefault(mdb.NAME, path.Base(m.Option(ORIGIN)))
|
||||
m.OptionDefault(nfs.PATH, path.Join(nfs.USR, m.Option(mdb.NAME))+nfs.PS)
|
||||
m.Option(nfs.PATH, path.Join(nfs.USR, m.Option(mdb.NAME))+nfs.PS)
|
||||
defer m.Cmdy(nfs.DIR, m.Option(nfs.PATH))
|
||||
if nfs.Exists(m, path.Join(m.Option(nfs.PATH), _GIT)) {
|
||||
return
|
||||
@ -608,6 +617,18 @@ func init() {
|
||||
web.DREAM_TRASH: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd("", mdb.REMOVE, kit.Dict(REPOS, m.Option(mdb.NAME)))
|
||||
}},
|
||||
web.SPACE_OPEN: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.Option(mdb.TYPE) == web.SERVER {
|
||||
m.Cmd(web.DREAM).Table(func(value ice.Maps) {
|
||||
if value[cli.RESTART] == "always" {
|
||||
value[nfs.BINARY] = web.UserHost(m) + web.S(value[mdb.NAME])
|
||||
value[mdb.ICON] = strings.TrimPrefix(kit.Split(value[mdb.ICON], "?")[0], "/require/")
|
||||
value[nfs.REPOS] = _repos_remote(m, _repos_origin(m, _repos_open(m, path.Join(ice.USR_LOCAL_WORK, value[mdb.NAME]))))
|
||||
m.Cmd(web.SPACE, m.Option(mdb.NAME), web.DREAM, mdb.CREATE, mdb.NAME, value[mdb.NAME], value)
|
||||
}
|
||||
})
|
||||
}
|
||||
}},
|
||||
web.SERVE_START: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd("", CLONE, ORIGIN, "node_modules", mdb.NAME, "", nfs.PATH, "")
|
||||
m.Cmd("", CLONE, ORIGIN, "icons", mdb.NAME, "", nfs.PATH, "")
|
||||
|
@ -33,35 +33,24 @@ func init() {
|
||||
ice.CTX_TRANS, kit.Dict(html.INPUT, kit.Dict("actions", "操作", "message", "信息")),
|
||||
), Actions: ice.MergeActions(ice.Actions{
|
||||
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||
switch m.Option(ctx.ACTION) {
|
||||
case INIT:
|
||||
m.Cmd(web.SPIDE, ice.OptionFields(web.CLIENT_ORIGIN), func(value ice.Maps) { m.Push(arg[0], value[web.CLIENT_ORIGIN]+web.X(path.Base(kit.Path("")))) })
|
||||
m.Push(arg[0], kit.MergeURL2(web.UserHost(m), web.X(path.Base(kit.Path("")))))
|
||||
case INSTEADOF, OAUTH:
|
||||
m.Cmd(web.SPIDE, ice.OptionFields(web.CLIENT_ORIGIN), func(value ice.Maps) { m.Push(arg[0], value[web.CLIENT_ORIGIN]+web.X()) })
|
||||
m.Push(arg[0], kit.MergeURL2(web.UserHost(m), web.X()))
|
||||
switch arg[0] {
|
||||
case aaa.EMAIL:
|
||||
m.Push(arg[0], _configs_get(m, USER_EMAIL), ice.Info.Make.Email)
|
||||
case aaa.USERNAME:
|
||||
m.Push(arg[0], kit.Select(m.Option(ice.MSG_USERNAME), _configs_get(m, USER_NAME)), ice.Info.Make.Username)
|
||||
default:
|
||||
switch arg[0] {
|
||||
case aaa.USERNAME:
|
||||
m.Push(arg[0], kit.Select(m.Option(ice.MSG_USERNAME), _configs_get(m, USER_NAME)), ice.Info.Make.Username)
|
||||
case aaa.EMAIL:
|
||||
m.Push(arg[0], _configs_get(m, USER_EMAIL), ice.Info.Make.Email)
|
||||
default:
|
||||
m.Cmdy(REPOS, mdb.INPUTS, arg)
|
||||
}
|
||||
m.Cmdy(REPOS, mdb.INPUTS, arg)
|
||||
}
|
||||
}},
|
||||
INIT: {Name: "init origin*", Help: "初始化", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(REPOS, INIT) }},
|
||||
OAUTH: {Name: "oauth remote", Help: "授权", Icon: "bi bi-person-check", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.ProcessOpen(kit.MergeURL2(kit.Select(ice.Info.Make.Domain, m.Cmdx(REPOS, REMOTE_URL), m.Option(REMOTE)), web.ChatCmdPath(m, web.TOKEN, "gen"),
|
||||
mdb.TYPE, web.CODE_GIT_STATUS, tcp.HOST, m.Option(ice.MSG_USERWEB)))
|
||||
}},
|
||||
CONFIGS: {Name: "configs email* username*", Help: "配置", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(nfs.DEFS, kit.HomePath(_GITCONFIG), kit.Format(nfs.Template(m, "gitconfig"), m.Option(aaa.USERNAME), m.Option(aaa.EMAIL)))
|
||||
mdb.Config(m, aaa.USERNAME, m.Option(aaa.USERNAME))
|
||||
mdb.Config(m, aaa.EMAIL, m.Option(aaa.EMAIL))
|
||||
}},
|
||||
INSTEADOF: {Name: "insteadof remote", Help: "代理", Icon: "bi bi-clouds", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(REPOS, INSTEADOF, arg) }},
|
||||
OAUTH: {Name: "oauth remote", Help: "授权", Icon: "bi bi-person-check", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.ProcessOpen(kit.MergeURL2(kit.Select(ice.Info.Make.Domain, m.Cmdx(REPOS, REMOTE_URL), m.Option(REMOTE)), web.ChatCmdPath(m, web.TOKEN, "gen"),
|
||||
mdb.TYPE, web.CODE_GIT_STATUS, tcp.HOST, m.Option(ice.MSG_USERWEB)))
|
||||
}},
|
||||
web.DREAM_TABLES: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if !nfs.Exists(m, path.Join(ice.USR_LOCAL_WORK, m.Option(mdb.NAME), _GIT)) {
|
||||
m.Push(mdb.TEXT, "")
|
||||
|
Loading…
x
Reference in New Issue
Block a user