diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-05-01 17:33:17 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-06-13 18:16:05 +0200 |
commit | 2affbfc716765b697fa6bc676b5f5788f17f3063 (patch) | |
tree | 17b810f995acce655e24fde96bea2afdcfb0ca4e /ishtar_common/migrations | |
parent | 606934214846af318b4074b3bb8b06f3bb1bec7c (diff) | |
download | Ishtar-2affbfc716765b697fa6bc676b5f5788f17f3063.tar.bz2 Ishtar-2affbfc716765b697fa6bc676b5f5788f17f3063.zip |
🗃️ GIS API: database migrations - some logic to manage token request
Diffstat (limited to 'ishtar_common/migrations')
-rw-r--r-- | ishtar_common/migrations/0264_userrequesttoken_usertoken.py | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/ishtar_common/migrations/0264_userrequesttoken_usertoken.py b/ishtar_common/migrations/0264_userrequesttoken_usertoken.py new file mode 100644 index 000000000..2a861e4b7 --- /dev/null +++ b/ishtar_common/migrations/0264_userrequesttoken_usertoken.py @@ -0,0 +1,64 @@ +# Generated by Django 4.2.19 on 2025-05-09 08:25 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('auth', '0012_alter_user_first_name_max_length'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('ishtar_common', '0263_add_timezone_django_v4'), + ] + + operations = [ + migrations.CreateModel( + name='UserRequestToken', + fields=[ + ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')), + ('key', models.CharField(max_length=6, unique=True, verbose_name='Key')), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='user_request_token', serialize=False, to=settings.AUTH_USER_MODEL, verbose_name='User')), + ('access_type', models.CharField(choices=[('R', 'GIS - read'), ('W', 'GIS - read/write')], default='R', max_length=1, verbose_name='Access type')), + ('name', models.TextField(verbose_name='Name')), + ('limit_date', models.DateField(blank=True, null=True, verbose_name='Limit date')), + ], + options={ + 'verbose_name': 'API - GIS - Request token', + 'verbose_name_plural': 'API - GIS - Request tokens', + }, + ), + migrations.AlterModelOptions( + name='importertype', + options={'ordering': ('name',), 'permissions': (('view_gis_importer', 'Can export to QGIS'), ('view_own_gis_importer', 'Can export own to QGIS'), ('change_gis_importer', 'Can import from QGIS'), ('change_own_gis_importer', 'Can import own to QGIS')), 'verbose_name': 'Importer - Type', 'verbose_name_plural': 'Importer - Types'}, + ), + migrations.AddField( + model_name='ishtarsiteprofile', + name='gis_connector', + field=models.BooleanField(default=False, verbose_name='GIS connector'), + ), + migrations.AlterField( + model_name='importertype', + name='type', + field=models.CharField(choices=[('tab', 'Table'), ('gis', 'GIS'), ('qgs', 'QGIS')], default='tab', max_length=3, verbose_name='Type'), + ), + migrations.CreateModel( + name='UserToken', + fields=[ + ('key', models.CharField(max_length=40, primary_key=True, serialize=False, verbose_name='Key')), + ('name', models.TextField(verbose_name='Name')), + ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')), + ('access_type', models.CharField(choices=[('R', 'GIS - read'), ('W', 'GIS - read/write')], default='R', max_length=1, verbose_name='Access type')), + ('limit_date', models.DateField(blank=True, null=True, verbose_name='Limit date')), + ('last_ip', models.GenericIPAddressField(blank=True, null=True, verbose_name='Last IP')), + ('last_access', models.DateField(auto_now_add=True, verbose_name='Last access date')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_token', to=settings.AUTH_USER_MODEL, verbose_name='User')), + ], + options={ + 'verbose_name': 'API - GIS - Token', + 'verbose_name_plural': 'API - GIS - Tokens', + 'ordering': ('user', 'name', 'limit_date'), + }, + ), + ] |