Updated form
parent
939a5fb736
commit
85b0b4ef7a
57
manifest.jps
57
manifest.jps
|
@ -1,4 +1,4 @@
|
|||
version: 0.5
|
||||
version: 0.4
|
||||
id: addsftp
|
||||
type: update
|
||||
description: An addon to add new SFTP users. It can also manage created user accounts. If SSH is enabled, WP-CLI will attempt to be installed if it is not yet installed.
|
||||
|
@ -35,43 +35,19 @@ settings:
|
|||
required: false
|
||||
manageUserForm:
|
||||
fields:
|
||||
- type: list
|
||||
- type: string
|
||||
name: manage_username
|
||||
caption: Username to Manage
|
||||
description: "Input the username you want to manage."
|
||||
description: "Enter the username you want to manage."
|
||||
required: true
|
||||
values: []
|
||||
regex: ^[a-zA-Z0-9_]{3,32}$
|
||||
regexText: "Username must be 3-32 characters long and contain only letters, numbers, and underscores"
|
||||
- type: string
|
||||
name: custom_password
|
||||
caption: New Password
|
||||
description: "Enter a new password or leave empty to generate one automatically"
|
||||
description: "Enter a new password for the user (leave empty to generate random password)"
|
||||
required: false
|
||||
inputType: password
|
||||
|
||||
onBeforeInit: |
|
||||
let cmd = 'ls -ld /home/sftpusers/* | awk \'{printf "%s,%s %s %s\\n", substr($9, 17), $6, $7, $8}\''
|
||||
let resp = api.env.control.ExecCmdByGroup({ envName: "${env.name}", nodeGroup: "cp", commandList: [{ command: cmd }] })
|
||||
api.marketplace.console.WriteLog("list users cmd resp: " + resp)
|
||||
|
||||
if (resp.result == 0) {
|
||||
let users = resp.responses[0].out.split('\n')
|
||||
|
||||
for (let user of users) {
|
||||
let userData = user.split(',')
|
||||
let userName = userData[0]
|
||||
let createdDate = userData[1]
|
||||
|
||||
settings.fields[0].values.push({
|
||||
caption: userName + ' (' + createdDate + ')',
|
||||
value: userName
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
api.marketplace.console.WriteLog("users: " + settings.fields[0].values)
|
||||
return settings
|
||||
|
||||
|
||||
globals:
|
||||
username: ${settings.custom_username}
|
||||
password: ${fn.password(min)}
|
||||
|
@ -133,17 +109,20 @@ actions:
|
|||
type: info
|
||||
message: "Connection Details\n\nSFTP Host: ${globals.sftpHost}\n\nPort: ${globals.sftpPort}\n\nLogin Credentials\n\nUsername: ${globals.username}\n\nPassword: ${globals.password}"
|
||||
change_password:
|
||||
- if (!${settings.custom_password:false}):
|
||||
- if ('${settings.custom_password}' != ''):
|
||||
setGlobals:
|
||||
custom_password: ${fn.password(min)}
|
||||
else:
|
||||
setGlobals:
|
||||
custom_password: ${settings.custom_password}
|
||||
password: ${settings.custom_password}
|
||||
- cmd[cp]:
|
||||
user: root
|
||||
commands: id ${settings.manage_username} &>/dev/null || { echo "User does not exist"; exit 1; }
|
||||
- if ("${response.exitStatus}" != "0"):
|
||||
return:
|
||||
type: error
|
||||
message: "User ${settings.manage_username} does not exist."
|
||||
- cmd[cp]:
|
||||
user: root
|
||||
commands:
|
||||
- id "${settings.manage_username}" &>/dev/null || { echo "User ${settings.manage_username} does not exist"; exit 1; }
|
||||
- echo "${settings.manage_username}:${globals.custom_password}" | chpasswd
|
||||
- echo "${settings.manage_username}:${globals.password}" | chpasswd
|
||||
- echo "Password changed for ${settings.manage_username}" >> /home/jelastic/add-sftp-user-addon/logs/script_output.log
|
||||
- if ("${response.exitStatus}" != "0"):
|
||||
return: passwordChangeError
|
||||
|
@ -180,7 +159,7 @@ responses:
|
|||
message: "Failed to change password for ${settings.manage_username}. Check logs for details."
|
||||
passwordChangeSuccess:
|
||||
type: success
|
||||
message: "Password changed successfully for ${settings.manage_username}.\n\n New password: ${globals.custom_password}"
|
||||
message: "Password changed successfully for ${settings.manage_username}.\n\n New password: ${globals.password}"
|
||||
deleteUserError:
|
||||
type: error
|
||||
message: "Failed to delete user ${settings.manage_username}. Check logs for details."
|
||||
|
@ -204,10 +183,12 @@ buttons:
|
|||
action: change_password
|
||||
caption: Change Password
|
||||
confirmText: "Are you sure you want to change the password for this user?"
|
||||
submitButtonText: Change Password
|
||||
- settings: manageUserForm
|
||||
action: delete_user
|
||||
caption: Delete User
|
||||
confirmText: "Are you sure you want to delete this user?"
|
||||
submitButtonText: Delete User
|
||||
|
||||
onUninstall:
|
||||
- cmd[cp]:
|
||||
|
|
Loading…
Reference in New Issue