Coverage for modules\authentication\migrations\0003_passwordresettoken_and_audit.py: 100%

7 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-10-17 16:50 +0800

1# Generated manually for password-reset and authentication-audit support. 

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 dependencies = [ 

11 ('authentication', '0002_alter_membership_role'), 

12 ] 

13 

14 operations = [ 

15 migrations.CreateModel( 

16 name='AuthAuditEvent', 

17 fields=[ 

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

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

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

21 ('event_type', models.CharField(choices=[('LOGIN_SUCCEEDED', 'Login succeeded'), ('LOGIN_FAILED', 'Login failed'), ('PASSWORD_RESET_REQUESTED', 'Password reset requested'), ('PASSWORD_RESET_COMPLETED', 'Password reset completed'), ('REFRESH_TOKEN_REUSED', 'Refresh token reused')], max_length=32)), 

22 ('email', models.EmailField(blank=True, max_length=255)), 

23 ('ip_address', models.GenericIPAddressField(blank=True, null=True)), 

24 ('metadata', models.JSONField(blank=True, default=dict)), 

25 ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='auth_audit_events', to=settings.AUTH_USER_MODEL)), 

26 ], 

27 ), 

28 migrations.CreateModel( 

29 name='PasswordResetToken', 

30 fields=[ 

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

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

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

34 ('token_hash', models.CharField(max_length=64, unique=True)), 

35 ('expires_at', models.DateTimeField(db_index=True)), 

36 ('used_at', models.DateTimeField(blank=True, null=True)), 

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

38 ], 

39 ), 

40 ]