2020-02-19 06:44:13 +00:00
# Generated by Django 3.0.3 on 2020-02-19 06:43
2020-01-25 06:32:41 +00:00
from django . conf import settings
import django . contrib . auth . models
import django . contrib . auth . validators
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
2020-09-21 15:10:37 +00:00
import bookwyrm . utils . fields
2020-01-25 06:32:41 +00:00
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-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-02-19 06:44:13 +00:00
( ' fedireads_user ' , 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 06:32:41 +00:00
] ,
options = {
' verbose_name ' : ' user ' ,
' verbose_name_plural ' : ' users ' ,
' abstract ' : False ,
} ,
managers = [
( ' objects ' , django . contrib . auth . models . UserManager ( ) ) ,
] ,
) ,
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-02-19 06:44:13 +00:00
( ' content ' , models . TextField ( blank = True , null = True ) ) ,
( ' created_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
2020-01-28 02:47:54 +00:00
( ' openlibrary_key ' , models . CharField ( max_length = 255 ) ) ,
2020-09-21 15:10:37 +00:00
( ' data ' , bookwyrm . utils . fields . JSONField ( ) ) ,
2020-01-25 23:25:19 +00:00
] ,
2020-02-19 06:44:13 +00:00
options = {
' abstract ' : False ,
} ,
2020-01-25 23:25:19 +00:00
) ,
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-02-19 06:44:13 +00:00
( ' content ' , models . TextField ( blank = True , null = True ) ) ,
( ' created_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
2020-01-29 01:23:38 +00:00
( ' openlibrary_key ' , models . CharField ( max_length = 255 , unique = True ) ) ,
2020-09-21 15:10:37 +00:00
( ' data ' , bookwyrm . utils . fields . 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_by ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . PROTECT , to = settings . AUTH_USER_MODEL ) ) ,
2020-09-21 15:10:37 +00:00
( ' authors ' , models . ManyToManyField ( to = ' bookwyrm.Author ' ) ) ,
2020-01-25 06:32:41 +00:00
] ,
2020-02-19 06:44:13 +00:00
options = {
' abstract ' : False ,
} ,
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 ' ) ) ,
2020-02-19 06:44:13 +00:00
( ' content ' , models . TextField ( blank = True , null = True ) ) ,
( ' created_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
2020-01-29 19:45:19 +00:00
( ' server_name ' , 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-02-19 06:44:13 +00:00
options = {
' abstract ' : False ,
} ,
2020-01-29 19:45:19 +00:00
) ,
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-02-19 06:44:13 +00:00
( ' content ' , models . TextField ( blank = True , null = True ) ) ,
( ' created_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
2020-01-25 06:32:41 +00:00
( ' name ' , models . CharField ( max_length = 100 ) ) ,
2020-02-15 22:38:46 +00:00
( ' identifier ' , models . CharField ( max_length = 100 ) ) ,
2020-01-25 06:32:41 +00:00
( ' editable ' , models . BooleanField ( default = 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 ' ) ) ,
2020-02-19 06:44:13 +00:00
( ' content ' , models . TextField ( blank = True , null = True ) ) ,
( ' created_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
2020-02-15 19:13:49 +00:00
( ' status_type ' , models . CharField ( default = ' Note ' , max_length = 255 ) ) ,
2020-02-17 02:45:25 +00:00
( ' activity_type ' , models . CharField ( default = ' Note ' , max_length = 255 ) ) ,
2020-02-15 22:38:46 +00:00
( ' local ' , models . BooleanField ( default = True ) ) ,
2020-02-17 02:45:25 +00:00
( ' privacy ' , models . CharField ( default = ' public ' , max_length = 255 ) ) ,
( ' sensitive ' , models . BooleanField ( default = False ) ) ,
2020-09-21 15:10:37 +00:00
( ' mention_books ' , models . ManyToManyField ( related_name = ' mention_book ' , to = ' bookwyrm.Book ' ) ) ,
2020-02-17 02:45:25 +00:00
( ' mention_users ' , models . ManyToManyField ( related_name = ' mention_user ' , to = settings . AUTH_USER_MODEL ) ) ,
2020-09-21 15:10:37 +00:00
( ' reply_parent ' , models . ForeignKey ( null = True , on_delete = django . db . models . deletion . PROTECT , to = ' bookwyrm.Status ' ) ) ,
2020-02-15 19:13:49 +00:00
( ' user ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = settings . AUTH_USER_MODEL ) ) ,
2020-01-28 02:47:54 +00:00
] ,
2020-02-19 06:44:13 +00:00
options = {
' abstract ' : False ,
} ,
) ,
migrations . CreateModel (
name = ' UserRelationship ' ,
fields = [
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' content ' , models . TextField ( blank = True , null = True ) ) ,
( ' created_date ' , models . DateTimeField ( auto_now_add = True ) ) ,
( ' status ' , models . CharField ( default = ' follows ' , max_length = 100 , null = True ) ) ,
( ' relationship_id ' , models . CharField ( max_length = 100 ) ) ,
( ' user_object ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , related_name = ' user_object ' , to = settings . AUTH_USER_MODEL ) ) ,
( ' user_subject ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , related_name = ' user_subject ' , to = settings . AUTH_USER_MODEL ) ) ,
] ,
options = {
' abstract ' : False ,
} ,
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-02-19 06:44:13 +00:00
( ' content ' , models . TextField ( blank = True , null = True ) ) ,
2020-02-15 22:38:46 +00:00
( ' created_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 ) ) ,
2020-09-21 15:10:37 +00:00
( ' book ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = ' bookwyrm.Book ' ) ) ,
( ' shelf ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = ' bookwyrm.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 ' ,
2020-09-21 15:10:37 +00:00
field = models . ManyToManyField ( through = ' bookwyrm.ShelfBook ' , to = ' bookwyrm.Book ' ) ,
2020-01-25 23:25:19 +00:00
) ,
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 ' ,
2020-09-21 15:10:37 +00:00
field = models . ManyToManyField ( through = ' bookwyrm.ShelfBook ' , to = ' bookwyrm.Shelf ' ) ,
2020-01-26 20:14:27 +00:00
) ,
2020-01-29 19:45:19 +00:00
migrations . AddField (
model_name = ' user ' ,
name = ' federated_server ' ,
2020-09-21 15:10:37 +00:00
field = models . ForeignKey ( null = True , on_delete = django . db . models . deletion . PROTECT , to = ' bookwyrm.FederatedServer ' ) ,
2020-01-29 19:45:19 +00:00
) ,
migrations . AddField (
model_name = ' user ' ,
name = ' followers ' ,
2020-09-21 15:10:37 +00:00
field = models . ManyToManyField ( through = ' bookwyrm.UserRelationship ' , to = settings . AUTH_USER_MODEL ) ,
2020-01-29 19:45:19 +00:00
) ,
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-27 01:55:02 +00:00
migrations . AlterUniqueTogether (
name = ' shelf ' ,
2020-02-15 22:38:46 +00:00
unique_together = { ( ' user ' , ' identifier ' ) } ,
2020-01-27 01:55:02 +00:00
) ,
2020-02-15 19:13:49 +00:00
migrations . CreateModel (
name = ' Review ' ,
fields = [
2020-09-21 15:10:37 +00:00
( ' status_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' bookwyrm.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-09-21 15:10:37 +00:00
( ' book ' , models . ForeignKey ( on_delete = django . db . models . deletion . PROTECT , to = ' bookwyrm.Book ' ) ) ,
2020-01-28 02:47:54 +00:00
] ,
2020-02-19 06:44:13 +00:00
options = {
' abstract ' : False ,
} ,
2020-09-21 15:10:37 +00:00
bases = ( ' bookwyrm.status ' , ) ,
2020-01-28 02:47:54 +00:00
) ,
2020-01-25 06:32:41 +00:00
]