Skip to content

Commit bb3ac75

Browse files
committed
wip pages
1 parent ef5a60e commit bb3ac75

File tree

2 files changed

+239
-0
lines changed

2 files changed

+239
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,235 @@
1+
# Generated by Django 4.2.3 on 2023-12-11 03:18
2+
3+
import baseapp_core.models
4+
from django.conf import settings
5+
from django.db import migrations, models
6+
import django.db.models.deletion
7+
import django.utils.timezone
8+
import model_utils.fields
9+
import pgtrigger.compiler
10+
import pgtrigger.migrations
11+
12+
13+
class Migration(migrations.Migration):
14+
dependencies = [
15+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
16+
("contenttypes", "0002_remove_content_type_name"),
17+
("pghistory", "0005_events_middlewareevents"),
18+
("baseapp_pages", "0001_initial"),
19+
]
20+
21+
operations = [
22+
migrations.CreateModel(
23+
name="MetadataEvent",
24+
fields=[
25+
("pgh_id", models.AutoField(primary_key=True, serialize=False)),
26+
("pgh_created_at", models.DateTimeField(auto_now_add=True)),
27+
("pgh_label", models.TextField(help_text="The event label.")),
28+
("id", models.IntegerField()),
29+
(
30+
"target_object_id",
31+
models.PositiveIntegerField(blank=True, null=True),
32+
),
33+
(
34+
"language",
35+
models.CharField(
36+
blank=True,
37+
choices=[("en", "English")],
38+
max_length=10,
39+
null=True,
40+
),
41+
),
42+
(
43+
"meta_title",
44+
models.CharField(
45+
blank=True, max_length=255, null=True, verbose_name="meta title"
46+
),
47+
),
48+
(
49+
"meta_description",
50+
models.TextField(
51+
blank=True,
52+
max_length=500,
53+
null=True,
54+
verbose_name="meta description",
55+
),
56+
),
57+
(
58+
"meta_robots",
59+
models.CharField(blank=True, max_length=100, null=True),
60+
),
61+
(
62+
"meta_og_type",
63+
models.CharField(blank=True, max_length=100, null=True),
64+
),
65+
(
66+
"meta_og_image",
67+
models.ImageField(
68+
blank=True,
69+
null=True,
70+
upload_to=baseapp_core.models.random_name_in(
71+
"pages/metadata/og_image"
72+
),
73+
),
74+
),
75+
],
76+
options={
77+
"abstract": False,
78+
},
79+
),
80+
migrations.CreateModel(
81+
name="PageEvent",
82+
fields=[
83+
("pgh_id", models.AutoField(primary_key=True, serialize=False)),
84+
("pgh_created_at", models.DateTimeField(auto_now_add=True)),
85+
("pgh_label", models.TextField(help_text="The event label.")),
86+
("id", models.IntegerField()),
87+
(
88+
"created",
89+
model_utils.fields.AutoCreatedField(
90+
default=django.utils.timezone.now,
91+
editable=False,
92+
verbose_name="created",
93+
),
94+
),
95+
(
96+
"modified",
97+
model_utils.fields.AutoLastModifiedField(
98+
default=django.utils.timezone.now,
99+
editable=False,
100+
verbose_name="modified",
101+
),
102+
),
103+
("title", models.CharField(max_length=255, verbose_name="title")),
104+
("body", models.TextField(verbose_name="body")),
105+
],
106+
options={
107+
"abstract": False,
108+
},
109+
),
110+
pgtrigger.migrations.AddTrigger(
111+
model_name="metadata",
112+
trigger=pgtrigger.compiler.Trigger(
113+
name="snapshot_insert",
114+
sql=pgtrigger.compiler.UpsertTriggerSql(
115+
func='INSERT INTO "baseapp_pages_metadataevent" ("id", "language", "meta_description", "meta_og_image", "meta_og_type", "meta_robots", "meta_title", "pgh_context_id", "pgh_created_at", "pgh_label", "pgh_obj_id", "target_content_type_id", "target_object_id") VALUES (NEW."id", NEW."language", NEW."meta_description", NEW."meta_og_image", NEW."meta_og_type", NEW."meta_robots", NEW."meta_title", _pgh_attach_context(), NOW(), \'snapshot\', NEW."id", NEW."target_content_type_id", NEW."target_object_id"); RETURN NULL;',
116+
hash="f35d675a99e262a1abbec3f8b97e55ef5bc53fd1",
117+
operation="INSERT",
118+
pgid="pgtrigger_snapshot_insert_61603",
119+
table="baseapp_pages_metadata",
120+
when="AFTER",
121+
),
122+
),
123+
),
124+
pgtrigger.migrations.AddTrigger(
125+
model_name="metadata",
126+
trigger=pgtrigger.compiler.Trigger(
127+
name="snapshot_update",
128+
sql=pgtrigger.compiler.UpsertTriggerSql(
129+
condition="WHEN (OLD.* IS DISTINCT FROM NEW.*)",
130+
func='INSERT INTO "baseapp_pages_metadataevent" ("id", "language", "meta_description", "meta_og_image", "meta_og_type", "meta_robots", "meta_title", "pgh_context_id", "pgh_created_at", "pgh_label", "pgh_obj_id", "target_content_type_id", "target_object_id") VALUES (NEW."id", NEW."language", NEW."meta_description", NEW."meta_og_image", NEW."meta_og_type", NEW."meta_robots", NEW."meta_title", _pgh_attach_context(), NOW(), \'snapshot\', NEW."id", NEW."target_content_type_id", NEW."target_object_id"); RETURN NULL;',
131+
hash="36c8eb6ba3bec9f462ebf21f9f3cda74702efa26",
132+
operation="UPDATE",
133+
pgid="pgtrigger_snapshot_update_0e8cb",
134+
table="baseapp_pages_metadata",
135+
when="AFTER",
136+
),
137+
),
138+
),
139+
pgtrigger.migrations.AddTrigger(
140+
model_name="page",
141+
trigger=pgtrigger.compiler.Trigger(
142+
name="snapshot_insert",
143+
sql=pgtrigger.compiler.UpsertTriggerSql(
144+
func='INSERT INTO "baseapp_pages_pageevent" ("body", "created", "id", "modified", "pgh_context_id", "pgh_created_at", "pgh_label", "pgh_obj_id", "title", "user_id") VALUES (NEW."body", NEW."created", NEW."id", NEW."modified", _pgh_attach_context(), NOW(), \'snapshot\', NEW."id", NEW."title", NEW."user_id"); RETURN NULL;',
145+
hash="5f8fae3a870e68ff69c0626e947242f7abedfa53",
146+
operation="INSERT",
147+
pgid="pgtrigger_snapshot_insert_f0c08",
148+
table="baseapp_pages_page",
149+
when="AFTER",
150+
),
151+
),
152+
),
153+
pgtrigger.migrations.AddTrigger(
154+
model_name="page",
155+
trigger=pgtrigger.compiler.Trigger(
156+
name="snapshot_update",
157+
sql=pgtrigger.compiler.UpsertTriggerSql(
158+
condition="WHEN (OLD.* IS DISTINCT FROM NEW.*)",
159+
func='INSERT INTO "baseapp_pages_pageevent" ("body", "created", "id", "modified", "pgh_context_id", "pgh_created_at", "pgh_label", "pgh_obj_id", "title", "user_id") VALUES (NEW."body", NEW."created", NEW."id", NEW."modified", _pgh_attach_context(), NOW(), \'snapshot\', NEW."id", NEW."title", NEW."user_id"); RETURN NULL;',
160+
hash="9127726884fbd4dcfd8ccb172eba8ba313f8121b",
161+
operation="UPDATE",
162+
pgid="pgtrigger_snapshot_update_845c1",
163+
table="baseapp_pages_page",
164+
when="AFTER",
165+
),
166+
),
167+
),
168+
migrations.AddField(
169+
model_name="pageevent",
170+
name="pgh_context",
171+
field=models.ForeignKey(
172+
db_constraint=False,
173+
null=True,
174+
on_delete=django.db.models.deletion.DO_NOTHING,
175+
related_name="+",
176+
to="pghistory.context",
177+
),
178+
),
179+
migrations.AddField(
180+
model_name="pageevent",
181+
name="pgh_obj",
182+
field=models.ForeignKey(
183+
db_constraint=False,
184+
on_delete=django.db.models.deletion.DO_NOTHING,
185+
related_name="event",
186+
to=settings.BASEAPP_PAGES_PAGE_MODEL,
187+
),
188+
),
189+
migrations.AddField(
190+
model_name="pageevent",
191+
name="user",
192+
field=models.ForeignKey(
193+
db_constraint=False,
194+
on_delete=django.db.models.deletion.DO_NOTHING,
195+
related_name="+",
196+
related_query_name="+",
197+
to=settings.AUTH_USER_MODEL,
198+
verbose_name="user",
199+
),
200+
),
201+
migrations.AddField(
202+
model_name="metadataevent",
203+
name="pgh_context",
204+
field=models.ForeignKey(
205+
db_constraint=False,
206+
null=True,
207+
on_delete=django.db.models.deletion.DO_NOTHING,
208+
related_name="+",
209+
to="pghistory.context",
210+
),
211+
),
212+
migrations.AddField(
213+
model_name="metadataevent",
214+
name="pgh_obj",
215+
field=models.ForeignKey(
216+
db_constraint=False,
217+
on_delete=django.db.models.deletion.DO_NOTHING,
218+
related_name="event",
219+
to="baseapp_pages.metadata",
220+
),
221+
),
222+
migrations.AddField(
223+
model_name="metadataevent",
224+
name="target_content_type",
225+
field=models.ForeignKey(
226+
blank=True,
227+
db_constraint=False,
228+
null=True,
229+
on_delete=django.db.models.deletion.DO_NOTHING,
230+
related_name="+",
231+
related_query_name="+",
232+
to="contenttypes.contenttype",
233+
),
234+
),
235+
]

baseapp-pages/baseapp_pages/models.py

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import pghistory
2+
13
import swapper
24
from baseapp_core.graphql.models import RelayModel
35
from baseapp_core.models import random_name_in
@@ -42,6 +44,7 @@ def __str__(self):
4244
return self.path
4345

4446

47+
@pghistory.track(pghistory.Snapshot())
4548
class Metadata(models.Model):
4649
target_content_type = models.ForeignKey(
4750
ContentType,
@@ -87,6 +90,7 @@ class Meta:
8790
abstract = True
8891

8992

93+
@pghistory.track(pghistory.Snapshot())
9094
class Page(AbstractPage, TimeStampedModel):
9195
user = models.ForeignKey(
9296
settings.AUTH_USER_MODEL,

0 commit comments

Comments
 (0)