Merge pull request #3861 from dokku/3821-fix-clone-rename
Fix app clone and rename calls
This commit is contained in:
@@ -44,6 +44,22 @@ func CommandPropertySet(pluginName, appName, property, value string, properties
|
||||
}
|
||||
}
|
||||
|
||||
// PropertyClone clones a set of properties from one app to another
|
||||
func PropertyClone(pluginName string, oldAppName string, newAppName string) error {
|
||||
properties, err := PropertyGetAll(pluginName, oldAppName)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
for property, value := range properties {
|
||||
if err := PropertyWrite(pluginName, newAppName, property, value); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// PropertyDelete deletes a property from the plugin properties for an app
|
||||
func PropertyDelete(pluginName string, appName string, property string) error {
|
||||
propertyPath := getPropertyPath(pluginName, appName, property)
|
||||
|
||||
@@ -9,10 +9,16 @@ fn-plugin-property-get() {
|
||||
fn-plugin-property-get-default "$PLUGIN" "$APP" "$KEY" "$DEFAULT"
|
||||
}
|
||||
|
||||
fn-plugin-property-clone() {
|
||||
declare desc="destroy the properties for an app"
|
||||
declare PLUGIN="$1" OLD_APP="$2" NEW_APP="$3"
|
||||
"$PLUGIN_CORE_AVAILABLE_PATH/common/prop" "clone" "$PLUGIN" "$OLD_APP" "$NEW_APP"
|
||||
}
|
||||
|
||||
fn-plugin-property-destroy() {
|
||||
declare desc="destroy the properties for an app"
|
||||
declare PLUGIN="$1" APP="$2"
|
||||
"$PLUGIN_CORE_AVAILABLE_PATH/common/prop" "destroy" "$PLUGIN" "$APP" "$KEY"
|
||||
"$PLUGIN_CORE_AVAILABLE_PATH/common/prop" "destroy" "$PLUGIN" "$APP"
|
||||
}
|
||||
|
||||
fn-plugin-property-delete() {
|
||||
|
||||
@@ -33,12 +33,78 @@ func main() {
|
||||
pluginName := flag.Arg(1)
|
||||
|
||||
switch cmd {
|
||||
case "rpush":
|
||||
case "clone":
|
||||
oldAppName := flag.Arg(2)
|
||||
newAppName := flag.Arg(3)
|
||||
err := common.PropertyClone(pluginName, oldAppName, newAppName)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
case "del":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
err := common.PropertyDelete(pluginName, appName, property)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
case "destroy":
|
||||
appName := flag.Arg(2)
|
||||
err := common.PropertyDestroy(pluginName, appName)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
case "exists":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
exists := common.PropertyExists(pluginName, appName, property)
|
||||
if !exists {
|
||||
os.Exit(1)
|
||||
}
|
||||
case "get":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
value := common.PropertyGet(pluginName, appName, property)
|
||||
if value != "" {
|
||||
fmt.Printf("%v\n", value)
|
||||
}
|
||||
case "get-all":
|
||||
appName := flag.Arg(2)
|
||||
values, err := common.PropertyGetAll(pluginName, appName)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
for key, value := range values {
|
||||
fmt.Fprintln(os.Stdout, key, strings.TrimSuffix(value, "\n"))
|
||||
}
|
||||
case "get-with-default":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
defaultValue := flag.Arg(4)
|
||||
value := common.PropertyGetDefault(pluginName, appName, property, defaultValue)
|
||||
if value != "" {
|
||||
fmt.Printf("%v\n", value)
|
||||
}
|
||||
case "lindex":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
index := strToInt(flag.Arg(4), 0, false)
|
||||
propertyValue, err := common.PropertyListGetByIndex(pluginName, appName, property, index)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Printf("%v\n", propertyValue)
|
||||
case "lismember":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
value := flag.Arg(4)
|
||||
index := strToInt(flag.Arg(5), 0, true)
|
||||
err := common.PropertyListAdd(pluginName, appName, property, value, index)
|
||||
_, err := common.PropertyListGetByValue(pluginName, appName, property, value)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
@@ -65,26 +131,6 @@ func main() {
|
||||
for _, line := range lines {
|
||||
fmt.Printf("%v\n", line)
|
||||
}
|
||||
case "lindex":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
index := strToInt(flag.Arg(4), 0, false)
|
||||
propertyValue, err := common.PropertyListGetByIndex(pluginName, appName, property, index)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Printf("%v\n", propertyValue)
|
||||
case "lismember":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
value := flag.Arg(4)
|
||||
_, err := common.PropertyListGetByValue(pluginName, appName, property, value)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
case "lrem":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
@@ -113,6 +159,16 @@ func main() {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
case "rpush":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
value := flag.Arg(4)
|
||||
index := strToInt(flag.Arg(5), 0, true)
|
||||
err := common.PropertyListAdd(pluginName, appName, property, value, index)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
case "set":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
@@ -122,60 +178,11 @@ func main() {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
case "get":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
value := common.PropertyGet(pluginName, appName, property)
|
||||
if value != "" {
|
||||
fmt.Printf("%v\n", value)
|
||||
}
|
||||
case "get-with-default":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
defaultValue := flag.Arg(4)
|
||||
value := common.PropertyGetDefault(pluginName, appName, property, defaultValue)
|
||||
if value != "" {
|
||||
fmt.Printf("%v\n", value)
|
||||
}
|
||||
case "get-all":
|
||||
appName := flag.Arg(2)
|
||||
values, err := common.PropertyGetAll(pluginName, appName)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
for key, value := range values {
|
||||
fmt.Fprintln(os.Stdout, key, strings.TrimSuffix(value, "\n"))
|
||||
}
|
||||
case "exists":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
exists := common.PropertyExists(pluginName, appName, property)
|
||||
if !exists {
|
||||
os.Exit(1)
|
||||
}
|
||||
case "del":
|
||||
appName := flag.Arg(2)
|
||||
property := flag.Arg(3)
|
||||
err := common.PropertyDelete(pluginName, appName, property)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
case "setup":
|
||||
err := common.PropertySetup(pluginName)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
case "destroy":
|
||||
appName := flag.Arg(2)
|
||||
err := common.PropertyDestroy(pluginName, appName)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user