mirror of
https://shylinux.com/x/icebergs
synced 2025-04-27 01:48:27 +08:00
47 lines
1.8 KiB
Go
47 lines
1.8 KiB
Go
package mdb
|
|
|
|
import (
|
|
ice "github.com/shylinux/icebergs"
|
|
kit "github.com/shylinux/toolkits"
|
|
)
|
|
|
|
const ZONE_FIELD = "time,zone,count"
|
|
|
|
func ZoneAction(fields ...string) map[string]*ice.Action {
|
|
_zone := func(m *ice.Message) string {
|
|
return kit.Select(kit.MDB_ZONE, m.Conf(m.PrefixKey(), kit.Keym(kit.MDB_SHORT)))
|
|
}
|
|
return selectAction(map[string]*ice.Action{
|
|
CREATE: {Name: "create zone", Help: "创建", Hand: func(m *ice.Message, arg ...string) {
|
|
m.Cmdy(INSERT, m.PrefixKey(), "", HASH, arg)
|
|
}},
|
|
INSERT: {Name: "insert zone= type=go name=hi text=hello", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
|
m.Cmdy(INSERT, m.PrefixKey(), "", HASH, _zone(m), arg[1])
|
|
m.Cmdy(INSERT, m.PrefixKey(), "", ZONE, m.Option(_zone(m)), arg[2:])
|
|
}},
|
|
MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
|
|
m.Cmdy(MODIFY, m.PrefixKey(), "", ZONE, m.Option(_zone(m)), m.Option(kit.MDB_ID), arg)
|
|
}},
|
|
REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
|
m.Cmdy(DELETE, m.PrefixKey(), "", HASH, m.OptionSimple(_zone(m)))
|
|
}},
|
|
EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
|
|
m.OptionFields(_zone(m), m.Conf(m.PrefixKey(), kit.META_FIELD))
|
|
m.Cmdy(EXPORT, m.PrefixKey(), "", ZONE)
|
|
m.Conf(m.PrefixKey(), kit.MDB_HASH, "")
|
|
}},
|
|
IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
|
|
m.OptionFields(_zone(m))
|
|
m.Cmdy(IMPORT, m.PrefixKey(), "", ZONE)
|
|
}},
|
|
INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
|
switch arg[0] {
|
|
case _zone(m):
|
|
m.Cmdy(INPUTS, m.PrefixKey(), "", HASH, arg)
|
|
default:
|
|
m.Cmdy(INPUTS, m.PrefixKey(), "", ZONE, m.Option(_zone(m)), arg)
|
|
}
|
|
}},
|
|
}, fields...)
|
|
}
|