Girish Ramakrishnan
e117ee2bef
Cleanup app error codes
...
1. The error classes (like AppsError) now take a 3rd argument details.
We can attach anything in this 3rd argument and this gets sent in the
REST response as well.
2. The HttpError class is now HttpError(statusCode, errorOrMessage). If
it's an error object, it will take the message and other things which
were attached above from it and send them across. Previously, we used to
mark this case an internal error all the time.
3. AppsError only has generic codes now. The UI code then simply checks
for additional information that we attached to show errors. For example,
BAD_FIELD will have a field: 'xx' indicating which field is at fault.
ALREADY_EXISTS has information on which domain or port caused a problem.
The advantage here is we can drop all these error codes that are
specific to each model code.
4. Maybe some day, we can remove all these error classes and have only
one generic class. AppsError right now is pretty generic already. We can
use that error code everywhere... No need to translate errors also
everywhere.
5. Finally, in the router code, I have this function toHttpError (in
apps.js) which is also so much cleaner than what we have now. We keep
writing the same stuff over and over.
2019-09-03 10:39:02 -07:00
Girish Ramakrishnan
a9e101d9f4
Add note on why it is BAD_STATE
2019-09-02 13:55:43 -07:00
Girish Ramakrishnan
a2f8203a42
Add location conflict error code
2019-09-02 12:42:28 -07:00
Girish Ramakrishnan
b9ee127775
Send detail in apps error
2019-09-02 12:41:32 -07:00
Girish Ramakrishnan
5fd129e509
send reason code as part of details
2019-09-01 21:22:46 -07:00
Girish Ramakrishnan
d59c1f53b9
apps: add detail to http error messages
2019-09-01 18:35:06 -07:00
Girish Ramakrishnan
d2f38c1abc
Remove unused error code
2019-09-01 17:39:07 -07:00
Girish Ramakrishnan
c0a1db6941
Send details as part of AppsError
...
the last mile module has been updated to pipe through additional properties.
2019-09-01 13:42:25 -07:00
Girish Ramakrishnan
dd0fb8292c
Move state enums to the model code
2019-08-30 13:21:51 -07:00
Girish Ramakrishnan
4fd04fa349
Add proper error codes
2019-08-30 12:42:38 -07:00
Girish Ramakrishnan
c22cdb8d81
Return error object in the API
2019-08-30 11:34:04 -07:00
Girish Ramakrishnan
9391a934c3
Do not update on uninstall
2019-08-29 14:38:42 -07:00
Girish Ramakrishnan
bb62e6a318
clear taskId in the parent process
2019-08-29 13:43:45 -07:00
Girish Ramakrishnan
9cf833dab2
Use taskId instead of states to check bad state
...
a) this is because, we have install state and run state.
b) we have to put taskId as part of the transaction to prevent race
2019-08-29 13:15:40 -07:00
Girish Ramakrishnan
c98f625c4c
Make force update as task arg
2019-08-29 10:59:05 -07:00
Girish Ramakrishnan
f3008064e4
Fix installation states
...
App operations can only be done in 'installed' or 'error' state.
If some other operation is in progress, you have to cancel it first.
This guarantees that the old app command got killed.
2019-08-29 10:14:23 -07:00
Girish Ramakrishnan
1faee00764
Better progress text when waiting for other tasks
...
Fixes #630
2019-08-28 22:13:50 -07:00
Girish Ramakrishnan
6a7fc17c60
Make restore/configure use scheduleTask
2019-08-28 15:36:50 -07:00
Girish Ramakrishnan
9f1210202a
port taskmanager to use tasks
2019-08-28 15:17:53 -07:00
Girish Ramakrishnan
fef9e0a5c1
Handle app task crashes
2019-08-28 13:19:47 -07:00
Girish Ramakrishnan
b84b033bf3
typo
2019-08-28 12:51:00 -07:00
Girish Ramakrishnan
b30ff1f55a
rework task API to be two-phase
...
this lets us avoid this EE based API. we now add and then start
explicitly.
2019-08-28 10:39:40 -07:00
Girish Ramakrishnan
5952a5c69d
Send taskId in the response
2019-08-27 21:35:40 -07:00
Girish Ramakrishnan
20de563925
rename installationProgress to errorMessage
2019-08-27 20:08:35 -07:00
Girish Ramakrishnan
7da80b4c62
Ensure log directory
2019-08-27 16:36:19 -07:00
Girish Ramakrishnan
bfe2f116a7
Make restoreConfigJson, oldConfigJson, updateConfigJson as task args
2019-08-27 16:36:15 -07:00
Girish Ramakrishnan
f535b3de2f
Add logFile option to startTask
2019-08-27 15:26:26 -07:00
Girish Ramakrishnan
aecb99b6a3
Use task API in run commands
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
7da17f8190
Use task API in app backup
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
1964270a4f
Use task API in app update
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
f45b61d95c
Use task API for app restore
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
ff11c38169
Use task API for app clone
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
3e67067431
Use task API for app uninstall
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
824f00d1e8
Use task API for app configure
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
9242f7095a
Migrate apptask to use tasks framework
2019-08-27 12:31:59 -07:00
Girish Ramakrishnan
99c9fbc38f
add taskId to appdb
2019-08-27 12:31:55 -07:00
Girish Ramakrishnan
b8a4e1c4a3
Use docker for apps-test
2019-08-20 13:34:18 -07:00
Girish Ramakrishnan
2a1b61107f
Make the ldap test work
2019-08-20 11:45:00 -07:00
Girish Ramakrishnan
9b74bb73aa
config.js is dead, long live config.js
...
we use settings now
2019-07-26 14:51:51 -07:00
Girish Ramakrishnan
12eae1eff2
Make port a constant
2019-07-25 16:08:54 -07:00
Girish Ramakrishnan
c32718b164
Make ldap and docker proxy port as constants
2019-07-25 16:08:54 -07:00
Girish Ramakrishnan
a6ea12fedc
Make internal smtp port a constant
2019-07-25 16:08:54 -07:00
Girish Ramakrishnan
2d260eb0d5
Make sysadminPort a constant
2019-07-25 16:08:51 -07:00
Girish Ramakrishnan
d7dd069ae0
Use constants.version instead of config.version
2019-07-25 15:02:14 -07:00
Girish Ramakrishnan
e7127df30d
remove app ownerId
...
this is unused
2019-07-02 21:23:51 -07:00
Girish Ramakrishnan
22d731f06d
Fix LDAP not accessible via scheduler containers
...
Check the IP address against scheduler containers as well
2019-06-27 16:12:09 -07:00
Girish Ramakrishnan
511287b16e
linter likes this better
2019-06-11 12:32:15 -07:00
Johannes Zellner
3169f032c8
Return correct conflicting domain
2019-06-05 19:54:15 +02:00
Girish Ramakrishnan
5ff8ee1a8f
Check manifest version when installing an app
...
This should have been done for manifest v1 already. For now, apps
will have to put in a minBoxVersion.
2019-06-03 14:02:47 -07:00
Girish Ramakrishnan
19b50dc428
do not dump values in debug
...
it ends up dumping the icon in logs
2019-05-22 09:38:27 -07:00