chore: chore

This commit is contained in:
2025-10-10 22:50:59 +00:00
parent 15afa8ea3a
commit 8e2d682eaa
41 changed files with 46580 additions and 0 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
2025.10.1

View File

@@ -0,0 +1 @@
{"pid": 68, "version": 1, "ha_version": "2025.10.1", "start_ts": 1760131418.3431208}

View File

@@ -0,0 +1,25 @@
{
"version": 1,
"minor_version": 2,
"key": "assist_pipeline.pipelines",
"data": {
"items": [
{
"conversation_engine": "conversation.home_assistant",
"conversation_language": "en",
"id": "01k77ytktwbfxqyj4n2cc6r5y1",
"language": "en",
"name": "Home Assistant",
"stt_engine": null,
"stt_language": null,
"tts_engine": null,
"tts_language": null,
"tts_voice": null,
"wake_word_entity": null,
"wake_word_id": null,
"prefer_local_intents": false
}
],
"preferred_item": "01k77ytktwbfxqyj4n2cc6r5y1"
}
}

View File

@@ -0,0 +1,92 @@
{
"version": 1,
"minor_version": 1,
"key": "auth",
"data": {
"users": [
{
"id": "1b99c63e120f476291762d89d78875b5",
"group_ids": [
"system-read-only"
],
"is_owner": false,
"is_active": true,
"name": "Home Assistant Content",
"system_generated": true,
"local_only": false
},
{
"id": "4b03cf29b3f74d56b19c617896ae2d68",
"group_ids": [
"system-admin"
],
"is_owner": true,
"is_active": true,
"name": "Sebastian Krüger",
"system_generated": false,
"local_only": false
}
],
"groups": [
{
"id": "system-admin",
"name": "Administrators"
},
{
"id": "system-users",
"name": "Users"
},
{
"id": "system-read-only",
"name": "Read Only"
}
],
"credentials": [
{
"id": "c0b432b59255475ebbe9cfa8a7f0f1e0",
"user_id": "4b03cf29b3f74d56b19c617896ae2d68",
"auth_provider_type": "homeassistant",
"auth_provider_id": null,
"data": {
"username": "valknar"
}
}
],
"refresh_tokens": [
{
"id": "1e7074e6578d45f08d6ad3b45d0eda7a",
"user_id": "1b99c63e120f476291762d89d78875b5",
"client_id": null,
"client_name": null,
"client_icon": null,
"token_type": "system",
"created_at": "2025-10-10T21:00:59.214554+00:00",
"access_token_expiration": 1800.0,
"token": "e2701ce7253e96761fedef69c50b76f97a333f2c58910f736434bcf91e556d70084850d858b78737a869c5ab9eb4ad4150a9beb34c5e782536c4c0ace0efe4f8",
"jwt_key": "2e32c84a2354790f9f45fb520042ead56bf3a1e09c2db69c6bdf4be7bd10fe4fd297ea2665cdb4b799b647feb58e3023d175ad3f93a90574772b4fd02cd8b04e",
"last_used_at": null,
"last_used_ip": null,
"expire_at": null,
"credential_id": null,
"version": "2025.10.1"
},
{
"id": "4f1064d50693485a8c9e4f41e4b1c880",
"user_id": "4b03cf29b3f74d56b19c617896ae2d68",
"client_id": "http://pivoine.art:8123/",
"client_name": null,
"client_icon": null,
"token_type": "normal",
"created_at": "2025-10-10T21:05:32.020541+00:00",
"access_token_expiration": 1800.0,
"token": "1bed4bf64ddb4b7da959665bb688302d48778e243705d0c5c760d7802dc91833a2cdf148de0dcda8f9ffa928a1bf232a14c716644d3251a8be86cf395595134f",
"jwt_key": "a6a08cd1f76ff4f57ebafe1284edbba6106424c64cb204030b5c602572e8416db1756d47a05b78e26b562c4e243e2344f8d69a44b2878b474f0b63e75bdab322",
"last_used_at": "2025-10-10T21:37:42.638607+00:00",
"last_used_ip": "172.18.0.1",
"expire_at": 1767908262.638607,
"credential_id": "c0b432b59255475ebbe9cfa8a7f0f1e0",
"version": "2025.10.1"
}
]
}
}

View File

@@ -0,0 +1,13 @@
{
"version": 1,
"minor_version": 1,
"key": "auth_provider.homeassistant",
"data": {
"users": [
{
"username": "valknar",
"password": "JDJiJDEyJGxpWjQ4Y29McHdqNjU1cUFVb2ZtQk9zczNPR0FFVGZUUEU2NHRqVklDTWFlMnd1Q3VpTkJH"
}
]
}
}

View File

@@ -0,0 +1,6 @@
{
"version": 1,
"minor_version": 1,
"key": "bluetooth.passive_update_processor",
"data": {}
}

View File

@@ -0,0 +1,10 @@
{
"version": 1,
"minor_version": 1,
"key": "core.analytics",
"data": {
"onboarded": true,
"preferences": {},
"uuid": null
}
}

View File

@@ -0,0 +1,48 @@
{
"version": 1,
"minor_version": 8,
"key": "core.area_registry",
"data": {
"areas": [
{
"aliases": [],
"floor_id": null,
"humidity_entity_id": null,
"icon": null,
"id": "wohnzimmer",
"labels": [],
"name": "Wohnzimmer",
"picture": null,
"temperature_entity_id": null,
"created_at": "2025-10-10T21:04:11.259930+00:00",
"modified_at": "2025-10-10T21:04:11.259932+00:00"
},
{
"aliases": [],
"floor_id": null,
"humidity_entity_id": null,
"icon": null,
"id": "kuche",
"labels": [],
"name": "Küche",
"picture": null,
"temperature_entity_id": null,
"created_at": "2025-10-10T21:04:11.260001+00:00",
"modified_at": "2025-10-10T21:04:11.260003+00:00"
},
{
"aliases": [],
"floor_id": null,
"humidity_entity_id": null,
"icon": null,
"id": "schlafzimmer",
"labels": [],
"name": "Schlafzimmer",
"picture": null,
"temperature_entity_id": null,
"created_at": "2025-10-10T21:04:11.260033+00:00",
"modified_at": "2025-10-10T21:04:11.260034+00:00"
}
]
}
}

View File

@@ -0,0 +1,19 @@
{
"version": 1,
"minor_version": 4,
"key": "core.config",
"data": {
"latitude": 52.3731339,
"longitude": 4.8903147,
"elevation": 0,
"unit_system_v2": "metric",
"location_name": "Home",
"time_zone": "Europe/Berlin",
"external_url": null,
"internal_url": null,
"currency": "EUR",
"country": "DE",
"language": "de",
"radius": 100
}
}

View File

