1- # Generated by Django 5.2.7 on 2025-10-16 09:15
1+ # Generated by Django 5.2.7 on 2025-10-20 13:18
22
33import django .db .models .deletion
44from django .conf import settings
@@ -10,109 +10,82 @@ class Migration(migrations.Migration):
1010 initial = True
1111
1212 dependencies = [
13- ("casbin_adapter" , "0001_initial" ),
14- ("content_libraries" , "0011_remove_contentlibrary_bundle_uuid_and_more" ),
15- migrations .swappable_dependency (settings .AUTH_USER_MODEL ),
16- ]
13+ ('casbin_adapter' , '0001_initial' ),
14+ migrations .swappable_dependency (
15+ getattr (
16+ settings ,
17+ "OPENEDX_AUTHZ_CONTENT_LIBRARY_MODEL" ,
18+ "content_libraries.ContentLibrary" ,
19+ )
20+ ),
21+ migrations .swappable_dependency (settings .AUTH_USER_MODEL ),
22+ ]
1723
1824 operations = [
1925 migrations .CreateModel (
20- name = " Scope" ,
26+ name = ' Scope' ,
2127 fields = [
22- (
23- "id" ,
24- models .BigAutoField (
25- auto_created = True ,
26- primary_key = True ,
27- serialize = False ,
28- verbose_name = "ID" ,
29- ),
30- ),
31- (
32- "content_library" ,
33- models .ForeignKey (
34- blank = True ,
35- null = True ,
36- on_delete = django .db .models .deletion .CASCADE ,
37- related_name = "authz_scopes" ,
38- to = "content_libraries.contentlibrary" ,
39- ),
40- ),
28+ ('id' , models .BigAutoField (auto_created = True , primary_key = True , serialize = False , verbose_name = 'ID' )),
4129 ],
30+ options = {
31+ 'abstract' : False ,
32+ },
4233 ),
4334 migrations .CreateModel (
44- name = " Subject" ,
35+ name = ' Subject' ,
4536 fields = [
46- (
47- "id" ,
48- models .BigAutoField (
49- auto_created = True ,
50- primary_key = True ,
51- serialize = False ,
52- verbose_name = "ID" ,
53- ),
54- ),
55- (
56- "user" ,
57- models .ForeignKey (
58- blank = True ,
59- null = True ,
60- on_delete = django .db .models .deletion .CASCADE ,
61- related_name = "authz_subjects" ,
62- to = settings .AUTH_USER_MODEL ,
63- ),
64- ),
37+ ('id' , models .BigAutoField (auto_created = True , primary_key = True , serialize = False , verbose_name = 'ID' )),
6538 ],
39+ options = {
40+ 'abstract' : False ,
41+ },
6642 ),
6743 migrations .CreateModel (
68- name = " ExtendedCasbinRule" ,
44+ name = ' ExtendedCasbinRule' ,
6945 fields = [
46+ ('id' , models .BigAutoField (auto_created = True , primary_key = True , serialize = False , verbose_name = 'ID' )),
47+ ('casbin_rule_key' , models .CharField (max_length = 255 , unique = True )),
48+ ('description' , models .TextField (blank = True , null = True )),
49+ ('created_at' , models .DateTimeField (auto_now_add = True )),
50+ ('updated_at' , models .DateTimeField (auto_now = True )),
51+ ('metadata' , models .JSONField (blank = True , null = True )),
52+ ('casbin_rule' , models .ForeignKey (on_delete = django .db .models .deletion .CASCADE , related_name = 'extended_rule' , to = 'casbin_adapter.casbinrule' )),
53+ ('scope' , models .ForeignKey (blank = True , null = True , on_delete = django .db .models .deletion .CASCADE , related_name = 'casbin_rules' , to = 'openedx_authz.scope' )),
54+ ('subject' , models .ForeignKey (blank = True , null = True , on_delete = django .db .models .deletion .CASCADE , related_name = 'casbin_rules' , to = 'openedx_authz.subject' )),
55+ ],
56+ options = {
57+ 'verbose_name' : 'Extended Casbin Rule' ,
58+ 'verbose_name_plural' : 'Extended Casbin Rules' ,
59+ },
60+ ),
61+ migrations .CreateModel (
62+ name = 'ContentLibraryScope' ,
63+ fields = [
64+ ('scope_ptr' , models .OneToOneField (auto_created = True , primary_key = True , serialize = False , verbose_name = 'ID' , to = 'openedx_authz.scope' , parent_link = True , on_delete = django .db .models .deletion .CASCADE )),
7065 (
71- "id" ,
72- models .BigAutoField (
73- auto_created = True ,
74- primary_key = True ,
75- serialize = False ,
76- verbose_name = "ID" ,
77- ),
78- ),
79- ("casbin_rule_key" , models .CharField (max_length = 255 , unique = True )),
80- ("description" , models .TextField (blank = True , null = True )),
81- ("created_at" , models .DateTimeField (auto_now_add = True )),
82- ("updated_at" , models .DateTimeField (auto_now = True )),
83- ("metadata" , models .JSONField (blank = True , null = True )),
84- (
85- "casbin_rule" ,
86- models .ForeignKey (
87- on_delete = django .db .models .deletion .CASCADE ,
88- related_name = "extended_rule" ,
89- to = "casbin_adapter.casbinrule" ,
90- ),
91- ),
92- (
93- "scope" ,
94- models .ForeignKey (
95- blank = True ,
96- null = True ,
97- on_delete = django .db .models .deletion .CASCADE ,
98- related_name = "casbin_rules" ,
99- to = "openedx_authz.scope" ,
100- ),
101- ),
102- (
103- "subject" ,
66+ 'content_library' ,
10467 models .ForeignKey (
10568 blank = True ,
69+ db_constraint = False ,
10670 null = True ,
10771 on_delete = django .db .models .deletion .CASCADE ,
108- related_name = "casbin_rules" ,
109- to = "openedx_authz.subject" ,
72+ related_name = 'authz_scopes' ,
73+ to = getattr (
74+ settings ,
75+ 'OPENEDX_AUTHZ_CONTENT_LIBRARY_MODEL' ,
76+ 'content_libraries.ContentLibrary' ,
77+ ),
11078 ),
11179 ),
11280 ],
113- options = {
114- "verbose_name" : "Extended Casbin Rule" ,
115- "verbose_name_plural" : "Extended Casbin Rules" ,
116- },
81+ bases = ('openedx_authz.scope' ,),
82+ ),
83+ migrations .CreateModel (
84+ name = 'UserSubject' ,
85+ fields = [
86+ ('subject_ptr' , models .OneToOneField (auto_created = True , on_delete = django .db .models .deletion .CASCADE , parent_link = True , primary_key = True , serialize = False , to = 'openedx_authz.subject' )),
87+ ('user' , models .ForeignKey (blank = True , null = True , on_delete = django .db .models .deletion .CASCADE , related_name = 'authz_subjects' , to = settings .AUTH_USER_MODEL )),
88+ ],
89+ bases = ('openedx_authz.subject' ,),
11790 ),
11891 ]
0 commit comments