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

11 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-09-21 16:24 +0300

1# Generated by Django 5.2.1 on 2025-09-20 12:20 

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, 

117 null=True, 

118 validators=[ 

119 src.accounts.validators.models.FileSizeValidator(5) 

120 ], 

121 verbose_name='image', 

122 ), 

123 ), 

124 ( 

125 'user', 

126 models.OneToOneField( 

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

128 primary_key=True, 

129 serialize=False, 

130 to=settings.AUTH_USER_MODEL, 

131 ), 

132 ), 

133 ], 

134 ), 

135 migrations.CreateModel( 

136 name='UserProfile', 

137 fields=[ 

138 ( 

139 'first_name', 

140 models.CharField( 

141 max_length=30, 

142 null=True, 

143 validators=[ 

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

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

146 ], 

147 ), 

148 ), 

149 ( 

150 'last_name', 

151 models.CharField( 

152 max_length=30, 

153 null=True, 

154 validators=[ 

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

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

157 ], 

158 ), 

159 ), 

160 ( 

161 'phone_number', 

162 models.CharField( 

163 max_length=15, 

164 null=True, 

165 validators=[ 

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

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

168 ], 

169 ), 

170 ), 

171 ( 

172 'country', 

173 models.CharField( 

174 max_length=100, 

175 null=True, 

176 validators=[ 

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

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

179 ], 

180 ), 

181 ), 

182 ( 

183 'city', 

184 models.CharField( 

185 max_length=100, 

186 null=True, 

187 validators=[ 

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

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

190 ], 

191 ), 

192 ), 

193 ( 

194 'zip_code', 

195 models.CharField( 

196 max_length=10, 

197 null=True, 

198 validators=[ 

199 django.core.validators.MinLengthValidator(3) 

200 ], 

201 ), 

202 ), 

203 ( 

204 'street_address', 

205 models.CharField( 

206 max_length=100, 

207 null=True, 

208 validators=[ 

209 django.core.validators.MinLengthValidator(2) 

210 ], 

211 ), 

212 ), 

213 ( 

214 'apartment', 

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

216 ), 

217 ( 

218 'user', 

219 models.OneToOneField( 

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

221 primary_key=True, 

222 serialize=False, 

223 to=settings.AUTH_USER_MODEL, 

224 ), 

225 ), 

226 ], 

227 ), 

228 ]