@@ -0,0 +1,15 @@
{
"version": 1,
"minor_version": 5,
"key": "core.config_entries",
"data": {
"entries": [
{"created_at":"2025-10-10T21:01:00.563570+00:00","data":{},"disabled_by":null,"discovery_keys":{},"domain":"sun","entry_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0","minor_version":1,"modified_at":"2025-10-10T21:01:00.563573+00:00","options":{},"pref_disable_new_entities":false,"pref_disable_polling":false,"source":"import","subentries":[],"title":"Sun","unique_id":null,"version":1},
{"created_at":"2025-10-10T21:01:00.619012+00:00","data":{},"disabled_by":null,"discovery_keys":{},"domain":"backup","entry_id":"01K77YTMABSN4SVQG6M3PYTR1P","minor_version":1,"modified_at":"2025-10-10T21:01:00.619013+00:00","options":{},"pref_disable_new_entities":false,"pref_disable_polling":false,"source":"system","subentries":[],"title":"Backup","unique_id":null,"version":1},
{"created_at":"2025-10-10T21:04:32.025272+00:00","data":{},"disabled_by":null,"discovery_keys":{},"domain":"shopping_list","entry_id":"01K77Z12RS1SERWA726YSCG1VE","minor_version":1,"modified_at":"2025-10-10T21:04:32.025276+00:00","options":{},"pref_disable_new_entities":false,"pref_disable_polling":false,"source":"onboarding","subentries":[],"title":"Shopping list","unique_id":"shopping_list","version":1},
{"created_at":"2025-10-10T21:04:32.074200+00:00","data":{},"disabled_by":null,"discovery_keys":{},"domain":"radio_browser","entry_id":"01K77Z12TABXSN519N6BRRWESA","minor_version":1,"modified_at":"2025-10-10T21:04:32.074204+00:00","options":{},"pref_disable_new_entities":false,"pref_disable_polling":false,"source":"onboarding","subentries":[],"title":"Radio Browser","unique_id":null,"version":1},
{"created_at":"2025-10-10T21:04:32.077165+00:00","data":{"language":"en","tld":"com"},"disabled_by":null,"discovery_keys":{},"domain":"google_translate","entry_id":"01K77Z12TDTX9V9EQ4F35JB2DW","minor_version":1,"modified_at":"2025-10-10T21:04:32.077170+00:00","options":{},"pref_disable_new_entities":false,"pref_disable_polling":false,"source":"onboarding","subentries":[],"title":"Google Translate text-to-speech","unique_id":null,"version":1},
{"created_at":"2025-10-10T21:06:41.028909+00:00","data":{"broker":"mosquitto","port":1883},"disabled_by":null,"discovery_keys":{},"domain":"mqtt","entry_id":"01K77Z50R48FA5BXAPEXF1WX6P","minor_version":2,"modified_at":"2025-10-10T21:06:41.028915+00:00","options":{},"pref_disable_new_entities":false,"pref_disable_polling":false,"source":"user","subentries":[],"title":"mosquitto","unique_id":null,"version":1}
]
}
}

View File

@@ -0,0 +1,12 @@
{
"version": 1,
"minor_version": 12,
"key": "core.device_registry",
"data": {
"devices": [
{"area_id":null,"config_entries":["01K77YTM8KRMTJ4G0J9N3ZDPT0"],"config_entries_subentries":{"01K77YTM8KRMTJ4G0J9N3ZDPT0":[null]},"configuration_url":null,"connections":[],"created_at":"2025-10-10T21:01:00.564886+00:00","disabled_by":null,"entry_type":"service","hw_version":null,"id":"2aa4df979874e5eb833937be7f4b8800","identifiers":[["sun","01K77YTM8KRMTJ4G0J9N3ZDPT0"]],"labels":[],"manufacturer":null,"model":null,"model_id":null,"modified_at":"2025-10-10T21:01:00.564921+00:00","name_by_user":null,"name":"Sun","primary_config_entry":"01K77YTM8KRMTJ4G0J9N3ZDPT0","serial_number":null,"sw_version":null,"via_device_id":null},
{"area_id":null,"config_entries":["01K77YTMABSN4SVQG6M3PYTR1P"],"config_entries_subentries":{"01K77YTMABSN4SVQG6M3PYTR1P":[null]},"configuration_url":"homeassistant://config/backup","connections":[],"created_at":"2025-10-10T21:01:00.623504+00:00","disabled_by":null,"entry_type":"service","hw_version":null,"id":"7776e6b187a69d8d58349d758012a269","identifiers":[["backup","backup_manager"]],"labels":[],"manufacturer":"Home Assistant","model":"Home Assistant Backup","model_id":null,"modified_at":"2025-10-10T21:01:00.623533+00:00","name_by_user":null,"name":"Backup","primary_config_entry":"01K77YTMABSN4SVQG6M3PYTR1P","serial_number":null,"sw_version":"2025.10.1","via_device_id":null}
],
"deleted_devices": []
}
}

View File

