installing python libs over dashboard
parent
065296935e
commit
c6bf7f85a9
|
@ -1,5 +1,4 @@
|
||||||
matplotlib==3.7.2
|
matplotlib==3.7.2
|
||||||
numpy==1.24.3
|
numpy==1.24.3
|
||||||
numpy_stl==3.0.1
|
numpy_stl==3.0.1
|
||||||
Pillow==9.5.0
|
|
||||||
Pillow==10.0.0
|
Pillow==10.0.0
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
Brlapi==0.8.2
|
|
||||||
certifi==2020.6.20
|
|
||||||
chardet==4.0.0
|
|
||||||
chrome-gnome-shell==0.0.0
|
|
||||||
cupshelpers==1.0
|
|
||||||
dbus-python==1.2.16
|
|
||||||
distlib==0.3.6
|
|
||||||
distro==1.5.0
|
|
||||||
distro-info==1.0
|
|
||||||
filelock==3.10.7
|
|
||||||
httplib2==0.18.1
|
|
||||||
idna==2.10
|
|
||||||
louis==3.16.0
|
|
||||||
numpy==1.24.3
|
|
||||||
numpy-stl==3.0.1
|
|
||||||
Pillow==9.5.0
|
|
||||||
platformdirs==3.2.0
|
|
||||||
pycairo==1.16.2
|
|
||||||
pycups==2.0.1
|
|
||||||
pycurl==7.43.0.6
|
|
||||||
PyGObject==3.38.0
|
|
||||||
PySimpleSOAP==1.16.2
|
|
||||||
pysmbc==1.0.23
|
|
||||||
python-apt==2.2.1
|
|
||||||
python-debian==0.1.39
|
|
||||||
python-debianbts==3.1.0
|
|
||||||
python-utils==3.6.0
|
|
||||||
pyxdg==0.27
|
|
||||||
reportbug==7.10.3+deb11u1
|
|
||||||
requests==2.25.1
|
|
||||||
six==1.16.0
|
|
||||||
typing_extensions==4.6.3
|
|
||||||
unattended-upgrades==0.1
|
|
||||||
urllib3==1.26.5
|
|
||||||
vboxapi==1.0
|
|
||||||
virtualenv==20.21.0
|
|
||||||
xdg==5
|
|
|
@ -1,132 +1,171 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": 0,
|
"id": 0,
|
||||||
"languages": [
|
"languages": [
|
||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"message": "%userId% has started group task %groupTaskId% %groupTaskName%"
|
"message": "%userId% has started group task %groupTaskId% %groupTaskName%"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "de",
|
"lang": "de",
|
||||||
"message": "%userId% hat die Gruppenaufgabe %groupTaskId% %groupTaskName% gestartet"
|
"message": "%userId% hat die Gruppenaufgabe %groupTaskId% %groupTaskName% gestartet"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"languages": [
|
"languages": [
|
||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"message": "%userId% has reloaded group tasks config of category %category%"
|
"message": "%userId% has reloaded group tasks config of category %category%"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "de",
|
"lang": "de",
|
||||||
"message": "%userId% hat die Config der Category %category% neu geladen"
|
"message": "%userId% hat die Config der Category %category% neu geladen"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"languages": [
|
"languages": [
|
||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"message": "%groupTaskId% status set to %status%"
|
"message": "%groupTaskId% status set to %status%"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "de",
|
"lang": "de",
|
||||||
"message": "%groupTaskId% Status auf %status% gesetzt"
|
"message": "%groupTaskId% Status auf %status% gesetzt"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"languages": [
|
"languages": [
|
||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"message": "Step %taskStepId% of %groupTaskId% was continued by %userId%"
|
"message": "Step %taskStepId% of %groupTaskId% was continued by %userId%"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "de",
|
"lang": "de",
|
||||||
"message": "Schritt %taskStepId% von %groupTaskId% wurde von %userId% fortgeführt"
|
"message": "Schritt %taskStepId% von %groupTaskId% wurde von %userId% fortgeführt"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 4,
|
"id": 4,
|
||||||
"languages": [
|
"languages": [
|
||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"message": "Step %taskStepId% of %groupTaskId% has failed and was started by %userId% to try again"
|
"message": "Step %taskStepId% of %groupTaskId% has failed and was started by %userId% to try again"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "de",
|
"lang": "de",
|
||||||
"message": "Schritt %taskStepId% von %groupTaskId% ist fehlgeschlagen und wurde von %userId% neu gestartet"
|
"message": "Schritt %taskStepId% von %groupTaskId% ist fehlgeschlagen und wurde von %userId% neu gestartet"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 5,
|
"id": 5,
|
||||||
"languages": [
|
"languages": [
|
||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"message": "Step %taskStepId% of %groupTaskId% status set to %status%"
|
"message": "Step %taskStepId% of %groupTaskId% status set to %status%"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "de",
|
"lang": "de",
|
||||||
"message": "Schritt %taskStepId% von %groupTaskId% Status auf %status% gesetzt"
|
"message": "Schritt %taskStepId% von %groupTaskId% Status auf %status% gesetzt"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 6,
|
"id": 6,
|
||||||
"languages": [
|
"languages": [
|
||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"message": "--------- SERVER has started ---------"
|
"message": "--------- SERVER has started ---------"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "de",
|
"lang": "de",
|
||||||
"message": "--------- SERVER gestartet ---------"
|
"message": "--------- SERVER gestartet ---------"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 7,
|
"id": 7,
|
||||||
"languages": [
|
"languages": [
|
||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"message": "%userId% has requested checking for changes in the category groups. Result: %result%"
|
"message": "%userId% has requested checking for changes in the category groups. Result: %result%"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "de",
|
"lang": "de",
|
||||||
"message": "%userId% hat die Prüfung auf Änderungen in den Kategoriengruppen angefordert. Ergebnis: %result%"
|
"message": "%userId% hat die Prüfung auf Änderungen in den Kategoriengruppen angefordert. Ergebnis: %result%"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 8,
|
"id": 8,
|
||||||
"languages": [
|
"languages": [
|
||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"message": "%userId% has executed action %action% on step %taskStepId% of %groupTaskId%"
|
"message": "%userId% has executed action %action% on step %taskStepId% of %groupTaskId%"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "de",
|
"lang": "de",
|
||||||
"message": "%userId% hat Aktion %action% auf Schritt %taskStepId% von %groupTaskId% ausgeführt"
|
"message": "%userId% hat Aktion %action% auf Schritt %taskStepId% von %groupTaskId% ausgeführt"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 9,
|
"id": 9,
|
||||||
"languages": [
|
"languages": [
|
||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"message": "System has started step %step% of %groupTaskId%"
|
"message": "System has started step %step% of %groupTaskId%"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "de",
|
"lang": "de",
|
||||||
"message": "System hat Schritt %step% von %groupTaskId% gestartet"
|
"message": "System hat Schritt %step% von %groupTaskId% gestartet"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
]
|
{
|
||||||
|
"id": 10,
|
||||||
|
"languages": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"message": "%userId% has requested installing python packages for %groupId% of %category%"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"lang": "de",
|
||||||
|
"message": "%userId% hat die Installation der Python Pakete für %groupId% von %category% angefordert"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"languages": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"message": "Installing python packages for %groupId% of %category% failed. Error: %error%"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"lang": "de",
|
||||||
|
"message": "Installation der Python Pakete für %groupId% von %category% fehlgeschlagen. Fehler: %error%"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"languages": [
|
||||||
|
{
|
||||||
|
"lang": "en",
|
||||||
|
"message": "Installing python packages for %groupId% of %category% finished. Log: %log%"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"lang": "de",
|
||||||
|
"message": "Installation der Python Pakete für %groupId% von %category% abgeschlossen. Log: %log%"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
|
@ -931,3 +931,92 @@ func StartGroupTask(userId string, groupTask structs.GroupTasks) {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func InstallPythonDependencies(userId string, category, groupId string) {
|
||||||
|
logger.AddGroupTasksLog(structs.LogMessage{
|
||||||
|
Id: 10,
|
||||||
|
Type: utils.LogTypeInfo,
|
||||||
|
Messages: []structs.LogData{
|
||||||
|
{Type: "userId", Value: userId},
|
||||||
|
{Type: "category", Value: category},
|
||||||
|
{Type: "groupId", Value: groupId},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
messageBody := struct {
|
||||||
|
Category string
|
||||||
|
GroupId string
|
||||||
|
}{
|
||||||
|
Category: category,
|
||||||
|
GroupId: groupId,
|
||||||
|
}
|
||||||
|
|
||||||
|
socketclients.BroadcastMessageToUsersWithPermission(
|
||||||
|
systempermissions.ConvertXYPermission(utils.PermissionGroupTasksOverviewXYInstallPythonDependencies, category),
|
||||||
|
structs.SendSocketMessage{
|
||||||
|
Cmd: utils.SentCmdInstallingPythonDependencies,
|
||||||
|
Body: messageBody,
|
||||||
|
})
|
||||||
|
|
||||||
|
// check if requirements.txt exists
|
||||||
|
if _, err := os.Stat(config.Cfg.FolderPaths.GroupTasksGroups + groupId + "/requirements.txt"); errors.Is(err, os.ErrNotExist) {
|
||||||
|
logger.AddGroupTasksLog(structs.LogMessage{
|
||||||
|
Id: 11,
|
||||||
|
Type: utils.LogTypeInfo,
|
||||||
|
Messages: []structs.LogData{
|
||||||
|
{Type: "category", Value: category},
|
||||||
|
{Type: "groupId", Value: groupId},
|
||||||
|
{Type: "error", Value: "requirements.txt not found"},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
socketclients.BroadcastMessageToUsersWithPermission(
|
||||||
|
systempermissions.ConvertXYPermission(utils.PermissionGroupTasksOverviewXYInstallPythonDependencies, category),
|
||||||
|
structs.SendSocketMessage{
|
||||||
|
Cmd: utils.SentCmdInstallingPythonDependenciesFailed,
|
||||||
|
Body: messageBody,
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// install python dependencies
|
||||||
|
cmd := exec.Command("pip3", "install", "-r", config.Cfg.FolderPaths.GroupTasksGroups+groupId+"/requirements.txt")
|
||||||
|
out, err := cmd.CombinedOutput()
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
logger.AddGroupTasksLog(structs.LogMessage{
|
||||||
|
Id: 11,
|
||||||
|
Type: utils.LogTypeInfo,
|
||||||
|
Messages: []structs.LogData{
|
||||||
|
{Type: "category", Value: category},
|
||||||
|
{Type: "groupId", Value: groupId},
|
||||||
|
{Type: "error", Value: err.Error()},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
socketclients.BroadcastMessageToUsersWithPermission(
|
||||||
|
systempermissions.ConvertXYPermission(utils.PermissionGroupTasksOverviewXYInstallPythonDependencies, category),
|
||||||
|
structs.SendSocketMessage{
|
||||||
|
Cmd: utils.SentCmdInstallingPythonDependenciesFailed,
|
||||||
|
Body: messageBody,
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.AddGroupTasksLog(structs.LogMessage{
|
||||||
|
Id: 12,
|
||||||
|
Type: utils.LogTypeInfo,
|
||||||
|
Messages: []structs.LogData{
|
||||||
|
{Type: "category", Value: category},
|
||||||
|
{Type: "groupId", Value: groupId},
|
||||||
|
{Type: "log", Value: string(out)},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
socketclients.BroadcastMessageToUsersWithPermission(
|
||||||
|
systempermissions.ConvertXYPermission(utils.PermissionGroupTasksOverviewXYInstallPythonDependencies, category),
|
||||||
|
structs.SendSocketMessage{
|
||||||
|
Cmd: utils.SentCmdInstallingPythonDependenciesFinished,
|
||||||
|
Body: messageBody,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
@ -41,38 +41,41 @@ var (
|
||||||
|
|
||||||
// commands sent to web clients
|
// commands sent to web clients
|
||||||
const (
|
const (
|
||||||
SentCmdInitUserSocketConnection = 1
|
SentCmdInitUserSocketConnection = 1
|
||||||
SentCmdUpdateConnectedUsers = 2
|
SentCmdUpdateConnectedUsers = 2
|
||||||
SentCmdNewGroupTaskStarted = 3
|
SentCmdNewGroupTaskStarted = 3
|
||||||
SentCmdNewGroupTaskStep = 4
|
SentCmdNewGroupTaskStep = 4
|
||||||
SentCmdUpdateGroupTaskStep = 5
|
SentCmdUpdateGroupTaskStep = 5
|
||||||
SentCmdUpdateGroupTask = 6
|
SentCmdUpdateGroupTask = 6
|
||||||
SentCmdReloadingGroupTasks = 7
|
SentCmdReloadingGroupTasks = 7
|
||||||
SentCmdGroupTasksReloaded = 8
|
SentCmdGroupTasksReloaded = 8
|
||||||
SentCmdUpdateUserSessions = 9
|
SentCmdUpdateUserSessions = 9
|
||||||
SentCmdUpdateAllUsersUserAvatar = 10
|
SentCmdUpdateAllUsersUserAvatar = 10
|
||||||
SentCmdNewScanner = 11
|
SentCmdNewScanner = 11
|
||||||
SentCmdDeleteScanner = 12
|
SentCmdDeleteScanner = 12
|
||||||
SentCmdUpdateScannerUsedBy = 13
|
SentCmdUpdateScannerUsedBy = 13
|
||||||
SentCmdScanResult = 14
|
SentCmdScanResult = 14
|
||||||
SentCmdUpdateScannerLastUsed = 15
|
SentCmdUpdateScannerLastUsed = 15
|
||||||
SentCmdTaskLocked = 16
|
SentCmdTaskLocked = 16
|
||||||
SentCmdTaskUnlocked = 17
|
SentCmdTaskUnlocked = 17
|
||||||
SentCmdUserProfileUpdated = 18
|
SentCmdUserProfileUpdated = 18
|
||||||
SentCmdAdminAreaNewRoleCreated = 19
|
SentCmdAdminAreaNewRoleCreated = 19
|
||||||
SentCmdAdminAreaRoleUpdated = 20
|
SentCmdAdminAreaRoleUpdated = 20
|
||||||
SentCmdAdminAreaUpdateRoleSortingOrder = 21
|
SentCmdAdminAreaUpdateRoleSortingOrder = 21
|
||||||
SentCmdAdminAreaRoleDeleted = 22
|
SentCmdAdminAreaRoleDeleted = 22
|
||||||
SentCmdAllUsersUserRoleUpdated = 23
|
SentCmdAllUsersUserRoleUpdated = 23
|
||||||
SentCmdRolePermissionsUpdated = 24
|
SentCmdRolePermissionsUpdated = 24
|
||||||
SentCmdErrorNoPermissions = 25
|
SentCmdErrorNoPermissions = 25
|
||||||
SentCmdAllUsersNewUserCreated = 26
|
SentCmdAllUsersNewUserCreated = 26
|
||||||
SentCmdAllUsersUserDeleted = 27
|
SentCmdAllUsersUserDeleted = 27
|
||||||
SentCmdAllUsersUserDeactivation = 28
|
SentCmdAllUsersUserDeactivation = 28
|
||||||
SentCmdGroupTasksCategoryGroupChanges = 29
|
SentCmdGroupTasksCategoryGroupChanges = 29
|
||||||
SentCmdNewUserApiKeyCreated = 30
|
SentCmdNewUserApiKeyCreated = 30
|
||||||
SentCmdDeletedUserApiKey = 31
|
SentCmdDeletedUserApiKey = 31
|
||||||
SentCmdNewApiKeyUsageCount = 32
|
SentCmdNewApiKeyUsageCount = 32
|
||||||
|
SentCmdInstallingPythonDependencies = 33
|
||||||
|
SentCmdInstallingPythonDependenciesFailed = 34
|
||||||
|
SentCmdInstallingPythonDependenciesFinished = 35
|
||||||
)
|
)
|
||||||
|
|
||||||
// commands received from web clients
|
// commands received from web clients
|
||||||
|
@ -97,6 +100,7 @@ const (
|
||||||
ReceivedCmdHandleUserActionTaskStep = 18
|
ReceivedCmdHandleUserActionTaskStep = 18
|
||||||
ReceivedCmdCreateNewUserApiKey = 19
|
ReceivedCmdCreateNewUserApiKey = 19
|
||||||
ReceivedCmdDeleteUserApiKey = 20
|
ReceivedCmdDeleteUserApiKey = 20
|
||||||
|
ReceivedCmdGroupTasksInstallPythonDependencies = 21
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -126,12 +130,13 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
_groupTasks = "group_tasks."
|
_groupTasks = "group_tasks."
|
||||||
PermissionGroupTasksOverviewXYNewTask = _groupTasks + "overview.XY.new_task"
|
PermissionGroupTasksOverviewXYNewTask = _groupTasks + "overview.XY.new_task"
|
||||||
PermissionGroupTasksOverviewXYReloadGroupConfig = _groupTasks + "overview.XY.reload_group_config"
|
PermissionGroupTasksOverviewXYReloadGroupConfig = _groupTasks + "overview.XY.reload_group_config"
|
||||||
PermissionGroupTasksOverviewXYView = _groupTasks + "overview.XY.view"
|
PermissionGroupTasksOverviewXYInstallPythonDependencies = _groupTasks + "overview.XY.install_python_dependencies"
|
||||||
PermissionGroupTasksHistory = _groupTasks + "history"
|
PermissionGroupTasksOverviewXYView = _groupTasks + "overview.XY.view"
|
||||||
PermissionGroupTasksCheckingForCategoryGroupChanges = _groupTasks + "checking_for_category_group_changes"
|
PermissionGroupTasksHistory = _groupTasks + "history"
|
||||||
|
PermissionGroupTasksCheckingForCategoryGroupChanges = _groupTasks + "checking_for_category_group_changes"
|
||||||
|
|
||||||
PermissionAllUsersCreateNewUser = "all_users.create_new_user"
|
PermissionAllUsersCreateNewUser = "all_users.create_new_user"
|
||||||
PermissionAllUsersActionChangeRole = "all_users.action.change_role"
|
PermissionAllUsersActionChangeRole = "all_users.action.change_role"
|
||||||
|
@ -169,5 +174,6 @@ var SystemPermissions = []string{
|
||||||
var DynamicGroupTasksPermissions = []string{
|
var DynamicGroupTasksPermissions = []string{
|
||||||
PermissionGroupTasksOverviewXYNewTask,
|
PermissionGroupTasksOverviewXYNewTask,
|
||||||
PermissionGroupTasksOverviewXYReloadGroupConfig,
|
PermissionGroupTasksOverviewXYReloadGroupConfig,
|
||||||
|
PermissionGroupTasksOverviewXYInstallPythonDependencies,
|
||||||
PermissionGroupTasksOverviewXYView,
|
PermissionGroupTasksOverviewXYView,
|
||||||
}
|
}
|
||||||
|
|
|
@ -397,6 +397,14 @@ func RunHub() {
|
||||||
case utils.ReceivedCmdDeleteUserApiKey:
|
case utils.ReceivedCmdDeleteUserApiKey:
|
||||||
socketclients.DeleteUserApiKey(data.Conn.Locals("userId").(string), receivedMessage.Body["Id"].(string))
|
socketclients.DeleteUserApiKey(data.Conn.Locals("userId").(string), receivedMessage.Body["Id"].(string))
|
||||||
break
|
break
|
||||||
|
case utils.ReceivedCmdGroupTasksInstallPythonDependencies:
|
||||||
|
if !socketclients.HasXYPermission(data.Conn.Locals("userId").(string), utils.PermissionGroupTasksOverviewXYInstallPythonDependencies, receivedMessage.Body["category"].(string)) {
|
||||||
|
socketclients.SendErrorMessageNoPermissions(data.Conn.Locals("sessionId").(string))
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
grouptasks.InstallPythonDependencies(data.Conn.Locals("userId").(string), receivedMessage.Body["category"].(string), receivedMessage.Body["groupId"].(string))
|
||||||
|
break
|
||||||
|
|
||||||
default:
|
default:
|
||||||
log.Error().Msgf("Received unknown message: %v", receivedMessage)
|
log.Error().Msgf("Received unknown message: %v", receivedMessage)
|
||||||
|
|
Loading…
Reference in New Issue