Girish Ramakrishnan
f9add21899
Add task route tests
2018-12-10 21:42:03 -08:00
Girish Ramakrishnan
8d944f9a4a
Allow setup to be run again as long as not-activated
...
this is useful if the activation fails somewhere mid-way and we don't
need to re-setup the cloudron all over
2018-12-07 15:11:25 -08:00
Girish Ramakrishnan
dfa61f1b2d
rework how app mailboxes are allocated
...
Our current setup had a mailbox allocated for an app during app
install (into the mailboxes table). This has many issues:
* When set to a custom mailbox location, there was no way to access
this mailbox even via IMAP. Even when using app credentials, we
cannot use IMAP since the ldap logic was testing on the addon type
(most of our apps only use sendmail addon and thus cannot recvmail).
* The mailboxes table was being used to add hidden 'app' type entries.
This made it very hard for the user to understand why a mailbox conflicts.
For example, if you set an app to use custom mailbox 'blog', this is
hidden from all views.
The solution is to let an app send email as whatever mailbox name is
allocated to it (which we now track in the apps table. the default is in the
db already so that REST response contains it). When not using
Cloudron email, it will just send mail as that mailbox and the auth
checks the "app password" in the addons table. Any replies to that
mailbox will end up in the domain's mail server (not our problem).
When using cloudron email, the app can send mail like above. Any responses
will not end anywhere and bounce since there is no 'mailbox'. This is the
expected behavior. If user wants to access this mailbox name, he can
create a concrete mailbox and set himself as owner OR set this as
an alias.
For apps using the recvmail addon, the workflow is to actually create
a mailbox at some point. Currently, we have no UI for this 'flow'.
It's fine because we have only meemo using it.
Intuitive much!
2018-12-06 22:13:32 -08:00
Johannes Zellner
54c96d98d1
Remove all individual test timeouts and ignore timeouts toplevel
2018-12-03 12:24:04 +01:00
Girish Ramakrishnan
305a3c94d0
Rework the progress API to use the task progress
2018-11-19 21:06:44 -08:00
Girish Ramakrishnan
218739a6b5
Add tasks table and API
...
progress will be tracked with this table instead of being in-process
like progress.js
2018-11-19 17:37:42 -08:00
Girish Ramakrishnan
390e69c01c
Fix backup API routes
2018-11-19 14:41:16 -08:00
Girish Ramakrishnan
0c5cb9c98f
Remove settings.initialize/uninitialize
...
this simplifies the startup sequence
2018-11-10 14:55:23 -08:00
Girish Ramakrishnan
953b55439c
eventlog: add domain events
2018-11-10 01:25:34 -08:00
Girish Ramakrishnan
03984a811f
dnsSetup -> setup
...
It now takes a dnsConfig object. It will end up taking other config
objects for provisioning.
2018-10-30 14:01:02 -07:00
Girish Ramakrishnan
f10b80d90d
Make apps test great again
2018-10-29 12:49:41 -07:00
Girish Ramakrishnan
2688a57d46
Move version out of config.js
...
We now store this in a file called VERSION inside the tarball
itself.
2018-10-27 11:13:36 -07:00
Girish Ramakrishnan
7ad069fd94
Make config.setVersion hidden
2018-10-27 10:44:21 -07:00
Girish Ramakrishnan
a49969f2be
Move apphealthmonitor into a cron job
...
This makes sure that it only runs post activation
See also a9c1af50f7
2018-10-22 20:08:49 -07:00
Girish Ramakrishnan
46a00c839b
rename create/deleteVolume to avoid confusion
2018-09-15 15:30:26 -07:00
Girish Ramakrishnan
1d0a52404a
Fix tests
2018-09-10 13:45:05 -07:00
Johannes Zellner
b23afdd32d
Fix tests to match the adjusted purchase logic
2018-09-01 11:53:05 +02:00
Girish Ramakrishnan
43055da614
Add route to let admin set user password
2018-08-31 14:35:01 -07:00
Girish Ramakrishnan
2c3f1ab720
Fix the error messages
2018-08-31 14:06:06 -07:00
Johannes Zellner
7a1723d173
Fix app tests
2018-08-30 00:32:38 +02:00
Johannes Zellner
b6643518f6
Adjust apps test to how we check subscriptions
2018-08-29 23:57:59 +02:00
Girish Ramakrishnan
e49b57294d
Give optional name for tokens
2018-08-27 14:59:52 -07:00
Girish Ramakrishnan
442d4e5c6f
Fix failing tests
2018-08-21 18:57:11 -07:00
Girish Ramakrishnan
6a1a697820
Split the invite route into two
2018-08-17 16:27:29 -07:00
Ian Fijolek
bf1e19f8e6
Add more detailed checking of DMARC
...
Fixes #570
2018-08-12 13:47:24 -07:00
Girish Ramakrishnan
fba70d888b
Remove tokenScopes
...
decided that the UI won't use this any more and will just the admin flag
2018-08-03 10:07:23 -07:00
Girish Ramakrishnan
78a2176d1d
Make admin simply a boolean instead of group
...
This simplifies a lot of logic. Keeping an admin group has no benefit
2018-07-26 22:29:57 -07:00
Girish Ramakrishnan
b4d5def56d
Revert role support
2018-07-26 13:23:06 -07:00
Johannes Zellner
8a1de81284
Cleanup sysadmin backup trigger test to only test for backup start event
2018-06-30 14:33:51 +02:00
Girish Ramakrishnan
35c9e99102
Move the update info into separate route (since it is sensitive)
2018-06-28 17:50:27 -07:00
Girish Ramakrishnan
cab9bc3a61
Unify the config routes into /api/v1/config
...
No more separate config routes for different types of user
2018-06-28 17:40:57 -07:00
Girish Ramakrishnan
712c920b86
Move caas config to separate route
2018-06-28 17:28:46 -07:00
Girish Ramakrishnan
dfa318e898
Add ownerId for apps
...
This tracks who installed the app.
2018-06-28 14:13:12 -07:00
Girish Ramakrishnan
f932f8b3d3
Add user management scope
...
This splits the user and groups API into those who have just 'read' access
and those who have 'manage' access.
2018-06-25 16:10:00 -07:00
Girish Ramakrishnan
7880a2f9c3
API returns 403 for incorrect password
2018-06-20 09:27:24 -07:00
Girish Ramakrishnan
ff73bc121f
Make tokenScope plural
2018-06-18 15:10:02 -07:00
Girish Ramakrishnan
1dbcf2a46a
Rename to groups.update
2018-06-18 13:41:27 -07:00
Girish Ramakrishnan
898cbd01b3
tokens table always has canonical scope
2018-06-17 23:11:36 -07:00
Girish Ramakrishnan
ad6bc191f9
Make hasScopes take an array
2018-06-17 21:06:17 -07:00
Girish Ramakrishnan
f24a099e79
Remove user.admin property
...
The UI will now base itself entirely off the scopes of the token
2018-06-17 16:49:56 -07:00
Girish Ramakrishnan
156ffb40c9
Remove scope from users.get
2018-06-17 16:07:20 -07:00
Girish Ramakrishnan
e8d9597345
Fix various error codes
...
401 - bad password/wrong password
403 - authenticated but not authorized
409 - conflict
2018-06-15 23:15:30 -07:00
Girish Ramakrishnan
02d5d2f808
Add API to add and update the group roles
2018-06-15 00:28:27 -07:00
Girish Ramakrishnan
a77d45f5de
Add rolesJson to groups table
...
This will contain the roles ('role definition') of a group of
users. We will internally map these to our API scopes.
2018-06-14 22:54:52 -07:00
Girish Ramakrishnan
55e5c319fe
Fix failing log test
2018-06-14 13:43:44 -07:00
Girish Ramakrishnan
32e6b9024c
Add email query param to reset code path
...
This reduces any attack surface
2018-06-12 17:56:41 -07:00
Girish Ramakrishnan
4369b3046e
Make options non-optional
2018-06-11 15:14:59 -07:00
Girish Ramakrishnan
6534297a5d
Remove hat module
...
It's not been updated for 6 years!
2018-06-11 12:38:29 -07:00
Girish Ramakrishnan
a1020ec6b8
remove /user from profile route
2018-05-13 21:53:06 -07:00
Girish Ramakrishnan
a545bdd574
merge developer.js into clients.js
2018-05-01 14:02:59 -07:00