ants-hub/src/ants_hub/data/migrations/0001_initial.py

257 lines
10 KiB
Python

# Generated by Django 3.2.18 on 2023-04-03 15:18
import uuid
import django.core.validators
import django.db.models.deletion
from django.db import migrations, models
import ants_hub.data.models
class Migration(migrations.Migration):
initial = True
dependencies = []
operations = [
migrations.CreateModel(
name='Collectivite',
fields=[
(
'id',
models.BigAutoField(
auto_created=True, primary_key=True, serialize=False, verbose_name='ID'
),
),
('nom', ants_hub.data.models.CharField(verbose_name='Nom')),
(
'source_id',
ants_hub.data.models.CharField(verbose_name='Identifiant de la collectivité à la source'),
),
('url', ants_hub.data.models.URLField(verbose_name='URL du portail')),
('logo_url', ants_hub.data.models.URLField(blank=True, verbose_name='URL du logo')),
(
'rdv_url',
ants_hub.data.models.URLField(blank=True, verbose_name='URL de prise de rendez-vous '),
),
(
'gestion_url',
ants_hub.data.models.URLField(blank=True, verbose_name='URL de gestion des rendez-vous'),
),
(
'annulation_url',
ants_hub.data.models.URLField(
blank=True, verbose_name="URL d'annulation des rendez-vous"
),
),
('created', models.DateTimeField(auto_now_add=True, verbose_name='Création')),
('last_update', models.DateTimeField(auto_now=True, verbose_name='Dernière mise à jour')),
],
options={
'verbose_name': 'collectivité',
'verbose_name_plural': 'collectivités',
'db_table': 'ants_hub_collectivite',
},
),
migrations.CreateModel(
name='Lieu',
fields=[
(
'id',
models.BigAutoField(
auto_created=True, primary_key=True, serialize=False, verbose_name='ID'
),
),
('nom', ants_hub.data.models.CharField(verbose_name='Nom')),
('source_id', ants_hub.data.models.CharField(verbose_name='Identifiant du lieu à la source')),
('numero_rue', ants_hub.data.models.CharField(verbose_name='Numéro rue')),
('code_postal', ants_hub.data.models.CharField(verbose_name='Code postal')),
('ville', ants_hub.data.models.CharField(verbose_name='Ville')),
('longitude', models.FloatField(verbose_name='Longitude')),
('latitude', models.FloatField(verbose_name='Latitude')),
('url', ants_hub.data.models.URLField(blank=True, verbose_name='URL du portail')),
('logo_url', ants_hub.data.models.URLField(blank=True, verbose_name='URL du logo')),
(
'rdv_url',
ants_hub.data.models.URLField(blank=True, verbose_name='URL de prise de rendez-vous '),
),
(
'gestion_url',
ants_hub.data.models.URLField(blank=True, verbose_name='URL de gestion des rendez-vous'),
),
(
'annulation_url',
ants_hub.data.models.URLField(
blank=True, verbose_name="URL d'annulation des rendez-vous"
),
),
('created', models.DateTimeField(auto_now_add=True, verbose_name='Création')),
('last_update', models.DateTimeField(auto_now=True, verbose_name='Dernière mise à jour')),
(
'collectivite',
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
related_name='lieux',
to='data.collectivite',
verbose_name='Collectivité',
),
),
],
options={
'verbose_name': 'lieu',
'verbose_name_plural': 'lieux',
'db_table': 'ants_hub_lieu',
'unique_together': {('collectivite', 'nom'), ('collectivite', 'source_id')},
},
),
migrations.CreateModel(
name='Raccordement',
fields=[
(
'uuid',
models.UUIDField(
default=uuid.uuid4,
editable=False,
primary_key=True,
serialize=False,
verbose_name='UUID',
),
),
('name', ants_hub.data.models.CharField(unique=True, verbose_name='Nom')),
(
'apikey',
ants_hub.data.models.CharField(
default=ants_hub.data.models.generate_apikey,
help_text='Écrire "NEW" pour en générer une nouvelle.',
unique=True,
verbose_name='API key',
),
),
(
'apikey_digest',
models.UUIDField(db_index=True, editable=False, verbose_name="Condensat de l'API key"),
),
('notes', models.TextField(blank=True, verbose_name='Notes')),
('created', models.DateTimeField(auto_now_add=True, verbose_name='Création')),
('last_update', models.DateTimeField(auto_now=True, verbose_name='Dernière mise à jour')),
],
options={
'verbose_name': 'raccordement',
'verbose_name_plural': 'raccordements',
'db_table': 'ants_hub_raccordement',
'ordering': ('name',),
},
),
migrations.CreateModel(
name='RendezVous',
fields=[
(
'uuid',
models.UUIDField(
default=uuid.uuid4,
editable=False,
primary_key=True,
serialize=False,
verbose_name='UUID',
),
),
(
'identifiant_predemande',
ants_hub.data.models.CharField(db_index=True, verbose_name='Identifiant de prédemande'),
),
('date', models.DateTimeField(verbose_name='Date')),
(
'gestion_url',
ants_hub.data.models.URLField(blank=True, verbose_name='URL de gestion des rendez-vous'),
),
(
'annulation_url',
ants_hub.data.models.URLField(
blank=True, verbose_name="URL d'annulation des rendez-vous"
),
),
('created', models.DateTimeField(auto_now_add=True, verbose_name='Création')),
('last_update', models.DateTimeField(auto_now=True, verbose_name='Dernière mise à jour')),
(
'lieu',
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='rdvs',
to='data.lieu',
verbose_name='Lieu',
),
),
],
options={
'verbose_name': 'rendez-vous',
'verbose_name_plural': 'rendez-vous',
'db_table': 'ants_hub_rendez_vous',
},
),
migrations.AddField(
model_name='collectivite',
name='raccordement',
field=models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
related_name='collectivites',
to='data.raccordement',
verbose_name='Raccordement',
),
),
migrations.CreateModel(
name='Plage',
fields=[
(
'id',
models.BigAutoField(
auto_created=True, primary_key=True, serialize=False, verbose_name='ID'
),
),
('date', models.DateField(verbose_name='Date')),
('horaires', ants_hub.data.models.HoraireField(verbose_name='Horaire')),
('duree', models.SmallIntegerField(verbose_name='Durée')),
(
'type_de_rdv',
ants_hub.data.models.TypeDeRdvField(
choices=[(1, 'CNI'), (2, 'PASSPORT'), (3, 'CNI-PASSPORT')],
verbose_name='Type de rendez-vous',
),
),
(
'personnes',
models.SmallIntegerField(
default=1,
validators=[
django.core.validators.MinValueValidator(1),
django.core.validators.MaxValueValidator(4),
],
verbose_name='Nombre de personnes maximum',
),
),
('created', models.DateTimeField(auto_now_add=True, verbose_name='Création')),
('last_update', models.DateTimeField(auto_now=True, verbose_name='Dernière mise à jour')),
(
'lieu',
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='plages',
to='data.lieu',
verbose_name='Lieu',
),
),
],
options={
'verbose_name': 'plage',
'verbose_name_plural': 'plages',
'db_table': 'ants_hub_plage',
'unique_together': {('type_de_rdv', 'date', 'lieu')},
},
),
migrations.AlterUniqueTogether(
name='collectivite',
unique_together={('raccordement', 'nom'), ('raccordement', 'source_id')},
),
]