@@ -0,0 +1,28 @@
{
"version": 1,
"minor_version": 19,
"key": "core.entity_registry",
"data": {
"entities": [
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.565034+00:00","device_class":null,"device_id":"2aa4df979874e5eb833937be7f4b8800","disabled_by":"integration","entity_category":"diagnostic","entity_id":"binary_sensor.sun_solar_rising","hidden_by":null,"icon":null,"id":"fb63ba66ccde194131a1c3541d5a09fe","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.460125+00:00","name":null,"options":{},"original_device_class":null,"original_icon":null,"original_name":"Solare Zunahme","platform":"sun","suggested_object_id":"sun_solar_rising","supported_features":0,"translation_key":"solar_rising","unique_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0-solar_rising","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.565389+00:00","device_class":null,"device_id":"2aa4df979874e5eb833937be7f4b8800","disabled_by":null,"entity_category":"diagnostic","entity_id":"sensor.sun_next_dawn","hidden_by":null,"icon":null,"id":"cf46a15f894a0f7756c9a7285ed511b4","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.460510+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":"timestamp","original_icon":null,"original_name":"Nächste Morgendämmerung","platform":"sun","suggested_object_id":"sun_next_dawn","supported_features":0,"translation_key":"next_dawn","unique_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0-next_dawn","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.565609+00:00","device_class":null,"device_id":"2aa4df979874e5eb833937be7f4b8800","disabled_by":null,"entity_category":"diagnostic","entity_id":"sensor.sun_next_dusk","hidden_by":null,"icon":null,"id":"f96d39300ca1177b6792906d7abfbb31","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.460703+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":"timestamp","original_icon":null,"original_name":"Nächste Abenddämmerung","platform":"sun","suggested_object_id":"sun_next_dusk","supported_features":0,"translation_key":"next_dusk","unique_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0-next_dusk","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.565732+00:00","device_class":null,"device_id":"2aa4df979874e5eb833937be7f4b8800","disabled_by":null,"entity_category":"diagnostic","entity_id":"sensor.sun_next_midnight","hidden_by":null,"icon":null,"id":"947ec73d341a567e042006d61e6a1f36","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.460827+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":"timestamp","original_icon":null,"original_name":"Nächste Mitternacht","platform":"sun","suggested_object_id":"sun_next_midnight","supported_features":0,"translation_key":"next_midnight","unique_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0-next_midnight","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.565817+00:00","device_class":null,"device_id":"2aa4df979874e5eb833937be7f4b8800","disabled_by":null,"entity_category":"diagnostic","entity_id":"sensor.sun_next_noon","hidden_by":null,"icon":null,"id":"6b25017471a10e47d303f80a28854427","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.460913+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":"timestamp","original_icon":null,"original_name":"Nächster Höchststand","platform":"sun","suggested_object_id":"sun_next_noon","supported_features":0,"translation_key":"next_noon","unique_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0-next_noon","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.565891+00:00","device_class":null,"device_id":"2aa4df979874e5eb833937be7f4b8800","disabled_by":null,"entity_category":"diagnostic","entity_id":"sensor.sun_next_rising","hidden_by":null,"icon":null,"id":"e286cf3937c0fa263297868bb452c63b","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.460981+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":"timestamp","original_icon":null,"original_name":"Nächster Aufgang","platform":"sun","suggested_object_id":"sun_next_rising","supported_features":0,"translation_key":"next_rising","unique_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0-next_rising","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.565964+00:00","device_class":null,"device_id":"2aa4df979874e5eb833937be7f4b8800","disabled_by":null,"entity_category":"diagnostic","entity_id":"sensor.sun_next_setting","hidden_by":null,"icon":null,"id":"8258cf749f5ab79ade9a8a58279246eb","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.461045+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":"timestamp","original_icon":null,"original_name":"Nächster Untergang","platform":"sun","suggested_object_id":"sun_next_setting","supported_features":0,"translation_key":"next_setting","unique_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0-next_setting","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":{"state_class":"measurement"},"config_entry_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.566033+00:00","device_class":null,"device_id":"2aa4df979874e5eb833937be7f4b8800","disabled_by":"integration","entity_category":"diagnostic","entity_id":"sensor.sun_solar_elevation","hidden_by":null,"icon":null,"id":"c19c6164176275ac83213f8cfeec5803","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.461108+00:00","name":null,"options":{},"original_device_class":null,"original_icon":null,"original_name":"Solare Elevation","platform":"sun","suggested_object_id":"sun_solar_elevation","supported_features":0,"translation_key":"solar_elevation","unique_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0-solar_elevation","previous_unique_id":null,"unit_of_measurement":"°"},
{"aliases":[],"area_id":null,"categories":{},"capabilities":{"state_class":"measurement"},"config_entry_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.566080+00:00","device_class":null,"device_id":"2aa4df979874e5eb833937be7f4b8800","disabled_by":"integration","entity_category":"diagnostic","entity_id":"sensor.sun_solar_azimuth","hidden_by":null,"icon":null,"id":"d8906f0e9f458f1b0f015135ea1f71da","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.461151+00:00","name":null,"options":{},"original_device_class":null,"original_icon":null,"original_name":"Solarer Azimut","platform":"sun","suggested_object_id":"sun_solar_azimuth","supported_features":0,"translation_key":"solar_azimuth","unique_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0-solar_azimuth","previous_unique_id":null,"unit_of_measurement":"°"},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.566120+00:00","device_class":null,"device_id":"2aa4df979874e5eb833937be7f4b8800","disabled_by":"integration","entity_category":"diagnostic","entity_id":"sensor.sun_solar_rising","hidden_by":null,"icon":null,"id":"c2575fa7f8232c91e36dfcc92e5ed2f0","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.461187+00:00","name":null,"options":{},"original_device_class":null,"original_icon":null,"original_name":"Solare Zunahme","platform":"sun","suggested_object_id":"sun_solar_rising","supported_features":0,"translation_key":"solar_rising","unique_id":"01K77YTM8KRMTJ4G0J9N3ZDPT0-solar_rising","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":{"event_types":["completed","failed","in_progress"]},"config_entry_id":"01K77YTMABSN4SVQG6M3PYTR1P","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.623619+00:00","device_class":null,"device_id":"7776e6b187a69d8d58349d758012a269","disabled_by":null,"entity_category":null,"entity_id":"event.backup_automatic_backup","hidden_by":null,"icon":null,"id":"ac8432828b5362ca963529601d259db2","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.614007+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":null,"original_icon":null,"original_name":"Automatisches Backup","platform":"backup","suggested_object_id":null,"supported_features":0,"translation_key":"automatic_backup_event","unique_id":"automatic_backup_event","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":{"options":["idle","create_backup","blocked","receive_backup","restore_backup"]},"config_entry_id":"01K77YTMABSN4SVQG6M3PYTR1P","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.624016+00:00","device_class":null,"device_id":"7776e6b187a69d8d58349d758012a269","disabled_by":null,"entity_category":null,"entity_id":"sensor.backup_backup_manager_state","hidden_by":null,"icon":null,"id":"ac57819832ce99ad840432158c2da2ab","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.614328+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":"enum","original_icon":null,"original_name":"Backup-Manager-Zustand","platform":"backup","suggested_object_id":null,"supported_features":0,"translation_key":"backup_manager_state","unique_id":"backup_manager_state","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77YTMABSN4SVQG6M3PYTR1P","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.624206+00:00","device_class":null,"device_id":"7776e6b187a69d8d58349d758012a269","disabled_by":null,"entity_category":null,"entity_id":"sensor.backup_next_scheduled_automatic_backup","hidden_by":null,"icon":null,"id":"6f9e80aa640fa3f3d9afd8d3d9ce127c","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.614456+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":"timestamp","original_icon":null,"original_name":"Nächstes geplantes automatisches Backup","platform":"backup","suggested_object_id":null,"supported_features":0,"translation_key":"next_scheduled_automatic_backup","unique_id":"next_scheduled_automatic_backup","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77YTMABSN4SVQG6M3PYTR1P","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.624333+00:00","device_class":null,"device_id":"7776e6b187a69d8d58349d758012a269","disabled_by":null,"entity_category":null,"entity_id":"sensor.backup_last_successful_automatic_backup","hidden_by":null,"icon":null,"id":"a40add32157e1135c18cde9a282f3451","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.614536+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":"timestamp","original_icon":null,"original_name":"Letztes erfolgreiches automatisches Backup","platform":"backup","suggested_object_id":null,"supported_features":0,"translation_key":"last_successful_automatic_backup","unique_id":"last_successful_automatic_backup","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77YTMABSN4SVQG6M3PYTR1P","config_subentry_id":null,"created_at":"2025-10-10T21:01:00.624451+00:00","device_class":null,"device_id":"7776e6b187a69d8d58349d758012a269","disabled_by":null,"entity_category":null,"entity_id":"sensor.backup_last_attempted_automatic_backup","hidden_by":null,"icon":null,"id":"0d57254f96520135497938814ce31f26","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:19:34.614607+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":"timestamp","original_icon":null,"original_name":"Letztes versuchtes automatisches Backup","platform":"backup","suggested_object_id":null,"supported_features":0,"translation_key":"last_attempted_automatic_backup","unique_id":"last_attempted_automatic_backup","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":null,"config_subentry_id":null,"created_at":"2025-10-10T21:04:11.257258+00:00","device_class":null,"device_id":null,"disabled_by":null,"entity_category":null,"entity_id":"person.sebastian_kruger","hidden_by":null,"icon":null,"id":"770c57687563c26e5861bfdcc0a0eec9","has_entity_name":false,"labels":[],"modified_at":"2025-10-10T21:04:11.257606+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":null,"original_icon":null,"original_name":"Sebastian Krüger","platform":"person","suggested_object_id":null,"supported_features":0,"translation_key":null,"unique_id":"sebastian_kruger","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77Z12RS1SERWA726YSCG1VE","config_subentry_id":null,"created_at":"2025-10-10T21:04:32.088409+00:00","device_class":null,"device_id":null,"disabled_by":null,"entity_category":null,"entity_id":"todo.einkaufsliste","hidden_by":null,"icon":null,"id":"d3ead34a2ef03ed9cbf995d7e37e30d5","has_entity_name":true,"labels":[],"modified_at":"2025-10-10T21:04:32.088636+00:00","name":null,"options":{"conversation":{"should_expose":true}},"original_device_class":null,"original_icon":null,"original_name":"Einkaufsliste","platform":"shopping_list","suggested_object_id":null,"supported_features":15,"translation_key":"shopping_list","unique_id":"01K77Z12RS1SERWA726YSCG1VE","previous_unique_id":null,"unit_of_measurement":null},
{"aliases":[],"area_id":null,"categories":{},"capabilities":null,"config_entry_id":"01K77Z12TDTX9V9EQ4F35JB2DW","config_subentry_id":null,"created_at":"2025-10-10T21:04:32.102558+00:00","device_class":null,"device_id":null,"disabled_by":null,"entity_category":null,"entity_id":"tts.google_translate_en_com","hidden_by":null,"icon":null,"id":"4e77ef94df356fd2093e1a2ed0d59a33","has_entity_name":false,"labels":[],"modified_at":"2025-10-10T21:04:32.102759+00:00","name":null,"options":{"conversation":{"should_expose":false}},"original_device_class":null,"original_icon":null,"original_name":"Google Translate en com","platform":"google_translate","suggested_object_id":null,"supported_features":0,"translation_key":null,"unique_id":"01K77Z12TDTX9V9EQ4F35JB2DW","previous_unique_id":null,"unit_of_measurement":null}
],
"deleted_entities": []
}
}

