zulip/zilencer/migrations
Mateusz Mandera 423aebf98e remote_billing: Implement confirmation flow for RemoteRealm auth.
The way the flow goes now is this:
1. The user initiaties login via "Billing" in the gear menu.
2. That takes them to `/self-hosted-billing/` (possibly with a
   `next_page` param if we use that for some gear menu options).
3. The server queries the bouncer to give the user a link with a signed
   access token.
4. The user is redirected to that link (on `selfhosting.zulipchat.com`).
Now we have two cases, either the user is logging in for the first time
and already did in the past.
If this is the first time, we have:
5. The user is asked to fill in their email in a form that's shown,
   pre-filled with the value provided inside the signed access token.
   They POST this to the next endpoint.
6. The next endpoint sends a confirmation email to that address and asks
   the user to go check their email.
7. The user clicks the link in their email is taken to the
   from_confirmation endpoint.
8. Their initial RemoteBillingUser is created, a new signed link like in
   (3) is generated and they're transparently taken back to (4),
   where now that they have a RemoteBillingUser, they're handled
   just like a user who already logged in before:
If the user already logged in before, they go straight here:
9. "Confirm login" page - they're shown their information (email and
   full_name), can update
   their full name in the form if they want. They also accept ToS here
   if necessary. They POST this form back to
   the endpoint and finally have a logged in session.
10. They're redirected to billing (or `next_page`) now that they have
    access.
2023-12-10 16:15:28 -08:00
..
0001_initial.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0002_remote_zulip_server.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0003_add_default_for_remotezulipserver_last_updated_field.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0004_remove_deployment_model.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0005_remotepushdevicetoken_fix_uniqueness.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0006_customer.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0007_remotezulipserver_fix_uniqueness.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0008_customer_billing_user.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0009_plan.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0010_billingprocessor.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0011_customer_has_billing_relationship.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0012_coupon.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0013_remove_customer_billing_user.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0014_cleanup_pushdevicetoken.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0015_delete_billing.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0016_remote_counts.py models: Convert deprecated index_together option to indexes. 2023-07-12 07:12:43 -07:00
0017_installationcount_indexes.py models: Convert deprecated index_together option to indexes. 2023-07-12 07:12:43 -07:00
0018_remoterealmauditlog.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0019_remotezulipserver_plan_type.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0020_remotezulipserverauditlog.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0021_alter_remotezulipserver_uuid.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0022_remotezulipserver_create_audit_log_backfill.py migrations: Import BaseDatabaseSchemaEditor from its canonical module. 2023-03-05 14:46:28 -08:00
0023_remotezulipserver_deactivated.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0024_remotepushdevicetoken_user_uuid.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0025_alter_remotepushdevicetoken_user_id_drop_index.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
0026_auditlog_models_extra_data_json.py migration: Add `extra_data_json` for audit log models. 2023-06-07 12:14:43 -07:00
0027_backfill_remote_realmauditlog_extradata_to_json_field.py mypy: Upgrade mypy from 1.4.1 to 1.5.1. 2023-09-07 17:51:42 -07:00
0028_rename_extradatajson_remoteauditlog_extra_data.py migration: Rename extra_data_json to extra_data in audit log models. 2023-08-16 17:18:14 -07:00
0029_update_remoterealm_indexes.py zilencer: Update remoterealm indexes. 2023-09-14 09:30:16 -07:00
0030_alter_remoteinstallationcount_remote_id.py zilencer: Remove index on RemoteInstallationCount.remote_id. 2023-10-20 10:07:06 -07:00
0031_alter_remoteinstallationcount_remote_id_and_more.py zilencer: Make BaseRemoteCount.remote_id field nullable. 2023-11-01 17:26:10 -07:00
0032_remotepushdevicetoken_backfill_ios_app_id.py push_notifs: Backfill ios_app_id on bouncer. 2023-11-07 16:19:42 -08:00
0033_remoterealm.py zilencer: Add new model RemoteRealm and send the data to the bouncer. 2023-11-08 15:54:22 -08:00
0034_remoterealmauditlog_remote_realm_and_more.py zilencer: Add mechanism to update RemoteRealm when Realm is changed. 2023-11-08 15:54:22 -08:00
0035_remoterealmcount_remote_realm_and_more.py counts: Add new mobile_pushes RemoteRealmCount stats. 2023-11-10 16:09:11 -08:00
0036_remotezulipserver_last_version.py zilencer: Store the last-reported server version when storing analytics. 2023-11-20 14:36:27 -08:00
0037_alter_remoteinstallationcount_unique_together_and_more.py zilencer: Remove duplicates before adding unique indexes. 2023-11-28 15:01:10 -08:00
0038_unique_server_remote_id.py zilencer: Enforce uniqueness of server_id + remote_id. 2023-11-28 09:46:48 -08:00
0039_remoterealm_org_type.py remote_realm: Add syncing of org_type. 2023-11-28 14:41:16 -08:00
0040_remoterealm_authentication_methods_remoterealm_name.py zilencer: Sync name and authentication_methods on RemoteRealm. 2023-11-29 15:54:38 -08:00
0041_remotezulipserver_org_type.py models: Add org_type to RemoteZulipServer. 2023-11-29 19:04:32 -08:00
0042_alter_remoterealmauditlog_realm_id.py models: Allow realm_id to be blank. 2023-11-30 11:22:19 -08:00
0043_remotepushdevicetoken_remote_realm.py zilencer: Tie RemotePushDeviceToken to RemoteRealm at registration. 2023-12-03 09:51:45 -08:00
0044_remoterealmbillinguser.py remote_billing: Add a "confirm login" page in RemoteRealm auth flow. 2023-12-05 11:34:57 -08:00
0045_remoterealmauditlog_zilencer_remoterealmauditlog_server_realm_and_more.py migrations: Add recently added indexes concurrently. 2023-12-05 18:22:23 -08:00
0046_remotezulipserver_last_audit_log_update.py stripe: Raise 'MissingDataError' while fetching license count. 2023-12-08 12:58:21 -08:00
0047_preregistrationremoteserverbillinguser_and_more.py remote_billing: Implement confirmation flow for legacy servers. 2023-12-08 23:49:10 -08:00
0048_remotezulipserver_last_api_feature_level.py remote_server: Send API feature level along with Zulip version. 2023-12-09 12:01:22 -08:00
0049_alter_remoterealmbillinguser_unique_together_and_more.py remote_billing: Implement confirmation flow for RemoteRealm auth. 2023-12-10 16:15:28 -08:00
__init__.py