Girish Ramakrishnan
3e2189aeed
Remove obsolete configure route
2019-09-09 22:08:08 -07:00
Girish Ramakrishnan
79f9963792
Add robotsTxt tests
2019-09-09 21:52:01 -07:00
Girish Ramakrishnan
6f53723169
test data dir migration
2019-09-09 21:25:39 -07:00
Girish Ramakrishnan
d8cb100fc0
Add mailbox test
2019-09-09 16:34:48 -07:00
Girish Ramakrishnan
5f9b2f1159
Add env and debug mode tests
2019-09-09 15:46:29 -07:00
Girish Ramakrishnan
801ca7eda1
Break down the configure route
2019-09-09 14:35:52 -07:00
Girish Ramakrishnan
147f16571a
Handle error in graphs code
2019-09-05 14:30:21 -07:00
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
a2f8203a42
Add location conflict error code
2019-09-02 12:42:28 -07:00
Girish Ramakrishnan
6668bb3e8a
Handle BAD_STATE as well
2019-09-02 12:17:48 -07:00
Girish Ramakrishnan
d59c1f53b9
apps: add detail to http error messages
2019-09-01 18:35:06 -07:00
Girish Ramakrishnan
bd23abd265
tasks: make error a json
...
also, handle case where we never got to handle task exit cleanly
2019-08-30 14:49:45 -07:00
Girish Ramakrishnan
dd0fb8292c
Move state enums to the model code
2019-08-30 13:21:51 -07:00
Girish Ramakrishnan
c22cdb8d81
Return error object in the API
2019-08-30 11:34:04 -07:00
Girish Ramakrishnan
7d299908c9
Fix tests
2019-08-30 10:49:43 -07:00
Johannes Zellner
f25d5b3304
Deliver the user account source in the profile api
2019-08-30 13:36:37 +02:00
Johannes Zellner
b9efa8f445
Use tasks api for external ldap syncer
2019-08-30 10:20:04 +02:00
Johannes Zellner
567d92ce00
Add external ldap enabled boolean flag
2019-08-30 10:20:04 +02:00
Johannes Zellner
7a6d26c5da
Add settings route handler for external ldap configs
2019-08-30 10:20:04 +02: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
05d3897ae2
Make apps test work again
2019-08-28 15:30:23 -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
aa74d5cd82
Add a note
2019-08-20 19:47:24 -07:00
Girish Ramakrishnan
8fc10a0bdd
Add note
2019-08-20 15:26:00 -07:00
Girish Ramakrishnan
809ed0f0dc
clear db to stop the scheduler
2019-08-20 13:42:03 -07:00
Girish Ramakrishnan
bfb719d35e
Remove use of dockerProxy
2019-08-20 11:50:54 -07:00
Girish Ramakrishnan
43bf0767f1
remove docker proxy from tests
...
this is too complicated and also makes it hard to keep up with upstream API
2019-08-19 14:35:23 -07:00
Girish Ramakrishnan
b301e5b151
Add dockerDataDisk to disks response
2019-08-19 14:14:13 -07:00
Girish Ramakrishnan
0f4bc0981a
graphs: fix render forwarding
2019-08-12 11:01:12 -07:00
Girish Ramakrishnan
94b4bf94c0
Merge active flag into update route
2019-08-08 08:17:08 -07:00
Girish Ramakrishnan
0ab6cad048
Add user enable/disable flag
2019-08-08 06:31:46 -07:00
Girish Ramakrishnan
aa1ba3b226
Make apps-test pass
2019-08-06 10:27:19 -07:00
Girish Ramakrishnan
e4961726bc
Try to make apps-test work
2019-08-05 16:16:56 -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
5c2cbd7840
Move config.baseDir to paths
2019-07-26 10:07:08 -07:00
Girish Ramakrishnan
9e7e9d66bf
move provider into sysinfo
...
this is ideally "auto-detectable" runtime information
2019-07-26 07:33:22 -07:00
Girish Ramakrishnan
12eae1eff2
Make 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
9a0d5b918f
totp: set window to 2
...
see https://github.com/speakeasyjs/speakeasy#specifying-a-window-for-verifying-hotp-and-totp
A TOTP is incremented every step time-step seconds. By default, the time-step is
30 seconds. Window of 2 means, +- 2 steps.
Fixes #633
2019-07-23 14:45:54 -07:00
Girish Ramakrishnan
e7127df30d
remove app ownerId
...
this is unused
2019-07-02 21:23:51 -07:00
Girish Ramakrishnan
6f33900f85
Fix failing test
2019-06-21 15:05:28 -07:00
Girish Ramakrishnan
6bbe2613b4
Return 412 for bad password
2019-06-20 16:44:53 -07:00
Girish Ramakrishnan
5771478e4b
Use 412 for invalid token, otherwise user gets logged out
2019-06-20 16:37:16 -07:00
Girish Ramakrishnan
9785ab82ed
Use cloudron as prefix instead of suffix
2019-06-11 09:39:45 -07:00
Girish Ramakrishnan
7e9885012d
vary dkim selector per mail domain
...
this is required for the case where the domain is added on multiple
cloudrons. initially, the plan was to just vary this as a derivation
of the dashboard domain. but this will break existing installation (wildcard
and manual domain setups cannot be re-programmed automatically).
2019-06-10 18:35:38 -07:00
Girish Ramakrishnan
2bd6566537
clear timeout when get services status
2019-06-09 22:20:35 -07:00
Girish Ramakrishnan
88fa4cf188
remove reserved 'api' location
...
this is unused and we have no plans to use it.
2019-06-09 18:16:31 -07:00