View File

@@ -0,0 +1,30 @@
{
"version": 1,
"minor_version": 1,
"key": "core.restore_state",
"data": [
{
"state": {"entity_id":"person.sebastian_kruger","state":"unknown","attributes":{"editable":true,"id":"sebastian_kruger","device_trackers":[],"user_id":"4b03cf29b3f74d56b19c617896ae2d68","friendly_name":"Sebastian Krüger"},"last_changed":"2025-10-10T21:23:38.838659+00:00","last_reported":"2025-10-10T21:23:39.386971+00:00","last_updated":"2025-10-10T21:23:39.386971+00:00","context":{"id":"01K780437TWY03HQGHZJSRSX4H","parent_id":null,"user_id":null}},
"extra_data": null,
"last_seen": "2025-10-10T22:38:39.391140+00:00"
},
{
"state": {"entity_id":"event.backup_automatic_backup","state":"unknown","attributes":{"event_types":["completed","failed","in_progress"],"event_type":null,"friendly_name":"Backup Automatisches Backup"},"last_changed":"2025-10-10T21:23:39.273791+00:00","last_reported":"2025-10-10T21:23:39.273791+00:00","last_updated":"2025-10-10T21:23:39.273791+00:00","context":{"id":"01K7804349YM1NTT366HCWJGZB","parent_id":null,"user_id":null}},
"extra_data": {
"last_event_type": null,
"last_event_attributes": null
},
"last_seen": "2025-10-10T22:38:39.391140+00:00"
},
{
"state": {"entity_id":"tts.google_translate_en_com","state":"unknown","attributes":{"friendly_name":"Google Translate en com"},"last_changed":"2025-10-10T21:23:39.276864+00:00","last_reported":"2025-10-10T21:23:39.276864+00:00","last_updated":"2025-10-10T21:23:39.276864+00:00","context":{"id":"01K780434CMY9P3MZ4YVS0FPMS","parent_id":null,"user_id":null}},
"extra_data": null,
"last_seen": "2025-10-10T22:38:39.391140+00:00"
},
{
"state": {"entity_id":"conversation.home_assistant","state":"unknown","attributes":{"friendly_name":"Home Assistant","supported_features":1},"last_changed":"2025-10-10T21:03:04.335255+00:00","last_reported":"2025-10-10T21:03:04.335255+00:00","last_updated":"2025-10-10T21:03:04.335255+00:00","context":{"id":"01K77YYD4FC07EJF986DV4JS8Y","parent_id":null,"user_id":null}},
"extra_data": null,
"last_seen": "2025-10-10T21:19:26.169962+00:00"
}
]
}

View File

@@ -0,0 +1,8 @@
{
"version": 1,
"minor_version": 1,
"key": "core.uuid",
"data": {
"uuid": "9462389259d8464980b29e33ce6f7d32"
}
}

View File

@@ -0,0 +1,31 @@
{
"version": 1,
"minor_version": 1,
"key": "homeassistant.exposed_entities",
"data": {
"assistants": {},
"exposed_entities": {
"conversation.home_assistant": {
"assistants": {
"conversation": {
"should_expose": false
}
}
},
"zone.home": {
"assistants": {
"conversation": {
"should_expose": false
}
}
},
"sun.sun": {
"assistants": {
"conversation": {
"should_expose": false
}
}
}
}
}
}

View File

@@ -0,0 +1,19 @@
{
"version": 1,
"minor_version": 1,
"key": "http",
"data": {
"login_attempts_threshold": -1,
"use_x_frame_options": true,
"server_host": [
"0.0.0.0",
"::"
],
"cors_allowed_origins": [
"https://cast.home-assistant.io"
],
"server_port": 8123,
"ip_ban_enabled": true,
"ssl_profile": "modern"
}
}

View File

@@ -0,0 +1,8 @@
{
"version": 1,
"minor_version": 1,
"key": "http.auth",
"data": {
"content_user": "1b99c63e120f476291762d89d78875b5"
}
}

View File

@@ -0,0 +1,12 @@
{
"version": 1,
"minor_version": 1,
"key": "lovelace.map",
"data": {
"config": {
"strategy": {
"type": "map"
}
}
}
}

View File

@@ -0,0 +1,18 @@
{
"version": 1,
"minor_version": 1,
"key": "lovelace_dashboards",
"data": {
"items": [
{
"id": "map",
"icon": "mdi:map",
"title": "Karte",
"url_path": "map",
"mode": "storage",
"show_in_sidebar": true,
"require_admin": false
}
]
}
}

View File

@@ -0,0 +1,13 @@
{
"version": 4,
"minor_version": 1,
"key": "onboarding",
"data": {
"done": [
"user",
"core_config",
"analytics",
"integration"
]
}
}

View File

@@ -0,0 +1,15 @@
{
"version": 2,
"minor_version": 1,
"key": "person",
"data": {
"items": [
{
"id": "sebastian_kruger",
"name": "Sebastian Krüger",
"user_id": "4b03cf29b3f74d56b19c617896ae2d68",
"device_trackers": []
}
]
}
}

View File

@@ -0,0 +1,8 @@
{
"version": 1,
"minor_version": 2,
"key": "repairs.issue_registry",
"data": {
"issues": []
}
}

View File

@@ -0,0 +1,6 @@
{
"version": 1,
"minor_version": 1,
"key": "trace.saved_traces",
"data": {}
}

View File

@@ -0,0 +1 @@
[]

View File

@@ -0,0 +1,58 @@
blueprint:
name: Motion-activated Light
description: Turn on a light when motion is detected.
domain: automation
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
author: Home Assistant
input:
motion_entity:
name: Motion Sensor
selector:
entity:
filter:
- device_class: occupancy
domain: binary_sensor
- device_class: motion
domain: binary_sensor
light_target:
name: Light
selector:
target:
entity:
domain: light
no_motion_wait:
name: Wait time
description: Time to leave the light on after last motion is detected.
default: 120
selector:
number:
min: 0
max: 3600
unit_of_measurement: seconds
# If motion is detected within the delay,
# we restart the script.
mode: restart
max_exceeded: silent
triggers:
trigger: state
entity_id: !input motion_entity
from: "off"
to: "on"
actions:
- alias: "Turn on the light"
action: light.turn_on
target: !input light_target
- alias: "Wait until there is no motion from device"
wait_for_trigger:
trigger: state
entity_id: !input motion_entity
from: "on"
to: "off"
- alias: "Wait the number of seconds that has been set"
delay: !input no_motion_wait
- alias: "Turn off the light"
action: light.turn_off
target: !input light_target

View File

@@ -0,0 +1,50 @@
blueprint:
name: Zone Notification
description: Send a notification to a device when a person leaves a specific zone.
domain: automation
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/notify_leaving_zone.yaml
author: Home Assistant
input:
person_entity:
name: Person
selector:
entity:
filter:
domain: person
zone_entity:
name: Zone
selector:
entity:
filter:
domain: zone
notify_device:
name: Device to notify
description: Device needs to run the official Home Assistant app to receive notifications.
selector:
device:
filter:
integration: mobile_app
triggers:
trigger: state
entity_id: !input person_entity
variables:
zone_entity: !input zone_entity
# This is the state of the person when it's in this zone.
zone_state: "{{ states[zone_entity].name }}"
person_entity: !input person_entity
person_name: "{{ states[person_entity].name }}"
conditions:
condition: template
# The first case handles leaving the Home zone which has a special state when zoning called 'home'.
# The second case handles leaving all other zones.
value_template: "{{ zone_entity == 'zone.home' and trigger.from_state.state == 'home' and trigger.to_state.state != 'home' or trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}"
actions:
- alias: "Notify that a person has left the zone"
domain: mobile_app
type: notify
device_id: !input notify_device
message: "{{ person_name }} has left {{ zone_state }}"

