Publish curated VacatureRadar source snapshot
This commit is contained in:
commit
e29774cb7f
338 files changed
+32699
No files matched your search
@@ -0,0 +1,81 @@
|
||||
# Generated by Django 5.2.16 on 2026-07-20 23:57
|
||||
|
||||
import apps.profiles.defaults
|
||||
import datetime
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='SearchProfile',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
('updated_at', models.DateTimeField(auto_now=True)),
|
||||
('name', models.CharField(default='Primair profiel', max_length=120)),
|
||||
('is_active', models.BooleanField(default=True)),
|
||||
('locale', models.CharField(default='nl-BE', max_length=10)),
|
||||
('timezone', models.CharField(default='Europe/Brussels', max_length=64)),
|
||||
('home_postal_code', models.CharField(blank=True, max_length=12)),
|
||||
('home_municipality', models.CharField(blank=True, max_length=120)),
|
||||
('home_latitude', models.DecimalField(blank=True, decimal_places=6, max_digits=9, null=True)),
|
||||
('home_longitude', models.DecimalField(blank=True, decimal_places=6, max_digits=9, null=True)),
|
||||
('max_distance_km', models.PositiveIntegerField(default=45)),
|
||||
('desired_titles', models.JSONField(blank=True, default=list)),
|
||||
('excluded_titles', models.JSONField(blank=True, default=list)),
|
||||
('desired_skills', models.JSONField(blank=True, default=list)),
|
||||
('excluded_skills', models.JSONField(blank=True, default=list)),
|
||||
('allowed_employment_types', models.JSONField(blank=True, default=list)),
|
||||
('preferred_workplace', models.JSONField(blank=True, default=list)),
|
||||
('preferred_regions', models.JSONField(blank=True, default=list)),
|
||||
('excluded_regions', models.JSONField(blank=True, default=list)),
|
||||
('hard_rules', models.JSONField(blank=True, default=apps.profiles.defaults.default_hard_rules)),
|
||||
('soft_preferences', models.JSONField(blank=True, default=apps.profiles.defaults.default_soft_preferences)),
|
||||
('weights', models.JSONField(blank=True, default=apps.profiles.defaults.default_weights)),
|
||||
('recommendation_threshold', models.PositiveSmallIntegerField(default=65)),
|
||||
('top_match_threshold', models.PositiveSmallIntegerField(default=90)),
|
||||
('digest_time', models.TimeField(default=datetime.time(7, 30))),
|
||||
('quiet_hours_start', models.TimeField(default=datetime.time(22, 0))),
|
||||
('quiet_hours_end', models.TimeField(default=datetime.time(7, 0))),
|
||||
('learning_enabled', models.BooleanField(default=True)),
|
||||
('version', models.PositiveIntegerField(default=1)),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
options={
|
||||
'ordering': ['-is_active', 'name'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ProfileRevision',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
('updated_at', models.DateTimeField(auto_now=True)),
|
||||
('version', models.PositiveIntegerField()),
|
||||
('snapshot', models.JSONField(default=dict)),
|
||||
('reason', models.CharField(blank=True, max_length=200)),
|
||||
('profile', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='revisions', to='profiles.searchprofile')),
|
||||
],
|
||||
options={
|
||||
'ordering': ['-version'],
|
||||
},
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='searchprofile',
|
||||
constraint=models.UniqueConstraint(fields=('user', 'name'), name='unique_profile_name_per_user'),
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='profilerevision',
|
||||
constraint=models.UniqueConstraint(fields=('profile', 'version'), name='unique_revision_version_per_profile'),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,18 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("profiles", "0001_initial"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="searchprofile",
|
||||
name="ai_scoring_enabled",
|
||||
field=models.BooleanField(default=False),
|
||||
)
|
||||
]
|
||||
@@ -0,0 +1,18 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("profiles", "0002_ai_scoring_enabled"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="searchprofile",
|
||||
name="learning_enabled",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,29 @@
|
||||
# Generated by Django 5.2.16 on 2026-07-21 00:00
|
||||
|
||||
import apps.profiles.defaults
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("profiles", "0003_learning_enabled_default_false"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="searchprofile",
|
||||
name="reminders_enabled",
|
||||
field=models.BooleanField(default=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="searchprofile",
|
||||
name="top_match_reminders_enabled",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="searchprofile",
|
||||
name="follow_up_weekdays",
|
||||
field=models.JSONField(default=apps.profiles.defaults.default_follow_up_weekdays, blank=True),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.2.16 on 2026-07-22 13:52
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('profiles', '0004_reminder_settings'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='searchprofile',
|
||||
name='experience_years',
|
||||
field=models.PositiveSmallIntegerField(choices=[(0, 'Niet ingesteld'), (1, 'Minder dan 2 jaar'), (3, '2 tot 4 jaar'), (5, '5 tot 7 jaar'), (8, '8 tot 9 jaar'), (10, '10 tot 14 jaar'), (15, '15 jaar of meer')], default=0),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,22 @@
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
def remove_seniority_weight(apps, schema_editor):
|
||||
search_profile = apps.get_model("profiles", "SearchProfile")
|
||||
for profile in search_profile.objects.all().iterator():
|
||||
weights = dict(profile.weights or {})
|
||||
if "seniority" not in weights:
|
||||
continue
|
||||
weights.pop("seniority", None)
|
||||
profile.weights = weights
|
||||
profile.save(update_fields=["weights"])
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("profiles", "0005_searchprofile_experience_years"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(remove_seniority_weight, migrations.RunPython.noop),
|
||||
]
|
||||
Whitespace-only changes.
Reference in new issue
Block a user