2020-02-15 19:13:49 +00:00
# Generated by Django 3.0.2 on 2020-02-15 18:25
2020-01-25 06:32:41 +00:00
from django . conf import settings
import django . contrib . auth . models
import django . contrib . auth . validators
import django . contrib . postgres . fields . jsonb
2020-02-11 23:17:21 +00:00
import django . core . validators
2020-01-25 06:32:41 +00:00
from django . db import migrations , models
import django . db . models . deletion
import django . utils . timezone
class Migration ( migrations . Migration ) :
initial = True
dependencies = [
2020-01-28 02:47:54 +00:00
( ' auth ' , ' 0011_update_proxy_permissions ' ) ,
2020-01-25 06:32:41 +00:00
]
operations = [
migrations . CreateModel (
name = ' User ' ,
fields = [
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' password ' , models . CharField ( max_length = 128 , verbose_name = ' password ' ) ) ,
( ' last_login ' , models . DateTimeField ( blank = True , null = True , verbose_name = ' last login ' ) ) ,
( ' is_superuser ' , models . BooleanField ( default = False , help_text = ' Designates that this user has all permissions without explicitly assigning them. ' , verbose_name = ' superuser status ' ) ) ,
( ' username ' , models . CharField ( error_messages = { ' unique ' : ' A user with that username already exists. ' } , help_text = ' Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. ' , max_length = 150 , unique = True , validators = [ django . contrib . auth . validators . UnicodeUsernameValidator ( ) ] , verbose_name = ' username ' ) ) ,
( ' first_name ' , models . CharField ( blank = True , max_length = 30 , verbose_name = ' first name ' ) ) ,
( ' last_name ' , models . CharField ( blank = True , max_length = 150 , verbose_name = ' last name ' ) ) ,
( ' email ' , models . EmailField ( blank = True , max_length = 254 , verbose_name = ' email address ' ) ) ,
( ' is_staff ' , models . BooleanField ( default = False , help_text = ' Designates whether the user can log into this admin site. ' , verbose_name = ' staff status ' ) ) ,
( ' is_active ' , models . BooleanField ( default = True , help_text = ' Designates whether this user should be treated as active. Unselect this instead of deleting accounts. ' , verbose_name = ' active ' ) ) ,
( ' date_joined ' , models . DateTimeField ( default = django . utils . timezone . now , verbose_name = ' date joined ' ) ) ,
2020-01-29 20:07:20 +00:00
( ' private_key ' , models . TextField ( blank = True , null = True ) ) ,
( ' public_key ' , models . TextField ( blank = True , null = True ) ) ,
2020-01-25 21:46:30 +00:00
( ' api_key ' , models . CharField ( blank = True , max_length = 255 , null = True ) ) ,
2020-01-29 03:05:59 +00:00
( ' actor ' , models . CharField ( max_length = 255 , unique = True ) ) ,
( ' inbox ' , models . CharField ( max_length = 255 , unique = True ) ) ,
2020-02-07 21:39:48 +00:00
( ' shared_inbox ' , models . CharField ( blank = True , max_length = 255 , null = True ) ) ,
2020-01-29 03:05:59 +00:00
( ' outbox ' , models . CharField ( max_length = 255 , unique = True ) ) ,
2020-01-28 08:44:51 +00:00
( ' summary ' , models . TextField ( blank = True , null = True ) ) ,
2020-01-26 20:14:27 +00:00
( ' local ' , models . BooleanField ( default = True ) ) ,
2020-01-29 19:45:19 +00:00
( ' localname ' , models . CharField ( max_length = 255 , null = True , unique = True ) ) ,
2020-01-29 07:23:05 +00:00
( ' name ' , models . CharField ( blank = True , max_length = 100 , null = True ) ) ,
2020-01-29 08:05:58 +00:00
( ' avatar ' , models . ImageField ( blank = True , null = True , upload_to = ' avatars/ ' ) ) ,
2020-01-25 21:46:30 +00:00
( ' created_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
( ' updated_date ' , models . DateTimeField ( auto_now = True ) ) ,
2020-01-25 06:32:41 +00:00
] ,
options = {
' verbose_name ' : ' user ' ,
' verbose_name_plural ' : ' users ' ,
' abstract ' : False ,
} ,
managers = [
( ' objects ' , django . contrib . auth . models . UserManager ( ) ) ,
] ,
) ,
2020-01-28 02:47:54 +00:00
migrations . CreateModel (
name = ' Activity ' ,
fields = [
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' uuid ' , models . CharField ( max_length = 255 , unique = True ) ) ,
( ' content ' , django . contrib . postgres . fields . jsonb . JSONField ( max_length = 5000 ) ) ,
( ' activity_type ' , models . CharField ( max_length = 255 ) ) ,
2020-01-28 19:45:27 +00:00
( ' fedireads_type ' , models . CharField ( blank = True , max_length = 255 , null = True ) ) ,
2020-01-28 02:47:54 +00:00
( ' created_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
( ' updated_date ' , models . DateTimeField ( auto_now = True ) ) ,
( ' user ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = settings . AUTH_USER_MODEL ) ) ,
] ,
) ,
2020-01-25 23:25:19 +00:00
migrations . CreateModel (
name = ' Author ' ,
fields = [
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
2020-01-28 02:47:54 +00:00
( ' openlibrary_key ' , models . CharField ( max_length = 255 ) ) ,
2020-01-25 23:25:19 +00:00
( ' data ' , django . contrib . postgres . fields . jsonb . JSONField ( ) ) ,
( ' added_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
( ' updated_date ' , models . DateTimeField ( auto_now = True ) ) ,
] ,
) ,
2020-01-25 06:32:41 +00:00
migrations . CreateModel (
name = ' Book ' ,
fields = [
2020-01-25 23:25:19 +00:00
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
2020-01-27 01:55:02 +00:00
( ' activitypub_id ' , models . CharField ( max_length = 255 ) ) ,
2020-01-29 01:23:38 +00:00
( ' openlibrary_key ' , models . CharField ( max_length = 255 , unique = True ) ) ,
2020-01-25 06:32:41 +00:00
( ' data ' , django . contrib . postgres . fields . jsonb . JSONField ( ) ) ,
2020-01-29 08:05:58 +00:00
( ' cover ' , models . ImageField ( blank = True , null = True , upload_to = ' covers/ ' ) ) ,
2020-01-25 21:46:30 +00:00
( ' added_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
( ' updated_date ' , models . DateTimeField ( auto_now = True ) ) ,
( ' added_by ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . PROTECT , to = settings . AUTH_USER_MODEL ) ) ,
2020-01-25 23:25:19 +00:00
( ' authors ' , models . ManyToManyField ( to = ' fedireads.Author ' ) ) ,
2020-01-25 06:32:41 +00:00
] ,
) ,
2020-01-29 19:45:19 +00:00
migrations . CreateModel (
name = ' FederatedServer ' ,
fields = [
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' server_name ' , models . CharField ( max_length = 255 , unique = True ) ) ,
( ' shared_inbox ' , models . CharField ( max_length = 255 , unique = True ) ) ,
( ' status ' , models . CharField ( default = ' federated ' , max_length = 255 ) ) ,
( ' application_type ' , models . CharField ( max_length = 255 , null = True ) ) ,
] ,
) ,
2020-01-25 06:32:41 +00:00
migrations . CreateModel (
name = ' Shelf ' ,
fields = [
2020-01-25 23:25:19 +00:00
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
2020-01-27 01:55:02 +00:00
( ' activitypub_id ' , models . CharField ( max_length = 255 ) ) ,
2020-01-29 03:05:59 +00:00
( ' identifier ' , models . CharField ( max_length = 255 , unique = True ) ) ,
2020-01-25 06:32:41 +00:00
( ' name ' , models . CharField ( max_length = 100 ) ) ,
( ' editable ' , models . BooleanField ( default = True ) ) ,
2020-01-25 23:25:19 +00:00
( ' shelf_type ' , models . CharField ( default = ' custom ' , max_length = 100 ) ) ,
2020-01-25 21:46:30 +00:00
( ' created_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
( ' updated_date ' , models . DateTimeField ( auto_now = True ) ) ,
2020-01-25 23:25:19 +00:00
] ,
) ,
2020-01-25 06:32:41 +00:00
migrations . CreateModel (
2020-02-15 19:13:49 +00:00
name = ' Status ' ,
2020-01-28 02:47:54 +00:00
fields = [
2020-02-15 19:13:49 +00:00
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' status_type ' , models . CharField ( default = ' Note ' , max_length = 255 ) ) ,
( ' content ' , models . TextField ( blank = True , null = True ) ) ,
( ' created_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
( ' updated_date ' , models . DateTimeField ( auto_now = True ) ) ,
( ' reply_parent ' , models . ForeignKey ( null = True , on_delete = django . db . models . deletion . PROTECT , to = ' fedireads.Status ' ) ) ,
( ' user ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = settings . AUTH_USER_MODEL ) ) ,
2020-01-28 02:47:54 +00:00
] ,
) ,
migrations . CreateModel (
name = ' ShelfBook ' ,
2020-01-25 06:32:41 +00:00
fields = [
2020-01-25 23:25:19 +00:00
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
2020-01-25 21:46:30 +00:00
( ' added_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
2020-01-28 02:47:54 +00:00
( ' added_by ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . PROTECT , to = settings . AUTH_USER_MODEL ) ) ,
( ' book ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = ' fedireads.Book ' ) ) ,
( ' shelf ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = ' fedireads.Shelf ' ) ) ,
2020-01-25 06:32:41 +00:00
] ,
2020-01-28 02:47:54 +00:00
options = {
' unique_together ' : { ( ' book ' , ' shelf ' ) } ,
} ,
2020-01-25 06:32:41 +00:00
) ,
2020-01-25 23:25:19 +00:00
migrations . AddField (
model_name = ' shelf ' ,
name = ' books ' ,
field = models . ManyToManyField ( through = ' fedireads.ShelfBook ' , to = ' fedireads.Book ' ) ,
) ,
migrations . AddField (
model_name = ' shelf ' ,
name = ' user ' ,
field = models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = settings . AUTH_USER_MODEL ) ,
) ,
2020-01-26 20:14:27 +00:00
migrations . AddField (
model_name = ' book ' ,
name = ' shelves ' ,
field = models . ManyToManyField ( through = ' fedireads.ShelfBook ' , to = ' fedireads.Shelf ' ) ,
) ,
2020-01-29 19:45:19 +00:00
migrations . AddField (
model_name = ' user ' ,
name = ' federated_server ' ,
field = models . ForeignKey ( null = True , on_delete = django . db . models . deletion . PROTECT , to = ' fedireads.FederatedServer ' ) ,
) ,
migrations . AddField (
model_name = ' user ' ,
name = ' followers ' ,
field = models . ManyToManyField ( to = settings . AUTH_USER_MODEL ) ,
) ,
migrations . AddField (
model_name = ' user ' ,
name = ' groups ' ,
field = models . ManyToManyField ( blank = True , help_text = ' The groups this user belongs to. A user will get all permissions granted to each of their groups. ' , related_name = ' user_set ' , related_query_name = ' user ' , to = ' auth.Group ' , verbose_name = ' groups ' ) ,
) ,
migrations . AddField (
model_name = ' user ' ,
name = ' user_permissions ' ,
field = models . ManyToManyField ( blank = True , help_text = ' Specific permissions for this user. ' , related_name = ' user_set ' , related_query_name = ' user ' , to = ' auth.Permission ' , verbose_name = ' user permissions ' ) ,
) ,
2020-01-28 02:47:54 +00:00
migrations . CreateModel (
name = ' ShelveActivity ' ,
fields = [
( ' activity_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' fedireads.Activity ' ) ) ,
( ' book ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = ' fedireads.Book ' ) ) ,
( ' shelf ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = ' fedireads.Shelf ' ) ) ,
] ,
bases = ( ' fedireads.activity ' , ) ,
2020-01-27 01:55:02 +00:00
) ,
migrations . AlterUniqueTogether (
name = ' shelf ' ,
unique_together = { ( ' user ' , ' name ' ) } ,
) ,
2020-01-28 02:47:54 +00:00
migrations . CreateModel (
2020-02-15 19:13:49 +00:00
name = ' ReviewActivity ' ,
2020-01-28 02:47:54 +00:00
fields = [
( ' activity_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' fedireads.Activity ' ) ) ,
2020-02-15 19:13:49 +00:00
( ' book ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = ' fedireads.Book ' ) ) ,
] ,
bases = ( ' fedireads.activity ' , ) ,
) ,
migrations . CreateModel (
name = ' Review ' ,
fields = [
( ' status_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' fedireads.Status ' ) ) ,
2020-01-29 07:23:05 +00:00
( ' name ' , models . CharField ( max_length = 255 ) ) ,
2020-02-11 23:17:21 +00:00
( ' rating ' , models . IntegerField ( default = 0 , validators = [ django . core . validators . MinValueValidator ( 0 ) , django . core . validators . MaxValueValidator ( 5 ) ] ) ) ,
2020-01-28 02:47:54 +00:00
( ' book ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = ' fedireads.Book ' ) ) ,
] ,
2020-02-15 19:13:49 +00:00
bases = ( ' fedireads.status ' , ) ,
2020-01-28 02:47:54 +00:00
) ,
migrations . CreateModel (
name = ' FollowActivity ' ,
fields = [
( ' activity_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' fedireads.Activity ' ) ) ,
( ' followed ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , related_name = ' followed ' , to = settings . AUTH_USER_MODEL ) ) ,
] ,
bases = ( ' fedireads.activity ' , ) ,
) ,
2020-01-25 06:32:41 +00:00
]