View File

@@ -0,0 +1,86 @@
blueprint:
name: Confirmable Notification
description: >-
A script that sends an actionable notification with a confirmation before
running the specified action.
domain: script
source_url: https://github.com/home-assistant/core/blob/master/homeassistant/components/script/blueprints/confirmable_notification.yaml
author: Home Assistant
input:
notify_device:
name: Device to notify
description: Device needs to run the official Home Assistant app to receive notifications.
selector:
device:
filter:
integration: mobile_app
title:
name: "Title"
description: "The title of the button shown in the notification."
default: ""
selector:
text:
message:
name: "Message"
description: "The message body"
selector:
text:
confirm_text:
name: "Confirmation Text"
description: "Text to show on the confirmation button"
default: "Confirm"
selector:
text:
confirm_action:
name: "Confirmation Action"
description: "Action to run when notification is confirmed"
default: []
selector:
action:
dismiss_text:
name: "Dismiss Text"
description: "Text to show on the dismiss button"
default: "Dismiss"
selector:
text:
dismiss_action:
name: "Dismiss Action"
description: "Action to run when notification is dismissed"
default: []
selector:
action:
mode: restart
sequence:
- alias: "Set up variables"
variables:
action_confirm: "{{ 'CONFIRM_' ~ context.id }}"
action_dismiss: "{{ 'DISMISS_' ~ context.id }}"
- alias: "Send notification"
domain: mobile_app
type: notify
device_id: !input notify_device
title: !input title
message: !input message
data:
actions:
- action: "{{ action_confirm }}"
title: !input confirm_text
- action: "{{ action_dismiss }}"
title: !input dismiss_text
- alias: "Awaiting response"
wait_for_trigger:
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_confirm }}"
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_dismiss }}"
- choose:
- conditions: "{{ wait.trigger.event.data.action == action_confirm }}"
sequence: !input confirm_action
- conditions: "{{ wait.trigger.event.data.action == action_dismiss }}"
sequence: !input dismiss_action

View File

View File

