Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
# Generated by Django 5.2.3 on 2025-07-13 03:14
|
|
|
|
import django.db.models.deletion
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
dependencies = [
|
|
("zerver", "0729_externalauthid"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="PushDevice",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
|
|
),
|
|
),
|
|
(
|
|
"token_kind",
|
|
models.CharField(choices=[("apns", "APNs"), ("fcm", "FCM")], max_length=4),
|
|
),
|
|
("push_account_id", models.BigIntegerField()),
|
|
("push_public_key", models.TextField()),
|
|
("bouncer_device_id", models.BigIntegerField(null=True)),
|
|
(
|
|
"error_code",
|
|
models.CharField(
|
|
choices=[
|
|
("INVALID_BOUNCER_PUBLIC_KEY", "Invalid Bouncer Public Key"),
|
|
("BAD_REQUEST", "Invalid Encrypted Push Registration"),
|
|
("REQUEST_EXPIRED", "Request Expired"),
|
|
],
|
|
max_length=100,
|
|
null=True,
|
|
),
|
|
),
|
|
(
|
|
"user",
|
|
models.ForeignKey(
|
|
on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"constraints": [
|
|
models.UniqueConstraint(
|
|
fields=("user", "push_account_id"),
|
|
name="unique_push_device_user_push_account_id",
|
|
)
|
|
],
|
|
},
|
|
),
|
|
]
|