Coverage for src/accounts/migrations/0001_initial.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-08-04 12:59 +0300

1# Generated by Django 5.2.1 on 2025-07-21 16:26 

2 

3import cloudinary.models 

4import django.core.validators 

5import django.db.models.deletion 

6import src.accounts.managers.user_credential 

7import src.accounts.validators.models 

8from django.conf import settings 

9from django.db import migrations, models 

10 

11 

12class Migration(migrations.Migration): 

13 

14 initial = True 

15 

16 dependencies = [ 

17 ('auth', '0012_alter_user_first_name_max_length'), 

18 ] 

19 

20 operations = [ 

21 migrations.CreateModel( 

22 name='UserCredential', 

23 fields=[ 

24 ( 

25 'id', 

26 models.BigAutoField( 

27 auto_created=True, 

28 primary_key=True, 

29 serialize=False, 

30 verbose_name='ID', 

31 ), 

32 ), 

33 ( 

34 'password', 

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

36 ), 

37 ( 

38 'last_login', 

39 models.DateTimeField( 

40 blank=True, null=True, verbose_name='last login' 

41 ), 

42 ), 

43 ( 

44 'is_superuser', 

45 models.BooleanField( 

46 default=False, 

47 help_text='Designates that this user has all permissions without explicitly assigning them.', 

48 verbose_name='superuser status', 

49 ), 

50 ), 

51 ( 

52 'email', 

53 models.EmailField( 

54 error_messages={ 

55 'unique': 'A user with this email already exists.' 

56 }, 

57 max_length=254, 

58 unique=True, 

59 ), 

60 ), 

61 ( 

62 'username', 

63 models.CharField( 

64 error_messages={ 

65 'unique': 'A user with this username already exists.' 

66 }, 

67 max_length=150, 

68 unique=True, 

69 validators=[ 

70 src.accounts.validators.models.UsernameValidator() 

71 ], 

72 ), 

73 ), 

74 ('agreed_to_emails', models.BooleanField(default=False)), 

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

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

77 ( 

78 'groups', 

79 models.ManyToManyField( 

80 blank=True, 

81 help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', 

82 related_name='user_set', 

83 related_query_name='user', 

84 to='auth.group', 

85 verbose_name='groups', 

86 ), 

87 ), 

88 ( 

89 'user_permissions', 

90 models.ManyToManyField( 

91 blank=True, 

92 help_text='Specific permissions for this user.', 

93 related_name='user_set', 

94 related_query_name='user', 

95 to='auth.permission', 

96 verbose_name='user permissions', 

97 ), 

98 ), 

99 ], 

100 options={ 

101 'abstract': False, 

102 }, 

103 managers=[ 

104 ( 

105 'objects', 

106 src.accounts.managers.user_credential.UserCredentialManager(), 

107 ), 

108 ], 

109 ), 

110 migrations.CreateModel( 

111 name='UserPhoto', 

112 fields=[ 

113 ( 

114 'photo', 

115 cloudinary.models.CloudinaryField( 

116 max_length=255, null=True, verbose_name='image' 

117 ), 

118 ), 

119 ( 

120 'user', 

121 models.OneToOneField( 

122 on_delete=django.db.models.deletion.CASCADE, 

123 primary_key=True, 

124 serialize=False, 

125 to=settings.AUTH_USER_MODEL, 

126 ), 

127 ), 

128 ], 

129 ), 

130 migrations.CreateModel( 

131 name='UserProfile', 

132 fields=[ 

133 ( 

134 'first_name', 

135 models.CharField( 

136 max_length=30, 

137 null=True, 

138 validators=[ 

139 django.core.validators.MinLengthValidator(2), 

140 src.accounts.validators.models.NameValidator(), 

141 ], 

142 ), 

143 ), 

144 ( 

145 'last_name', 

146 models.CharField( 

147 max_length=30, 

148 null=True, 

149 validators=[ 

150 django.core.validators.MinLengthValidator(2), 

151 src.accounts.validators.models.NameValidator(), 

152 ], 

153 ), 

154 ), 

155 ( 

156 'phone_number', 

157 models.CharField( 

158 max_length=15, 

159 null=True, 

160 validators=[ 

161 django.core.validators.MinLengthValidator(9), 

162 src.accounts.validators.models.OnlyDigitsValidator(), 

163 ], 

164 ), 

165 ), 

166 ( 

167 'country', 

168 models.CharField( 

169 max_length=100, 

170 null=True, 

171 validators=[ 

172 django.core.validators.MinLengthValidator(2), 

173 src.accounts.validators.models.NameValidator(), 

174 ], 

175 ), 

176 ), 

177 ( 

178 'city', 

179 models.CharField( 

180 max_length=100, 

181 null=True, 

182 validators=[ 

183 django.core.validators.MinLengthValidator(2), 

184 src.accounts.validators.models.NameValidator(), 

185 ], 

186 ), 

187 ), 

188 ( 

189 'zip_code', 

190 models.CharField( 

191 max_length=10, 

192 null=True, 

193 validators=[ 

194 django.core.validators.MinLengthValidator(3) 

195 ], 

196 ), 

197 ), 

198 ( 

199 'street_address', 

200 models.CharField( 

201 max_length=100, 

202 null=True, 

203 validators=[ 

204 django.core.validators.MinLengthValidator(2) 

205 ], 

206 ), 

207 ), 

208 ( 

209 'apartment', 

210 models.CharField(blank=True, max_length=20, null=True), 

211 ), 

212 ( 

213 'user', 

214 models.OneToOneField( 

215 on_delete=django.db.models.deletion.CASCADE, 

216 primary_key=True, 

217 serialize=False, 

218 to=settings.AUTH_USER_MODEL, 

219 ), 

220 ), 

221 ], 

222 ), 

223 ]