@@ -0,0 +1,4 @@
# Use this file to store secrets like usernames and passwords.
# Learn more at https://www.home-assistant.io/docs/configuration/secrets/
some_password: welcome

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,941 @@
--
-- PostgreSQL database dump
--
\restrict Q19dhbbwN4oYNryFn4zrNlLTpPxtKQLjkEUfbdNFT6l9nWN7aAGnyXdzk57SvJH
-- Dumped from database version 18.0 (Debian 18.0-1.pgdg13+3)
-- Dumped by pg_dump version 18.0 (Debian 18.0-1.pgdg13+3)
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET transaction_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
--
-- Name: CampaignStatus; Type: TYPE; Schema: public; Owner: valknar
--
CREATE TYPE public."CampaignStatus" AS ENUM (
'DRAFT',
'SCHEDULED',
'SENDING',
'COMPLETED',
'CANCELLED',
'CREATING'
);
ALTER TYPE public."CampaignStatus" OWNER TO valknar;
--
-- Name: MessageStatus; Type: TYPE; Schema: public; Owner: valknar
--
CREATE TYPE public."MessageStatus" AS ENUM (
'QUEUED',
'PENDING',
'SENT',
'OPENED',
'CLICKED',
'FAILED',
'RETRYING',
'CANCELLED'
);
ALTER TYPE public."MessageStatus" OWNER TO valknar;
--
-- Name: SmtpEncryption; Type: TYPE; Schema: public; Owner: valknar
--
CREATE TYPE public."SmtpEncryption" AS ENUM (
'STARTTLS',
'SSL_TLS',
'NONE'
);
ALTER TYPE public."SmtpEncryption" OWNER TO valknar;
SET default_tablespace = '';
SET default_table_access_method = heap;
--
-- Name: ApiKey; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."ApiKey" (
id text NOT NULL,
name text NOT NULL,
key text NOT NULL,
"lastUsed" timestamp(3) without time zone,
"expiresAt" timestamp(3) without time zone,
"organizationId" text NOT NULL,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."ApiKey" OWNER TO valknar;
--
-- Name: Campaign; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."Campaign" (
id text NOT NULL,
title text NOT NULL,
description text,
subject text,
content text,
"completedAt" timestamp(3) without time zone,
status public."CampaignStatus" DEFAULT 'DRAFT'::public."CampaignStatus" NOT NULL,
"scheduledAt" timestamp(3) without time zone,
"htmlOnly" boolean DEFAULT false NOT NULL,
"openTracking" boolean DEFAULT true NOT NULL,
"organizationId" text NOT NULL,
"templateId" text,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL,
"unsubscribedCount" integer DEFAULT 0 NOT NULL
);
ALTER TABLE public."Campaign" OWNER TO valknar;
--
-- Name: CampaignList; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."CampaignList" (
"campaignId" text NOT NULL,
"listId" text NOT NULL
);
ALTER TABLE public."CampaignList" OWNER TO valknar;
--
-- Name: Click; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."Click" (
id text NOT NULL,
"trackedLinkId" text,
"subscriberId" text,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."Click" OWNER TO valknar;
--
-- Name: EmailDeliverySettings; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."EmailDeliverySettings" (
id text NOT NULL,
"rateLimit" integer DEFAULT 100 NOT NULL,
"rateWindow" integer DEFAULT 3600 NOT NULL,
"maxRetries" integer DEFAULT 3 NOT NULL,
"retryDelay" integer DEFAULT 300 NOT NULL,
concurrency integer DEFAULT 5 NOT NULL,
"connectionTimeout" integer DEFAULT 30000 NOT NULL,
"organizationId" text NOT NULL,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."EmailDeliverySettings" OWNER TO valknar;
--
-- Name: GeneralSettings; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."GeneralSettings" (
id text NOT NULL,
"defaultFromEmail" text,
"defaultFromName" text,
"baseURL" text,
"organizationId" text NOT NULL,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL,
"cleanupInterval" integer DEFAULT 90 NOT NULL
);
ALTER TABLE public."GeneralSettings" OWNER TO valknar;
--
-- Name: List; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."List" (
id text NOT NULL,
name text NOT NULL,
description text,
"organizationId" text NOT NULL,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."List" OWNER TO valknar;
--
-- Name: ListSubscriber; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."ListSubscriber" (
id text NOT NULL,
"unsubscribedAt" timestamp(3) without time zone,
"listId" text NOT NULL,
"subscriberId" text NOT NULL,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."ListSubscriber" OWNER TO valknar;
--
-- Name: Message; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."Message" (
id text NOT NULL,
content text,
status public."MessageStatus" DEFAULT 'QUEUED'::public."MessageStatus" NOT NULL,
"sentAt" timestamp(3) without time zone,
tries integer DEFAULT 0 NOT NULL,
"lastTriedAt" timestamp(3) without time zone,
"messageId" text,
"subscriberId" text NOT NULL,
"campaignId" text NOT NULL,
error text,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."Message" OWNER TO valknar;
--
-- Name: Organization; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."Organization" (
id text NOT NULL,
name text NOT NULL,
description text,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."Organization" OWNER TO valknar;
--
-- Name: SmtpSettings; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."SmtpSettings" (
id text NOT NULL,
host text NOT NULL,
port integer NOT NULL,
username text NOT NULL,
password text NOT NULL,
"fromEmail" text,
"fromName" text,
secure boolean DEFAULT true NOT NULL,
encryption public."SmtpEncryption" DEFAULT 'STARTTLS'::public."SmtpEncryption" NOT NULL,
timeout integer DEFAULT 30000 NOT NULL,
"organizationId" text NOT NULL,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."SmtpSettings" OWNER TO valknar;
--
-- Name: Subscriber; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."Subscriber" (
id text NOT NULL,
name text,
email text NOT NULL,
"organizationId" text NOT NULL,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL,
"emailVerificationToken" text,
"emailVerificationTokenExpiresAt" timestamp(3) without time zone,
"emailVerified" boolean DEFAULT false NOT NULL
);
ALTER TABLE public."Subscriber" OWNER TO valknar;
--
-- Name: SubscriberMetadata; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."SubscriberMetadata" (
id text NOT NULL,
key text NOT NULL,
value text NOT NULL,
"subscriberId" text NOT NULL,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."SubscriberMetadata" OWNER TO valknar;
--
-- Name: Template; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."Template" (
id text NOT NULL,
name text NOT NULL,
description text,
content text NOT NULL,
"organizationId" text NOT NULL,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."Template" OWNER TO valknar;
--
-- Name: TrackedLink; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."TrackedLink" (
id text NOT NULL,
url text NOT NULL,
"campaignId" text,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."TrackedLink" OWNER TO valknar;
--
-- Name: User; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."User" (
id text NOT NULL,
name text NOT NULL,
email text NOT NULL,
password text NOT NULL,
"pwdVersion" integer DEFAULT 1 NOT NULL,
"createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"updatedAt" timestamp(3) without time zone NOT NULL
);
ALTER TABLE public."User" OWNER TO valknar;
--
-- Name: UserOrganization; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public."UserOrganization" (
"userId" text NOT NULL,
"organizationId" text NOT NULL
);
ALTER TABLE public."UserOrganization" OWNER TO valknar;
--
-- Name: _prisma_migrations; Type: TABLE; Schema: public; Owner: valknar
--
CREATE TABLE public._prisma_migrations (
id character varying(36) NOT NULL,
checksum character varying(64) NOT NULL,
finished_at timestamp with time zone,
migration_name character varying(255) NOT NULL,
logs text,
rolled_back_at timestamp with time zone,
started_at timestamp with time zone DEFAULT now() NOT NULL,
applied_steps_count integer DEFAULT 0 NOT NULL
);
ALTER TABLE public._prisma_migrations OWNER TO valknar;
--
-- Data for Name: ApiKey; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."ApiKey" (id, name, key, "lastUsed", "expiresAt", "organizationId", "createdAt", "updatedAt") FROM stdin;
0b0d4b01-7370-4927-a324-86ec16496f9e SexyArt sk_47861a02d7d5aaaf35fd74a6eb5a16037d3ab16f6838fcba814ec22d6405f34a 2025-10-06 09:11:01.919 \N 57aabb52-5e06-40d2-9d59-ca31c5521bea 2025-10-06 08:57:53.281 2025-10-06 09:11:01.922
\.
--
-- Data for Name: Campaign; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."Campaign" (id, title, description, subject, content, "completedAt", status, "scheduledAt", "htmlOnly", "openTracking", "organizationId", "templateId", "createdAt", "updatedAt", "unsubscribedCount") FROM stdin;
\.
--
-- Data for Name: CampaignList; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."CampaignList" ("campaignId", "listId") FROM stdin;
\.
--
-- Data for Name: Click; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."Click" (id, "trackedLinkId", "subscriberId", "createdAt", "updatedAt") FROM stdin;
\.
--
-- Data for Name: EmailDeliverySettings; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."EmailDeliverySettings" (id, "rateLimit", "rateWindow", "maxRetries", "retryDelay", concurrency, "connectionTimeout", "organizationId", "createdAt", "updatedAt") FROM stdin;
7e1c82a2-03fc-467f-8829-4d97dcd4b5db 100 3600 3 300 5 30000 57aabb52-5e06-40d2-9d59-ca31c5521bea 2025-10-05 07:12:48.226 2025-10-05 07:12:48.226
\.
--
-- Data for Name: GeneralSettings; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."GeneralSettings" (id, "defaultFromEmail", "defaultFromName", "baseURL", "organizationId", "createdAt", "updatedAt", "cleanupInterval") FROM stdin;
d79fc690-e19c-446f-a24b-a6d41284c4b4 hi@pivoine.art Pivoine.Art https://news.pivoine.art 57aabb52-5e06-40d2-9d59-ca31c5521bea 2025-10-05 07:12:48.226 2025-10-05 07:19:10.954 90
\.
--
-- Data for Name: List; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."List" (id, name, description, "organizationId", "createdAt", "updatedAt") FROM stdin;
f761303e-eaf5-47ba-ad27-702253255e45 SexyArt 57aabb52-5e06-40d2-9d59-ca31c5521bea 2025-10-05 07:13:21.777 2025-10-06 08:38:01.123
\.
--
-- Data for Name: ListSubscriber; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."ListSubscriber" (id, "unsubscribedAt", "listId", "subscriberId", "createdAt", "updatedAt") FROM stdin;
\.
--
-- Data for Name: Message; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."Message" (id, content, status, "sentAt", tries, "lastTriedAt", "messageId", "subscriberId", "campaignId", error, "createdAt", "updatedAt") FROM stdin;
\.
--
-- Data for Name: Organization; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."Organization" (id, name, description, "createdAt", "updatedAt") FROM stdin;
57aabb52-5e06-40d2-9d59-ca31c5521bea Pivoine.Art 2025-10-05 07:12:48.226 2025-10-05 07:12:48.226
\.
--
-- Data for Name: SmtpSettings; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."SmtpSettings" (id, host, port, username, password, "fromEmail", "fromName", secure, encryption, timeout, "organizationId", "createdAt", "updatedAt") FROM stdin;
8915a092-6392-4d45-932a-e85416767031 smtp.ionos.de 465 hi@pivoine.art jaquoment hi@pivoine.art Pivoine.Art t SSL_TLS 30000 57aabb52-5e06-40d2-9d59-ca31c5521bea 2025-10-05 07:15:13.588 2025-10-05 07:15:13.588
\.
--
-- Data for Name: Subscriber; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."Subscriber" (id, name, email, "organizationId", "createdAt", "updatedAt", "emailVerificationToken", "emailVerificationTokenExpiresAt", "emailVerified") FROM stdin;
\.
--
-- Data for Name: SubscriberMetadata; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."SubscriberMetadata" (id, key, value, "subscriberId", "createdAt", "updatedAt") FROM stdin;
\.
--
-- Data for Name: Template; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."Template" (id, name, description, content, "organizationId", "createdAt", "updatedAt") FROM stdin;
2a52a963-e09d-401b-b46f-5546ab34dd91 Newsletter \N <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n<html dir="ltr" lang="en">\n <head>\n <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />\n <meta name="x-apple-disable-message-reformatting" />\n <title>Dev Blog Weekly</title>\n <div\n style="\n display: none;\n overflow: hidden;\n line-height: 1px;\n opacity: 0;\n max-height: 0;\n max-width: 0;\n "\n ></div>\n </head>\n <body\n style="\n background-color: rgb(21, 21, 22);\n font-family: ui-sans-serif, system-ui, sans-serif,\n &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;,\n &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;;\n padding-top: 40px;\n padding-bottom: 40px;\n "\n >\n <!--$-->\n <table\n align="center"\n width="100%"\n border="0"\n cellpadding="0"\n cellspacing="0"\n role="presentation"\n style="\n background-color: rgb(0, 0, 0);\n border-radius: 8px;\n margin-left: auto;\n margin-right: auto;\n padding: 24px;\n max-width: 600px;\n "\n >\n <tbody>\n <tr style="width: 100%">\n <td>\n <div style="color: rgb(229, 231, 235); font-size: 16px">\n {{content}}\n </div>\n <hr\n style="\n border-width: 1px;\n border-color: rgb(51, 51, 51);\n margin-top: 32px;\n margin-bottom: 32px;\n width: 100%;\n border: none;\n border-top: 1px solid #eaeaea;\n "\n />\n <p\n style="\n font-size: 14px;\n color: rgb(153, 153, 153);\n margin: 0px;\n line-height: 24px;\n margin-bottom: 0px;\n margin-top: 0px;\n margin-left: 0px;\n margin-right: 0px;\n "\n >\n © 2025 Dev Blog Weekly. All rights reserved.\n </p>\n <p\n style="\n font-size: 14px;\n color: rgb(153, 153, 153);\n margin: 0px;\n line-height: 24px;\n margin-bottom: 0px;\n margin-top: 0px;\n margin-left: 0px;\n margin-right: 0px;\n "\n >\n 123 Coding Street, Developer City, DC 12345\n </p>\n <p\n style="\n font-size: 14px;\n color: rgb(153, 153, 153);\n margin-top: 8px;\n line-height: 24px;\n margin-bottom: 16px;\n "\n >\n <a\n href="{{unsubscribe_link}}"\n style="color: rgb(77, 33, 252); text-decoration-line: none"\n target="_blank"\n >Unsubscribe</a\n >\n <!-- -->•<!-- -->\n <a\n href="#"\n style="color: rgb(77, 33, 252); text-decoration-line: none"\n target="_blank"\n >Update preferences</a\n >\n </p>\n </td>\n </tr>\n </tbody>\n </table>\n <!--7--><!--/$-->\n </body>\n</html>\n 57aabb52-5e06-40d2-9d59-ca31c5521bea 2025-10-05 07:12:48.226 2025-10-05 07:12:48.226
\.
--
-- Data for Name: TrackedLink; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."TrackedLink" (id, url, "campaignId", "createdAt", "updatedAt") FROM stdin;
\.
--
-- Data for Name: User; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."User" (id, name, email, password, "pwdVersion", "createdAt", "updatedAt") FROM stdin;
f6d94886-904e-48c8-b772-425b650a229e Sebastian Krüger valknar@pivoine.art $2b$10$mjiTbDrFI5yE7Fexk9wVb.NNkMDFM4aymHVZ1TqJO6FESK8NrNf3. 1 2025-10-05 07:12:34.595 2025-10-05 07:12:34.595
\.
--
-- Data for Name: UserOrganization; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public."UserOrganization" ("userId", "organizationId") FROM stdin;
f6d94886-904e-48c8-b772-425b650a229e 57aabb52-5e06-40d2-9d59-ca31c5521bea
\.
--
-- Data for Name: _prisma_migrations; Type: TABLE DATA; Schema: public; Owner: valknar
--
COPY public._prisma_migrations (id, checksum, finished_at, migration_name, logs, rolled_back_at, started_at, applied_steps_count) FROM stdin;
74b96b30-77e3-4771-a064-d1369c72074c a2a612dfce1dfc5220b941204e2068832d3c38b0552d1182ccde2c8e7f908230 2025-10-03 08:17:32.565718+00 20250504151654_init \N \N 2025-10-03 08:17:32.545022+00 1
d1537ac9-ed76-4446-9fa9-2a5b4b59866f e7789b6bf9523d900e1dd1f614e70ceec868128b084124894dbd944e73b7d0d8 2025-10-03 08:17:32.56996+00 20250507150657_double_opt_in \N \N 2025-10-03 08:17:32.566269+00 1
6ca89757-a175-4987-b295-2581a1ea81c4 c2c38fe78d47216874c77543476446b013d772062249ab4763fe42a8bdb83ea2 2025-10-03 08:17:32.572027+00 20250507232701_unsubscribe_count_per_campaign \N \N 2025-10-03 08:17:32.570439+00 1
4682b366-5a10-48c5-8aec-a15dee6bbd3b d993ce09c2bd647b65d9f19c4c2eea8f16451b634dea65493efbb83c92562ab5 2025-10-03 08:17:32.573817+00 20250508171024_creating_state_for_campaign \N \N 2025-10-03 08:17:32.572501+00 1
dd62b0d6-d027-47f7-b545-116a1b956ef7 11c64e17a30a97662b5a10222855aa14a29d5613fd1c9dd37cb0cb5daf485186 2025-10-03 08:17:32.575801+00 20250509113341_cleanup_interval_to_90_days \N \N 2025-10-03 08:17:32.574261+00 1
7c7c5b1e-b91b-463f-821b-631d24e2f4b0 ce7abb520886218aad4a04a20d0ffcc489e2a66cb34afc4c513a70bb75483cef 2025-10-03 08:17:32.578146+00 20250516125759_indexed_updated_for_message \N \N 2025-10-03 08:17:32.576243+00 1
1af5b144-b4e7-4f0c-bc16-fd0b071c78f5 bba70e366bf67d6b9dffa8e866741f53eeb6e884809d7738455e9c4d0c83ac4d 2025-10-03 08:17:32.580392+00 20250530052056_message_status_update \N \N 2025-10-03 08:17:32.578737+00 1
\.
--
-- Name: ApiKey ApiKey_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."ApiKey"
ADD CONSTRAINT "ApiKey_pkey" PRIMARY KEY (id);
--
-- Name: CampaignList CampaignList_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."CampaignList"
ADD CONSTRAINT "CampaignList_pkey" PRIMARY KEY ("campaignId", "listId");
--
-- Name: Campaign Campaign_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Campaign"
ADD CONSTRAINT "Campaign_pkey" PRIMARY KEY (id);
--
-- Name: Click Click_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Click"
ADD CONSTRAINT "Click_pkey" PRIMARY KEY (id);
--
-- Name: EmailDeliverySettings EmailDeliverySettings_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."EmailDeliverySettings"
ADD CONSTRAINT "EmailDeliverySettings_pkey" PRIMARY KEY (id);
--
-- Name: GeneralSettings GeneralSettings_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."GeneralSettings"
ADD CONSTRAINT "GeneralSettings_pkey" PRIMARY KEY (id);
--
-- Name: ListSubscriber ListSubscriber_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."ListSubscriber"
ADD CONSTRAINT "ListSubscriber_pkey" PRIMARY KEY (id);
--
-- Name: List List_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."List"
ADD CONSTRAINT "List_pkey" PRIMARY KEY (id);
--
-- Name: Message Message_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Message"
ADD CONSTRAINT "Message_pkey" PRIMARY KEY (id);
--
-- Name: Organization Organization_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Organization"
ADD CONSTRAINT "Organization_pkey" PRIMARY KEY (id);
--
-- Name: SmtpSettings SmtpSettings_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."SmtpSettings"
ADD CONSTRAINT "SmtpSettings_pkey" PRIMARY KEY (id);
--
-- Name: SubscriberMetadata SubscriberMetadata_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."SubscriberMetadata"
ADD CONSTRAINT "SubscriberMetadata_pkey" PRIMARY KEY (id);
--
-- Name: Subscriber Subscriber_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Subscriber"
ADD CONSTRAINT "Subscriber_pkey" PRIMARY KEY (id);
--
-- Name: Template Template_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Template"
ADD CONSTRAINT "Template_pkey" PRIMARY KEY (id);
--
-- Name: TrackedLink TrackedLink_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."TrackedLink"
ADD CONSTRAINT "TrackedLink_pkey" PRIMARY KEY (id);
--
-- Name: UserOrganization UserOrganization_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."UserOrganization"
ADD CONSTRAINT "UserOrganization_pkey" PRIMARY KEY ("userId", "organizationId");
--
-- Name: User User_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."User"
ADD CONSTRAINT "User_pkey" PRIMARY KEY (id);
--
-- Name: _prisma_migrations _prisma_migrations_pkey; Type: CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public._prisma_migrations
ADD CONSTRAINT _prisma_migrations_pkey PRIMARY KEY (id);
--
-- Name: ApiKey_key_key; Type: INDEX; Schema: public; Owner: valknar
--
CREATE UNIQUE INDEX "ApiKey_key_key" ON public."ApiKey" USING btree (key);
--
-- Name: EmailDeliverySettings_organizationId_key; Type: INDEX; Schema: public; Owner: valknar
--
CREATE UNIQUE INDEX "EmailDeliverySettings_organizationId_key" ON public."EmailDeliverySettings" USING btree ("organizationId");
--
-- Name: GeneralSettings_organizationId_key; Type: INDEX; Schema: public; Owner: valknar
--
CREATE UNIQUE INDEX "GeneralSettings_organizationId_key" ON public."GeneralSettings" USING btree ("organizationId");
--
-- Name: ListSubscriber_listId_subscriberId_key; Type: INDEX; Schema: public; Owner: valknar
--
CREATE UNIQUE INDEX "ListSubscriber_listId_subscriberId_key" ON public."ListSubscriber" USING btree ("listId", "subscriberId");
--
-- Name: Message_updatedAt_id_idx; Type: INDEX; Schema: public; Owner: valknar
--
CREATE INDEX "Message_updatedAt_id_idx" ON public."Message" USING btree ("updatedAt", id);
--
-- Name: SubscriberMetadata_subscriberId_key_key; Type: INDEX; Schema: public; Owner: valknar
--
CREATE UNIQUE INDEX "SubscriberMetadata_subscriberId_key_key" ON public."SubscriberMetadata" USING btree ("subscriberId", key);
--
-- Name: Subscriber_createdAt_id_idx; Type: INDEX; Schema: public; Owner: valknar
--
CREATE INDEX "Subscriber_createdAt_id_idx" ON public."Subscriber" USING btree ("createdAt", id);
--
-- Name: Subscriber_emailVerificationToken_key; Type: INDEX; Schema: public; Owner: valknar
--
CREATE UNIQUE INDEX "Subscriber_emailVerificationToken_key" ON public."Subscriber" USING btree ("emailVerificationToken");
--
-- Name: Subscriber_organizationId_email_key; Type: INDEX; Schema: public; Owner: valknar
--
CREATE UNIQUE INDEX "Subscriber_organizationId_email_key" ON public."Subscriber" USING btree ("organizationId", email);
--
-- Name: TrackedLink_url_campaignId_key; Type: INDEX; Schema: public; Owner: valknar
--
CREATE UNIQUE INDEX "TrackedLink_url_campaignId_key" ON public."TrackedLink" USING btree (url, "campaignId");
--
-- Name: User_email_key; Type: INDEX; Schema: public; Owner: valknar
--
CREATE UNIQUE INDEX "User_email_key" ON public."User" USING btree (email);
--
-- Name: ApiKey ApiKey_organizationId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."ApiKey"
ADD CONSTRAINT "ApiKey_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES public."Organization"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: CampaignList CampaignList_campaignId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."CampaignList"
ADD CONSTRAINT "CampaignList_campaignId_fkey" FOREIGN KEY ("campaignId") REFERENCES public."Campaign"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: CampaignList CampaignList_listId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."CampaignList"
ADD CONSTRAINT "CampaignList_listId_fkey" FOREIGN KEY ("listId") REFERENCES public."List"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: Campaign Campaign_organizationId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Campaign"
ADD CONSTRAINT "Campaign_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES public."Organization"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: Campaign Campaign_templateId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Campaign"
ADD CONSTRAINT "Campaign_templateId_fkey" FOREIGN KEY ("templateId") REFERENCES public."Template"(id) ON UPDATE CASCADE ON DELETE SET NULL;
--
-- Name: Click Click_subscriberId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Click"
ADD CONSTRAINT "Click_subscriberId_fkey" FOREIGN KEY ("subscriberId") REFERENCES public."Subscriber"(id) ON UPDATE CASCADE ON DELETE SET NULL;
--
-- Name: Click Click_trackedLinkId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Click"
ADD CONSTRAINT "Click_trackedLinkId_fkey" FOREIGN KEY ("trackedLinkId") REFERENCES public."TrackedLink"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: EmailDeliverySettings EmailDeliverySettings_organizationId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."EmailDeliverySettings"
ADD CONSTRAINT "EmailDeliverySettings_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES public."Organization"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: GeneralSettings GeneralSettings_organizationId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."GeneralSettings"
ADD CONSTRAINT "GeneralSettings_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES public."Organization"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: ListSubscriber ListSubscriber_listId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."ListSubscriber"
ADD CONSTRAINT "ListSubscriber_listId_fkey" FOREIGN KEY ("listId") REFERENCES public."List"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: ListSubscriber ListSubscriber_subscriberId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."ListSubscriber"
ADD CONSTRAINT "ListSubscriber_subscriberId_fkey" FOREIGN KEY ("subscriberId") REFERENCES public."Subscriber"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: List List_organizationId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."List"
ADD CONSTRAINT "List_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES public."Organization"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: Message Message_campaignId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Message"
ADD CONSTRAINT "Message_campaignId_fkey" FOREIGN KEY ("campaignId") REFERENCES public."Campaign"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: Message Message_subscriberId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Message"
ADD CONSTRAINT "Message_subscriberId_fkey" FOREIGN KEY ("subscriberId") REFERENCES public."Subscriber"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: SmtpSettings SmtpSettings_organizationId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."SmtpSettings"
ADD CONSTRAINT "SmtpSettings_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES public."Organization"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: SubscriberMetadata SubscriberMetadata_subscriberId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."SubscriberMetadata"
ADD CONSTRAINT "SubscriberMetadata_subscriberId_fkey" FOREIGN KEY ("subscriberId") REFERENCES public."Subscriber"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: Subscriber Subscriber_organizationId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Subscriber"
ADD CONSTRAINT "Subscriber_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES public."Organization"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: Template Template_organizationId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."Template"
ADD CONSTRAINT "Template_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES public."Organization"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: TrackedLink TrackedLink_campaignId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."TrackedLink"
ADD CONSTRAINT "TrackedLink_campaignId_fkey" FOREIGN KEY ("campaignId") REFERENCES public."Campaign"(id) ON UPDATE CASCADE ON DELETE SET NULL;
--
-- Name: UserOrganization UserOrganization_organizationId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."UserOrganization"
ADD CONSTRAINT "UserOrganization_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES public."Organization"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: UserOrganization UserOrganization_userId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: valknar
--
ALTER TABLE ONLY public."UserOrganization"
ADD CONSTRAINT "UserOrganization_userId_fkey" FOREIGN KEY ("userId") REFERENCES public."User"(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- PostgreSQL database dump complete
--
\unrestrict Q19dhbbwN4oYNryFn4zrNlLTpPxtKQLjkEUfbdNFT6l9nWN7aAGnyXdzk57SvJH

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff