Coverage for modules\authentication\migrations\0001_initial.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-09-05 09:24 +0800

1# Generated by Django 5.1.15 on 2026-09-01 15:02 

2 

3import django.db.models.deletion 

4import uuid 

5from django.conf import settings 

6from django.db import migrations, models 

7 

8 

9class Migration(migrations.Migration): 

10 

11 initial = True 

12 

13 dependencies = [ 

14 ('auth', '0012_alter_user_first_name_max_length'), 

15 ] 

16 

17 operations = [ 

18 migrations.CreateModel( 

19 name='Organization', 

20 fields=[ 

21 ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), 

22 ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)), 

23 ('updated_at', models.DateTimeField(auto_now=True)), 

24 ('name', models.CharField(max_length=255)), 

25 ('slug', models.SlugField(max_length=255, unique=True)), 

26 ('logo_url', models.URLField(blank=True, max_length=500, null=True)), 

27 ('currency', models.CharField(default='PHP', max_length=3)), 

28 ('fiscal_year_start', models.IntegerField(default=1)), 

29 ('tax_id', models.CharField(blank=True, max_length=64, null=True)), 

30 ('website', models.URLField(blank=True, null=True)), 

31 ('address', models.TextField(blank=True, null=True)), 

32 ('is_active', models.BooleanField(default=True)), 

33 ], 

34 options={ 

35 'abstract': False, 

36 }, 

37 ), 

38 migrations.CreateModel( 

39 name='User', 

40 fields=[ 

41 ('password', models.CharField(max_length=128, verbose_name='password')), 

42 ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), 

43 ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), 

44 ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), 

45 ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)), 

46 ('updated_at', models.DateTimeField(auto_now=True)), 

47 ('email', models.EmailField(db_index=True, max_length=255, unique=True)), 

48 ('external_email', models.EmailField(blank=True, max_length=255, null=True)), 

49 ('first_name', models.CharField(blank=True, max_length=150)), 

50 ('last_name', models.CharField(blank=True, max_length=150)), 

51 ('phone_number', models.CharField(blank=True, max_length=32, null=True)), 

52 ('avatar_url', models.URLField(blank=True, max_length=500, null=True)), 

53 ('is_active', models.BooleanField(default=True)), 

54 ('is_staff', models.BooleanField(default=False)), 

55 ('groups', 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')), 

56 ('user_permissions', 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')), 

57 ('current_organization', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='current_users', to='authentication.organization')), 

58 ], 

59 options={ 

60 'abstract': False, 

61 }, 

62 ), 

63 migrations.CreateModel( 

64 name='Membership', 

65 fields=[ 

66 ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), 

67 ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)), 

68 ('updated_at', models.DateTimeField(auto_now=True)), 

69 ('role', models.CharField(choices=[('OWNER', 'Owner'), ('ADMIN', 'Administrator'), ('MANAGER', 'Manager'), ('MEMBER', 'Member'), ('GUEST', 'Guest')], default='MEMBER', max_length=32)), 

70 ('is_default', models.BooleanField(default=False)), 

71 ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='memberships', to=settings.AUTH_USER_MODEL)), 

72 ('organization', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='memberships', to='authentication.organization')), 

73 ], 

74 options={ 

75 'unique_together': {('user', 'organization')}, 

76 }, 

77 ), 

78 ]