FossilRepo

fossilrepo / fossil / migrations / 0007_forumpost_historicalforumpost_historicalwebhook_and_more.py
Blame History Raw 390 lines
1
# Generated by Django 5.2.12 on 2026-04-07 07:27
2
3
import django.db.models.deletion
4
import simple_history.models
5
from django.conf import settings
6
from django.db import migrations, models
7
8
import core.fields
9
10
11
class Migration(migrations.Migration):
12
dependencies = [
13
("fossil", "0006_historicalrelease_release_historicalreleaseasset_and_more"),
14
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
15
]
16
17
operations = [
18
migrations.CreateModel(
19
name="ForumPost",
20
fields=[
21
(
22
"id",
23
models.BigAutoField(
24
auto_created=True,
25
primary_key=True,
26
serialize=False,
27
verbose_name="ID",
28
),
29
),
30
("version", models.PositiveIntegerField(default=1, editable=False)),
31
("created_at", models.DateTimeField(auto_now_add=True)),
32
("updated_at", models.DateTimeField(auto_now=True)),
33
("deleted_at", models.DateTimeField(blank=True, null=True)),
34
("title", models.CharField(blank=True, default="", max_length=500)),
35
("body", models.TextField()),
36
(
37
"created_by",
38
models.ForeignKey(
39
blank=True,
40
null=True,
41
on_delete=django.db.models.deletion.SET_NULL,
42
related_name="+",
43
to=settings.AUTH_USER_MODEL,
44
),
45
),
46
(
47
"deleted_by",
48
models.ForeignKey(
49
blank=True,
50
null=True,
51
on_delete=django.db.models.deletion.SET_NULL,
52
related_name="+",
53
to=settings.AUTH_USER_MODEL,
54
),
55
),
56
(
57
"parent",
58
models.ForeignKey(
59
blank=True,
60
null=True,
61
on_delete=django.db.models.deletion.CASCADE,
62
related_name="replies",
63
to="fossil.forumpost",
64
),
65
),
66
(
67
"repository",
68
models.ForeignKey(
69
on_delete=django.db.models.deletion.CASCADE,
70
related_name="forum_posts",
71
to="fossil.fossilrepository",
72
),
73
),
74
(
75
"thread_root",
76
models.ForeignKey(
77
blank=True,
78
null=True,
79
on_delete=django.db.models.deletion.CASCADE,
80
related_name="thread_posts",
81
to="fossil.forumpost",
82
),
83
),
84
(
85
"updated_by",
86
models.ForeignKey(
87
blank=True,
88
null=True,
89
on_delete=django.db.models.deletion.SET_NULL,
90
related_name="+",
91
to=settings.AUTH_USER_MODEL,
92
),
93
),
94
],
95
options={
96
"ordering": ["created_at"],
97
},
98
),
99
migrations.CreateModel(
100
name="HistoricalForumPost",
101
fields=[
102
(
103
"id",
104
models.BigIntegerField(auto_created=True, blank=True, db_index=True, verbose_name="ID"),
105
),
106
("version", models.PositiveIntegerField(default=1, editable=False)),
107
("created_at", models.DateTimeField(blank=True, editable=False)),
108
("updated_at", models.DateTimeField(blank=True, editable=False)),
109
("deleted_at", models.DateTimeField(blank=True, null=True)),
110
("title", models.CharField(blank=True, default="", max_length=500)),
111
("body", models.TextField()),
112
("history_id", models.AutoField(primary_key=True, serialize=False)),
113
("history_date", models.DateTimeField(db_index=True)),
114
("history_change_reason", models.CharField(max_length=100, null=True)),
115
(
116
"history_type",
117
models.CharField(
118
choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")],
119
max_length=1,
120
),
121
),
122
(
123
"created_by",
124
models.ForeignKey(
125
blank=True,
126
db_constraint=False,
127
null=True,
128
on_delete=django.db.models.deletion.DO_NOTHING,
129
related_name="+",
130
to=settings.AUTH_USER_MODEL,
131
),
132
),
133
(
134
"deleted_by",
135
models.ForeignKey(
136
blank=True,
137
db_constraint=False,
138
null=True,
139
on_delete=django.db.models.deletion.DO_NOTHING,
140
related_name="+",
141
to=settings.AUTH_USER_MODEL,
142
),
143
),
144
(
145
"history_user",
146
models.ForeignKey(
147
null=True,
148
on_delete=django.db.models.deletion.SET_NULL,
149
related_name="+",
150
to=settings.AUTH_USER_MODEL,
151
),
152
),
153
(
154
"parent",
155
models.ForeignKey(
156
blank=True,
157
db_constraint=False,
158
null=True,
159
on_delete=django.db.models.deletion.DO_NOTHING,
160
related_name="+",
161
to="fossil.forumpost",
162
),
163
),
164
(
165
"repository",
166
models.ForeignKey(
167
blank=True,
168
db_constraint=False,
169
null=True,
170
on_delete=django.db.models.deletion.DO_NOTHING,
171
related_name="+",
172
to="fossil.fossilrepository",
173
),
174
),
175
(
176
"thread_root",
177
models.ForeignKey(
178
blank=True,
179
db_constraint=False,
180
null=True,
181
on_delete=django.db.models.deletion.DO_NOTHING,
182
related_name="+",
183
to="fossil.forumpost",
184
),
185
),
186
(
187
"updated_by",
188
models.ForeignKey(
189
blank=True,
190
db_constraint=False,
191
null=True,
192
on_delete=django.db.models.deletion.DO_NOTHING,
193
related_name="+",
194
to=settings.AUTH_USER_MODEL,
195
),
196
),
197
],
198
options={
199
"verbose_name": "historical forum post",
200
"verbose_name_plural": "historical forum posts",
201
"ordering": ("-history_date", "-history_id"),
202
"get_latest_by": ("history_date", "history_id"),
203
},
204
bases=(simple_history.models.HistoricalChanges, models.Model),
205
),
206
migrations.CreateModel(
207
name="HistoricalWebhook",
208
fields=[
209
(
210
"id",
211
models.BigIntegerField(auto_created=True, blank=True, db_index=True, verbose_name="ID"),
212
),
213
("version", models.PositiveIntegerField(default=1, editable=False)),
214
("created_at", models.DateTimeField(blank=True, editable=False)),
215
("updated_at", models.DateTimeField(blank=True, editable=False)),
216
("deleted_at", models.DateTimeField(blank=True, null=True)),
217
("url", models.URLField(max_length=500)),
218
("secret", core.fields.EncryptedTextField(blank=True, default="")),
219
("events", models.CharField(default="all", max_length=100)),
220
("is_active", models.BooleanField(default=True)),
221
("history_id", models.AutoField(primary_key=True, serialize=False)),
222
("history_date", models.DateTimeField(db_index=True)),
223
("history_change_reason", models.CharField(max_length=100, null=True)),
224
(
225
"history_type",
226
models.CharField(
227
choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")],
228
max_length=1,
229
),
230
),
231
(
232
"created_by",
233
models.ForeignKey(
234
blank=True,
235
db_constraint=False,
236
null=True,
237
on_delete=django.db.models.deletion.DO_NOTHING,
238
related_name="+",
239
to=settings.AUTH_USER_MODEL,
240
),
241
),
242
(
243
"deleted_by",
244
models.ForeignKey(
245
blank=True,
246
db_constraint=False,
247
null=True,
248
on_delete=django.db.models.deletion.DO_NOTHING,
249
related_name="+",
250
to=settings.AUTH_USER_MODEL,
251
),
252
),
253
(
254
"history_user",
255
models.ForeignKey(
256
null=True,
257
on_delete=django.db.models.deletion.SET_NULL,
258
related_name="+",
259
to=settings.AUTH_USER_MODEL,
260
),
261
),
262
(
263
"repository",
264
models.ForeignKey(
265
blank=True,
266
db_constraint=False,
267
null=True,
268
on_delete=django.db.models.deletion.DO_NOTHING,
269
related_name="+",
270
to="fossil.fossilrepository",
271
),
272
),
273
(
274
"updated_by",
275
models.ForeignKey(
276
blank=True,
277
db_constraint=False,
278
null=True,
279
on_delete=django.db.models.deletion.DO_NOTHING,
280
related_name="+",
281
to=settings.AUTH_USER_MODEL,
282
),
283
),
284
],
285
options={
286
"verbose_name": "historical webhook",
287
"verbose_name_plural": "historical webhooks",
288
"ordering": ("-history_date", "-history_id"),
289
"get_latest_by": ("history_date", "history_id"),
290
},
291
bases=(simple_history.models.HistoricalChanges, models.Model),
292
),
293
migrations.CreateModel(
294
name="Webhook",
295
fields=[
296
(
297
"id",
298
models.BigAutoField(
299
auto_created=True,
300
primary_key=True,
301
serialize=False,
302
verbose_name="ID",
303
),
304
),
305
("version", models.PositiveIntegerField(default=1, editable=False)),
306
("created_at", models.DateTimeField(auto_now_add=True)),
307
("updated_at", models.DateTimeField(auto_now=True)),
308
("deleted_at", models.DateTimeField(blank=True, null=True)),
309
("url", models.URLField(max_length=500)),
310
("secret", core.fields.EncryptedTextField(blank=True, default="")),
311
("events", models.CharField(default="all", max_length=100)),
312
("is_active", models.BooleanField(default=True)),
313
(
314
"created_by",
315
models.ForeignKey(
316
blank=True,
317
null=True,
318
on_delete=django.db.models.deletion.SET_NULL,
319
related_name="+",
320
to=settings.AUTH_USER_MODEL,
321
),
322
),
323
(
324
"deleted_by",
325
models.ForeignKey(
326
blank=True,
327
null=True,
328
on_delete=django.db.models.deletion.SET_NULL,
329
related_name="+",
330
to=settings.AUTH_USER_MODEL,
331
),
332
),
333
(
334
"repository",
335
models.ForeignKey(
336
on_delete=django.db.models.deletion.CASCADE,
337
related_name="webhooks",
338
to="fossil.fossilrepository",
339
),
340
),
341
(
342
"updated_by",
343
models.ForeignKey(
344
blank=True,
345
null=True,
346
on_delete=django.db.models.deletion.SET_NULL,
347
related_name="+",
348
to=settings.AUTH_USER_MODEL,
349
),
350
),
351
],
352
options={
353
"ordering": ["-created_at"],
354
},
355
),
356
migrations.CreateModel(
357
name="WebhookDelivery",
358
fields=[
359
(
360
"id",
361
models.BigAutoField(
362
auto_created=True,
363
primary_key=True,
364
serialize=False,
365
verbose_name="ID",
366
),
367
),
368
("event_type", models.CharField(max_length=20)),
369
("payload", models.JSONField()),
370
("response_status", models.IntegerField(blank=True, null=True)),
371
("response_body", models.TextField(blank=True, default="")),
372
("success", models.BooleanField(default=False)),
373
("delivered_at", models.DateTimeField(auto_now_add=True)),
374
("duration_ms", models.IntegerField(default=0)),
375
("attempt", models.IntegerField(default=1)),
376
(
377
"webhook",
378
models.ForeignKey(
379
on_delete=django.db.models.deletion.CASCADE,
380
related_name="deliveries",
381
to="fossil.webhook",
382
),
383
),
384
],
385
options={
386
"ordering": ["-delivered_at"],
387
},
388
),
389
]
390

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button