Bot functionsa mainly operational

This commit is contained in:
2024-12-07 09:09:07 +09:00
parent 1d99c6b57c
commit e1c2ddbdb9
17 changed files with 1048 additions and 60 deletions

View File

@@ -0,0 +1,26 @@
# Generated by Django 5.1.4 on 2024-12-06 13:41
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('hotels', '0003_alter_hotel_options_alter_userhotel_options_and_more'),
]
operations = [
migrations.CreateModel(
name='DataLog',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='Название')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')),
('data', models.JSONField(verbose_name='Данные')),
],
options={
'verbose_name': 'Лог данных',
'verbose_name_plural': 'Логи данных',
},
),
]

View File

@@ -0,0 +1,47 @@
# Generated by Django 5.1.4 on 2024-12-06 13:51
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('hotels', '0004_datalog'),
]
operations = [
migrations.CreateModel(
name='APIConfiguration',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='Название API')),
('url', models.URLField(verbose_name='URL API')),
('token', models.CharField(blank=True, max_length=255, null=True, verbose_name='Токен')),
('username', models.CharField(blank=True, max_length=255, null=True, verbose_name='Логин')),
('password', models.CharField(blank=True, max_length=255, null=True, verbose_name='Пароль')),
('last_updated', models.DateTimeField(auto_now=True, verbose_name='Дата последнего обновления')),
],
options={
'verbose_name': 'Конфигурация API',
'verbose_name_plural': 'Конфигурации API',
},
),
migrations.CreateModel(
name='APIRequestLog',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('request_time', models.DateTimeField(auto_now_add=True, verbose_name='Время запроса')),
('response_status', models.IntegerField(verbose_name='HTTP статус ответа')),
('response_data', models.JSONField(blank=True, null=True, verbose_name='Данные ответа')),
('api', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='hotels.apiconfiguration', verbose_name='API')),
],
options={
'verbose_name': 'Журнал запросов API',
'verbose_name_plural': 'Журналы запросов API',
},
),
migrations.DeleteModel(
name='DataLog',
),
]

View File

@@ -0,0 +1,45 @@
# Generated by Django 5.1.4 on 2024-12-06 14:09
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('hotels', '0005_apiconfiguration_apirequestlog_delete_datalog'),
]
operations = [
migrations.CreateModel(
name='PMSConfiguration',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='Название PMS')),
('parser_settings', models.JSONField(default=dict, verbose_name='Настройки разбора данных')),
('description', models.TextField(blank=True, null=True, verbose_name='Описание')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')),
],
options={
'verbose_name': 'PMS система',
'verbose_name_plural': 'PMS системы',
},
),
migrations.RemoveField(
model_name='hotel',
name='api_key',
),
migrations.RemoveField(
model_name='hotel',
name='pms_type',
),
migrations.RemoveField(
model_name='hotel',
name='public_key',
),
migrations.AddField(
model_name='hotel',
name='api',
field=models.OneToOneField(blank=True, help_text='API, связанный с этим отелем.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='hotels.apiconfiguration', verbose_name='API'),
),
]

View File

@@ -0,0 +1,28 @@
# Generated by Django 5.1.4 on 2024-12-06 23:02
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('hotels', '0006_pmsconfiguration_remove_hotel_api_key_and_more'),
]
operations = [
migrations.CreateModel(
name='PMSIntegrationLog',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('checked_at', models.DateTimeField(auto_now_add=True, verbose_name='Время проверки')),
('status', models.CharField(choices=[('success', 'Успех'), ('error', 'Ошибка')], max_length=50, verbose_name='Статус')),
('message', models.TextField(blank=True, null=True, verbose_name='Сообщение')),
('hotel', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='hotels.hotel', verbose_name='Отель')),
],
options={
'verbose_name': 'Журнал интеграции PMS',
'verbose_name_plural': 'Журналы интеграции PMS',
},
),
]

View File

@@ -0,0 +1,19 @@
# Generated by Django 5.1.4 on 2024-12-06 23:38
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('hotels', '0007_pmsintegrationlog'),
]
operations = [
migrations.AddField(
model_name='hotel',
name='pms',
field=models.OneToOneField(blank=True, help_text='PMS система? используемая в заведении', null=True, on_delete=django.db.models.deletion.SET_NULL, to='hotels.pmsconfiguration', verbose_name='PMS система'),
),
]

View File

@@ -0,0 +1,19 @@
# Generated by Django 5.1.4 on 2024-12-06 23:57
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('hotels', '0008_hotel_pms'),
]
operations = [
migrations.AlterField(
model_name='hotel',
name='pms',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='hotels.pmsconfiguration', verbose_name='PMS система'),
),
]

View File

@@ -0,0 +1,33 @@
# Generated by Django 5.1.4 on 2024-12-07 00:00
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('hotels', '0009_alter_hotel_pms'),
]
operations = [
migrations.AddIndex(
model_name='apirequestlog',
index=models.Index(fields=['api'], name='hotels_apir_api_id_686bb0_idx'),
),
migrations.AddIndex(
model_name='apirequestlog',
index=models.Index(fields=['request_time'], name='hotels_apir_request_f65147_idx'),
),
migrations.AddIndex(
model_name='pmsintegrationlog',
index=models.Index(fields=['hotel'], name='hotels_pmsi_hotel_i_718b32_idx'),
),
migrations.AddIndex(
model_name='pmsintegrationlog',
index=models.Index(fields=['checked_at'], name='hotels_pmsi_checked_e7768d_idx'),
),
migrations.AddIndex(
model_name='pmsintegrationlog',
index=models.Index(fields=['status'], name='hotels_pmsi_status_dbf1d8_idx'),
),
]