Girish Ramakrishnan
598a9664a7
Fix crash because mailboxName is null
...
mailboxName is always a non-empty string. even for apps that don't use
it, we allocate a mailbox with .app suffix
2019-03-02 19:18:38 -08:00
Girish Ramakrishnan
87655ff3cd
remove action field from notifications table
...
it is mostly unused
2019-02-28 15:13:51 -08:00
Girish Ramakrishnan
8fdc9939cd
Add locked flag to settings table
2019-02-22 10:08:02 -08:00
Girish Ramakrishnan
08bb8e3df9
Make token API id based
...
we don't return the accessToken anymore
2019-02-15 14:31:43 -08:00
Girish Ramakrishnan
d62bf6812e
Ensure tokens have a name
2019-02-15 13:45:04 -08:00
Girish Ramakrishnan
5980ab9b69
Add healthTime in the database
...
this is currently an internal field and not returned in API
2019-02-12 16:33:28 -08:00
Girish Ramakrishnan
139a2bac1a
namecheap: apiKey -> token
...
all token/secret/credentials will not be returned in upcoming change
2019-02-08 20:48:51 -08:00
Johannes Zellner
0cca838db9
Allow eventId in notifications table to be null
2019-02-06 14:40:09 +01:00
Girish Ramakrishnan
4765e4f83c
Add locked flag to domains table
2019-01-25 14:45:45 -08:00
Johannes Zellner
3262486a96
Add eventId to notifications table
2019-01-19 13:21:09 +01:00
Johannes Zellner
2ec89d6a20
Fix typo
2019-01-19 12:24:04 +01:00
Girish Ramakrishnan
13c628b58b
backups (tgz): work with a layout
...
this will allow us to place the localstorage directory in an arbitrary
location
2019-01-16 12:52:04 -08:00
Girish Ramakrishnan
0b33b0b6a2
task: result can be json
2019-01-11 14:02:18 -08:00
Johannes Zellner
fc8dcec2bb
Add notificationdb table and db wrapper
2018-12-17 15:52:52 +01:00
Girish Ramakrishnan
d8225ad653
Make tasks indexed by id instead of type
...
The caas migrate logic is broken at this point until it uses new
task framework
2018-12-08 19:41:53 -08:00
Girish Ramakrishnan
3bad9e523c
Add option to toggle app automatic updates
2018-12-07 10:02:11 -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
b23939127b
Ensure we always set the correct default value for TIMESTAMP types
...
So far it we rely on 0 default values in some case like the eventlog
This will not work in mysql strict mode with https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date
2018-12-03 14:09:57 +01:00
Johannes Zellner
3196322063
Add migration script to rename groups table to userGroups
2018-12-03 12:24:04 +01:00
Johannes Zellner
f5f92fbb03
Rename groups table to userGroups
2018-12-03 12:24:04 +01:00
Girish Ramakrishnan
b5c59e6b7d
Add args to tasks table
2018-11-30 14:12:24 -08:00
Girish Ramakrishnan
d9f3f64c76
Store result and error message separately
2018-11-29 14:45:28 -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
5bfb253869
Custom env vars for apps
...
Add a table and the install/configure routes. Initially, I thought
we can just keep the env vars in docker container but that doesn't
work since we create the container only later in apptask. And if the
container gets deleted we lose this information.
2018-10-11 16:17:18 -07:00
Girish Ramakrishnan
0639ca1594
Make wildcard a separate provider
...
this is required because the config object is not returned for
locked domains and the UI display for the provider field is then
wrong.
2018-09-06 20:09:08 -07:00
Girish Ramakrishnan
e620a26c04
typo
2018-09-06 20:05:08 -07:00
Girish Ramakrishnan
e49b57294d
Give optional name for tokens
2018-08-27 14:59:52 -07:00
Girish Ramakrishnan
badb6e4672
add note on clients.appId
2018-08-27 14:30:39 -07:00
Girish Ramakrishnan
d91df50b9f
caas: add hyphenateSubdomain property
2018-08-25 17:49:31 -07:00
Girish Ramakrishnan
8bd6c9933f
Add interval secs
...
Part of #568
2018-08-13 22:35:38 -07:00
Girish Ramakrishnan
2e0a7dcd47
Fix migration filename
2018-08-13 22:31:58 -07:00
Girish Ramakrishnan
60984d18dd
Add type field to port bindings table
...
Part of #504
2018-08-12 22:32:36 -07:00
Girish Ramakrishnan
2612cc18fa
Expire existing webadmin token so that the UI gets a new token
...
This is because we added a new appstore scope
2018-08-06 19:40:46 -07:00
Girish Ramakrishnan
eab3cd6b2b
ownerId for domains is not implemented yet
2018-08-01 18:53:49 -07:00
Johannes Zellner
51f7a47ea6
Fix db migration script
2018-07-30 22:58:09 +02:00
Girish Ramakrishnan
0966edd8fe
Fix missing require
2018-07-26 22:36:20 -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
163563f400
Remove now unused dnsRecordId
2018-06-29 23:14:06 +02:00
Johannes Zellner
1eba79660e
Move dnsRecordId to subdomains table
2018-06-29 23:14:06 +02:00
Johannes Zellner
18887b27e6
Fix migration script typo
2018-06-29 23:14:06 +02:00
Johannes Zellner
fb42b54210
Remove apps.location and apps.domain
...
This is now managed in the subdomains table
2018-06-29 23:14:06 +02:00
Johannes Zellner
4d2ba2adaa
Use subdomains table in appdb
2018-06-29 23:14:06 +02:00
Johannes Zellner
c97e8d6bd4
add subdomains table with migration scripts
2018-06-29 23:14:06 +02:00
Girish Ramakrishnan
dfa318e898
Add ownerId for apps
...
This tracks who installed the app.
2018-06-28 14:13:12 -07:00
Girish Ramakrishnan
02c0137dc1
Add a timestamp column to apps table
...
this field can be used in UI to see if more detailed app information
has to be fetched (since it calls the list apps REST API periodically)
2018-06-26 18:16:39 -07:00
Girish Ramakrishnan
d0b34cc43e
Fix schema
2018-06-26 18:05:34 -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
31af6c64d0
Expire existing webadmin token so that the UI gets a new token
2018-05-06 13:08:22 -07:00
Girish Ramakrishnan
97acd40829
remove obsolete roleSdk from the database
...
the file is renamed because cloudron.io was patched by mistake and we want to run this
migration there
2018-05-01 14:53:46 -07:00