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

6 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-05-02 11:43 +0700

1# Generated by Django 5.1.7 on 2025-04-02 06:58 

2 

3import django.db.models.deletion 

4from django.db import migrations, models 

5 

6 

7class Migration(migrations.Migration): 

8 

9 initial = True 

10 

11 dependencies = [ 

12 ] 

13 

14 operations = [ 

15 migrations.CreateModel( 

16 name='LogUser', 

17 fields=[ 

18 ('id', models.IntegerField(primary_key=True, serialize=False)), 

19 ('user_name', models.CharField(blank=True, max_length=1024)), 

20 ], 

21 options={ 

22 'verbose_name': 'Log User', 

23 'verbose_name_plural': 'Log Users', 

24 }, 

25 ), 

26 migrations.CreateModel( 

27 name='LogIpAddress', 

28 fields=[ 

29 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 

30 ('address', models.GenericIPAddressField()), 

31 ], 

32 options={ 

33 'verbose_name': 'Log IP Address', 

34 'verbose_name_plural': 'Log IP Addresses', 

35 'indexes': [models.Index(fields=['address'], name='django_audi_address_fec711_idx')], 

36 }, 

37 ), 

38 migrations.CreateModel( 

39 name='LogPath', 

40 fields=[ 

41 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 

42 ('path', models.CharField(blank=True, max_length=4096)), 

43 ], 

44 options={ 

45 'verbose_name': 'Log Path', 

46 'verbose_name_plural': 'Log Paths', 

47 'indexes': [models.Index(fields=['path'], name='django_audi_path_6a20fe_idx')], 

48 }, 

49 ), 

50 migrations.CreateModel( 

51 name='LogSessionKey', 

52 fields=[ 

53 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 

54 ('key', models.CharField(blank=True, max_length=1024)), 

55 ], 

56 options={ 

57 'verbose_name': 'Log Session Key', 

58 'verbose_name_plural': 'Log Session Keys', 

59 'indexes': [models.Index(fields=['key'], name='django_audi_key_63f27b_idx')], 

60 }, 

61 ), 

62 migrations.CreateModel( 

63 name='AccessLog', 

64 fields=[ 

65 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 

66 ('method', models.CharField(blank=True, max_length=8)), 

67 ('data', models.JSONField(help_text='Payload')), 

68 ('status_code', models.IntegerField(blank=True, help_text='Response code (200=OK)', null=True)), 

69 ('timestamp', models.DateTimeField(auto_now_add=True, db_index=True)), 

70 ('ip', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='django_audit_log.logipaddress')), 

71 ('path', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='django_audit_log.logpath')), 

72 ('referrer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='refers', to='django_audit_log.logpath')), 

73 ('response_url', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='response', to='django_audit_log.logpath')), 

74 ('session_key', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='django_audit_log.logsessionkey')), 

75 ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='django_audit_log.loguser')), 

76 ], 

77 options={ 

78 'verbose_name': 'Access Log', 

79 'verbose_name_plural': 'Access Logs', 

80 'ordering': ['-timestamp'], 

81 'indexes': [models.Index(fields=['timestamp'], name='django_audi_timesta_476d24_idx'), models.Index(fields=['method'], name='django_audi_method_0089b9_idx'), models.Index(fields=['status_code'], name='django_audi_status__70951b_idx')], 

82 }, 

83 ), 

84 ]