refactor: WIP datetime instead of date + times

This commit is contained in:
Max Hohlfeld 2025-05-04 15:13:16 +02:00
parent e369178d98
commit 3a66ef0340
70 changed files with 235 additions and 2959 deletions

View File

@ -1,52 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT * FROM availabillity WHERE id = $1",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "userid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "date",
"type_info": "Date"
},
{
"ordinal": 3,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 4,
"name": "endtime",
"type_info": "Time"
},
{
"ordinal": 5,
"name": "comment",
"type_info": "Text"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false,
true,
true,
true
]
},
"hash": "0342272c9798389c37e229018e30bed399723ca0dba70438ba519d3ee7dad01b"
}

View File

@ -1,28 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT * FROM area WHERE id = $1",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false
]
},
"hash": "0a5318ab6466385e805f83e13cc0797146a27d523ad5ffab1828806fb2935af9"
}

View File

@ -1,57 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n INSERT INTO user_ (name, email, password, salt, role, function, areaId)\n VALUES ($1, $2, $3, $4, $5, $6, $7)\n RETURNING id;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Text",
"Text",
"Text",
"Text",
{
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
},
{
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
},
"Int4"
]
},
"nullable": [
false
]
},
"hash": "0eafc423ff404eadb5300ad47e5b81d5f3be1fb0c1723600b6f9bbe73b1e8155"
}

View File

@ -1,40 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT * FROM vehicleAssignement WHERE vehicleAssignement.eventId = $1;",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "eventid",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "vehicleid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 3,
"name": "endtime",
"type_info": "Time"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false,
false
]
},
"hash": "126a17ad3fe8937dfbf70e9a8c2bd7aee56eb35fdff0d0e47037b9af3e08b34f"
}

View File

@ -1,28 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT token, userId FROM registration WHERE token = $1 AND expires > NOW();",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token",
"type_info": "Text"
},
{
"ordinal": 1,
"name": "userid",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Text"
]
},
"nullable": [
false,
false
]
},
"hash": "1452258f916025c6367477e11a442360d2f6211d3f47b465c0024994006e0c08"
}

View File

@ -1,142 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n availabillity.id,\n availabillity.userId,\n availabillity.date,\n availabillity.startTime,\n availabillity.endTime,\n availabillity.comment,\n user_.name,\n user_.email,\n user_.password,\n user_.salt,\n user_.role AS \"role: Role\",\n user_.function AS \"function: UserFunction\",\n user_.areaId,\n user_.locked,\n user_.lastLogin,\n user_.receiveNotifications\n FROM availabillity\n JOIN user_ ON availabillity.userId = user_.id\n WHERE availabillity.date = $1\n AND user_.areaId = $2;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "userid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "date",
"type_info": "Date"
},
{
"ordinal": 3,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 4,
"name": "endtime",
"type_info": "Time"
},
{
"ordinal": 5,
"name": "comment",
"type_info": "Text"
},
{
"ordinal": 6,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 7,
"name": "email",
"type_info": "Text"
},
{
"ordinal": 8,
"name": "password",
"type_info": "Text"
},
{
"ordinal": 9,
"name": "salt",
"type_info": "Text"
},
{
"ordinal": 10,
"name": "role: Role",
"type_info": {
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
}
},
{
"ordinal": 11,
"name": "function: UserFunction",
"type_info": {
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
}
},
{
"ordinal": 12,
"name": "areaid",
"type_info": "Int4"
},
{
"ordinal": 13,
"name": "locked",
"type_info": "Bool"
},
{
"ordinal": 14,
"name": "lastlogin",
"type_info": "Timestamptz"
},
{
"ordinal": 15,
"name": "receivenotifications",
"type_info": "Bool"
}
],
"parameters": {
"Left": [
"Date",
"Int4"
]
},
"nullable": [
false,
false,
false,
true,
true,
true,
false,
false,
true,
true,
false,
false,
false,
false,
true,
false
]
},
"hash": "147dc1d57f2ecba26967f4d6b7085ae4d0095c769aa73b698a12fd67a728ea95"
}

View File

@ -1,41 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT * FROM vehicleAssignement WHERE vehicleAssignement.eventId = $1 AND vehicleAssignement.vehicleId = $2;",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "eventid",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "vehicleid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 3,
"name": "endtime",
"type_info": "Time"
}
],
"parameters": {
"Left": [
"Int4",
"Int4"
]
},
"nullable": [
false,
false,
false,
false
]
},
"hash": "159c257e9e7a164d369de950940166706b5adf4815de81481c9eb67d94b7ee0d"
}

View File

@ -1,141 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n availabillity.id,\n availabillity.userId,\n availabillity.date,\n availabillity.startTime,\n availabillity.endTime,\n availabillity.comment,\n user_.name,\n user_.email,\n user_.password,\n user_.salt,\n user_.role AS \"role: Role\",\n user_.function AS \"function: UserFunction\",\n user_.areaId,\n user_.locked,\n user_.lastLogin,\n user_.receiveNotifications\n FROM availabillity\n LEFT JOIN assignment ON availabillity.Id = assignment.availabillityId\n JOIN user_ ON availabillity.userId = user_.id\n WHERE availabillity.id = $1;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "userid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "date",
"type_info": "Date"
},
{
"ordinal": 3,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 4,
"name": "endtime",
"type_info": "Time"
},
{
"ordinal": 5,
"name": "comment",
"type_info": "Text"
},
{
"ordinal": 6,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 7,
"name": "email",
"type_info": "Text"
},
{
"ordinal": 8,
"name": "password",
"type_info": "Text"
},
{
"ordinal": 9,
"name": "salt",
"type_info": "Text"
},
{
"ordinal": 10,
"name": "role: Role",
"type_info": {
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
}
},
{
"ordinal": 11,
"name": "function: UserFunction",
"type_info": {
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
}
},
{
"ordinal": 12,
"name": "areaid",
"type_info": "Int4"
},
{
"ordinal": 13,
"name": "locked",
"type_info": "Bool"
},
{
"ordinal": 14,
"name": "lastlogin",
"type_info": "Timestamptz"
},
{
"ordinal": 15,
"name": "receivenotifications",
"type_info": "Bool"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false,
true,
true,
true,
false,
false,
true,
true,
false,
false,
false,
false,
true,
false
]
},
"hash": "1647030e9c5f52326f80dffb1e722e4d700f4a303e43a33af7fe79608fd438fe"
}

View File

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE area SET name = $1 WHERE id = $2;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Text",
"Int4"
]
},
"nullable": []
},
"hash": "17f79edd7138f29f4279aeb2e72be1d1cea46d8aca559788420f532be0426723"
}

View File

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM location WHERE id = $1;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": []
},
"hash": "1c996712f62a1005990733cd9eee7a94bdcf2ef01b559304aea1d642fab7ae22"
}

View File

@ -1,111 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id,\n name,\n email,\n password,\n salt,\n role AS \"role: Role\",\n function AS \"function: UserFunction\",\n areaId,\n locked,\n lastLogin,\n receiveNotifications\n FROM user_\n WHERE id = $1;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "email",
"type_info": "Text"
},
{
"ordinal": 3,
"name": "password",
"type_info": "Text"
},
{
"ordinal": 4,
"name": "salt",
"type_info": "Text"
},
{
"ordinal": 5,
"name": "role: Role",
"type_info": {
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
}
},
{
"ordinal": 6,
"name": "function: UserFunction",
"type_info": {
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
}
},
{
"ordinal": 7,
"name": "areaid",
"type_info": "Int4"
},
{
"ordinal": 8,
"name": "locked",
"type_info": "Bool"
},
{
"ordinal": 9,
"name": "lastlogin",
"type_info": "Timestamptz"
},
{
"ordinal": 10,
"name": "receivenotifications",
"type_info": "Bool"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false,
true,
true,
false,
false,
false,
false,
true,
false
]
},
"hash": "24449d7fa57151cc7bbe17b757c4a155eaf85f51b91e0724a100e7eedfa096ce"
}

View File

@ -1,29 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n INSERT INTO assignment (eventId, availabillityId, function, startTime, endTime)\n VALUES ($1, $2, $3, $4, $5);\n ",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4",
"Int4",
{
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
},
"Time",
"Time"
]
},
"nullable": []
},
"hash": "246f9e96dfc631c1ed57bc520f0e94a3788d8bf123ecc9992f380b34aedf972d"
}

View File

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM user_ WHERE id = $1;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": []
},
"hash": "24fecf0d262d800b26cf90db0e12fea535a7b630000db10ea89419bff998f58d"
}

View File

@ -1,29 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE assignment SET function = $1, startTime = $2, endTime = $3 WHERE eventId = $4 AND availabillityId = $5;",
"describe": {
"columns": [],
"parameters": {
"Left": [
{
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
},
"Time",
"Time",
"Int4",
"Int4"
]
},
"nullable": []
},
"hash": "2a7e94e6d4fcaa3afc2755ee236d116547656c3418174463aacadc69d57cbf63"
}

View File

@ -1,32 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT * FROM location",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "areaid",
"type_info": "Int4"
}
],
"parameters": {
"Left": []
},
"nullable": [
false,
false,
false
]
},
"hash": "2d9f2d0728983dfac09f6649da74aa5659072539a8f222b8ae202786ce958c37"
}

View File

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE user_ SET locked = $1 WHERE id = $2;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Bool",
"Int4"
]
},
"nullable": []
},
"hash": "348365fd1e76ebfcfa065d1ea7e22cd7cbcd2e981f75fce75f29f1c4fbfc3df5"
}

View File

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE user_ SET lastLogin = NOW() WHERE id = $1;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": []
},
"hash": "36afabfbbe056a63386f94edf2d49beb2d63130f8ea1bf4a840d7729bcb6f9cc"
}

View File

@ -1,16 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE vehicle SET radiocallname = $1, station = $2 WHERE id = $3;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Text",
"Text",
"Int4"
]
},
"nullable": []
},
"hash": "39415450c15de43079d87443b71cf9bacb8e852fa434448d3cc4c52bad0bcf01"
}

View File

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE user_ SET receiveNotifications = $1 WHERE id = $2;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Bool",
"Int4"
]
},
"nullable": []
},
"hash": "3e246c54d31804140272a6fc2e3c241c17b086ff219d6084684a0f2b7c31eeed"
}

View File

@ -1,30 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO registration (token, userId, expires) VALUES ($1, $2, $3) RETURNING token, userId;",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token",
"type_info": "Text"
},
{
"ordinal": 1,
"name": "userid",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Text",
"Int4",
"Timestamp"
]
},
"nullable": [
false,
false
]
},
"hash": "413a3b2bdb7c23ab0f44bcc3ece79de6106c087ff85ca075fd9ca65a42cfa8cc"
}

View File

@ -1,111 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id,\n name,\n email,\n password,\n salt,\n role AS \"role: Role\",\n function AS \"function: UserFunction\",\n areaId,\n locked,\n lastLogin,\n receiveNotifications\n FROM user_\n WHERE areaId = $1;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "email",
"type_info": "Text"
},
{
"ordinal": 3,
"name": "password",
"type_info": "Text"
},
{
"ordinal": 4,
"name": "salt",
"type_info": "Text"
},
{
"ordinal": 5,
"name": "role: Role",
"type_info": {
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
}
},
{
"ordinal": 6,
"name": "function: UserFunction",
"type_info": {
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
}
},
{
"ordinal": 7,
"name": "areaid",
"type_info": "Int4"
},
{
"ordinal": 8,
"name": "locked",
"type_info": "Bool"
},
{
"ordinal": 9,
"name": "lastlogin",
"type_info": "Timestamptz"
},
{
"ordinal": 10,
"name": "receivenotifications",
"type_info": "Bool"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false,
true,
true,
false,
false,
false,
false,
true,
false
]
},
"hash": "483ad933fa1e935058cbe42b7ff083ceee80f74564ee3e8b7da6ab57e906368b"
}

View File

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM vehicleassignement WHERE eventId = $1 AND vehicleId = $2;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4",
"Int4"
]
},
"nullable": []
},
"hash": "48e3cab60736bf95958b063013090c64160aff1bad2f0db851db2e421711a156"
}

View File

@ -1,18 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n INSERT INTO availabillity (userId, date, startTime, endTime, comment)\n VALUES ($1, $2, $3, $4, $5);\n ",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4",
"Date",
"Time",
"Time",
"Text"
]
},
"nullable": []
},
"hash": "4a3837ecb09fdc97cf5706bcd84be918cd3fa3861d2a19461b5612bceecb1278"
}

View File

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM event WHERE id = $1;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": []
},
"hash": "4bfce344fc6f0bfbb2b460677ce3eba3793ecf697355e81012e721357ba351b9"
}

View File

@ -1,109 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id,\n name,\n email,\n password,\n salt,\n role AS \"role: Role\",\n function AS \"function: UserFunction\",\n areaId,\n locked,\n lastLogin,\n receiveNotifications\n FROM user_;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "email",
"type_info": "Text"
},
{
"ordinal": 3,
"name": "password",
"type_info": "Text"
},
{
"ordinal": 4,
"name": "salt",
"type_info": "Text"
},
{
"ordinal": 5,
"name": "role: Role",
"type_info": {
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
}
},
{
"ordinal": 6,
"name": "function: UserFunction",
"type_info": {
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
}
},
{
"ordinal": 7,
"name": "areaid",
"type_info": "Int4"
},
{
"ordinal": 8,
"name": "locked",
"type_info": "Bool"
},
{
"ordinal": 9,
"name": "lastlogin",
"type_info": "Timestamptz"
},
{
"ordinal": 10,
"name": "receivenotifications",
"type_info": "Bool"
}
],
"parameters": {
"Left": []
},
"nullable": [
false,
false,
false,
true,
true,
false,
false,
false,
false,
true,
false
]
},
"hash": "5573e93ccc0b6a5ecc6183a5d5c589ccd58f786e70a3ff1efa662085c2035156"
}

View File

@ -1,17 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO vehicleassignement (eventId, vehicleId, startTime, endTime) VALUES ($1, $2, $3, $4);",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4",
"Int4",
"Time",
"Time"
]
},
"nullable": []
},
"hash": "57969291aa7b29162b3a39c00f37f260e027d55063f031c8fd0a2efbe7e3b414"
}

View File

@ -1,58 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n assignment.eventId,\n assignment.availabillityId,\n assignment.function AS \"function: Function\",\n assignment.startTime,\n assignment.endTime\n FROM assignment\n WHERE\n assignment.eventId = $1 AND\n assignment.availabillityId = $2;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "eventid",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "availabillityid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "function: Function",
"type_info": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
},
{
"ordinal": 3,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 4,
"name": "endtime",
"type_info": "Time"
}
],
"parameters": {
"Left": [
"Int4",
"Int4"
]
},
"nullable": [
false,
false,
false,
false,
false
]
},
"hash": "593d533114e3efc94c6dec2a01803f569365bbb59b95ab5ca798bcc6d7d50c06"
}

View File

@ -1,32 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT * FROM vehicle;",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "radiocallname",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "station",
"type_info": "Text"
}
],
"parameters": {
"Left": []
},
"nullable": [
false,
false,
false
]
},
"hash": "5b87f4da0924338da1a30d7b74711d8073f6d62cf30a42381484846f0917bc33"
}

View File

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM registration WHERE userId = $1;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": []
},
"hash": "5c492ff7ad44ae4876bae9b9ba947d12ad03cda345ba6d1120e38081fdb1fa06"
}

View File

@ -1,53 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n availabillity.id,\n availabillity.userId,\n availabillity.date,\n availabillity.startTime,\n availabillity.endTime,\n availabillity.comment\n FROM availabillity\n WHERE availabillity.userId = $1\n AND availabillity.date = $2;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "userid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "date",
"type_info": "Date"
},
{
"ordinal": 3,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 4,
"name": "endtime",
"type_info": "Time"
},
{
"ordinal": 5,
"name": "comment",
"type_info": "Text"
}
],
"parameters": {
"Left": [
"Int4",
"Date"
]
},
"nullable": [
false,
false,
false,
true,
true,
true
]
},
"hash": "5ccea87a5c61aa6ae0fa7a824a61163668ad8e7b2153437f803a1f344d16f62b"
}

View File

@ -1,24 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n UPDATE event SET date = $1, startTime = $2, endTime = $3, name = $4, locationId = $5, voluntaryWachhabender = $6, voluntaryFuehrungsassistent = $7, amountOfPosten = $8, clothing = $9, note = $10 WHERE id = $11;\n ",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Date",
"Time",
"Time",
"Text",
"Int4",
"Bool",
"Bool",
"Int2",
"Text",
"Text",
"Int4"
]
},
"nullable": []
},
"hash": "5e66fa920534af67e80c538be4fa5dbae6ac53427e697be5c71d36a16ea01154"
}

View File

@ -1,17 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE availabillity SET startTime = $1, endTime = $2, comment = $3 WHERE id = $4",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Time",
"Time",
"Text",
"Int4"
]
},
"nullable": []
},
"hash": "609e14be64f588bf2981061955c83ee6b32085e10ec77d39cb64fc6e3d9de989"
}

View File

@ -1,34 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT * FROM vehicle WHERE id = $1;",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "radiocallname",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "station",
"type_info": "Text"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false
]
},
"hash": "68d2b1ed0dc56056ec85ca38ba033ffcb6a480ca13c2beea0a543067840c64a7"
}

View File

@ -1,46 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT location.id AS locationId, location.name, location.areaId, area.id, area.name AS areaName FROM location JOIN area ON location.areaId = area.id WHERE areaId = $1;",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "locationid",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "areaid",
"type_info": "Int4"
},
{
"ordinal": 3,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 4,
"name": "areaname",
"type_info": "Text"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false,
false,
false
]
},
"hash": "70850ec3f7c519c1fc104fead6a44d07ba76023567bc6ea0eec2267d1c592479"
}

View File

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM passwordReset WHERE token = $1;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Text"
]
},
"nullable": []
},
"hash": "73eba57512af51a7a7d5ea9b6b375dba701bf829b8cf8e37388c1de1c302f486"
}

View File

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE event SET canceled = $1 WHERE id = $2;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Bool",
"Int4"
]
},
"nullable": []
},
"hash": "7bc06d40e0e7f43f73861bb5fa9fe954aea7c821abf785b68d0731fcaf0f4845"
}

View File

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM assignment WHERE assignment.eventId = $1 AND assignment.availabillityId = $2;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4",
"Int4"
]
},
"nullable": []
},
"hash": "7d2e4fcde5bee6c9dcd85e35fa5f0dd4ae6b638b85f0e3a54afc85a46de6ae3a"
}

View File

@ -1,26 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT * FROM area ORDER by id",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
}
],
"parameters": {
"Left": []
},
"nullable": [
false,
false
]
},
"hash": "7f6c89117e8d4249e032235d03d264c3d5d47bd119c563237486cf47e402ae2e"
}

View File

@ -1,16 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE user_ SET password = $1, salt = $2 WHERE id = $3;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Text",
"Text",
"Int4"
]
},
"nullable": []
},
"hash": "868bbdcb65f0ee862f221b7e3d1a4f4dbc4d818315d1713a110c4ad7acd09e3e"
}

View File

@ -1,111 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id,\n name,\n email,\n password,\n salt,\n role AS \"role: Role\",\n function AS \"function: UserFunction\",\n areaId,\n locked,\n lastLogin,\n receiveNotifications\n FROM user_\n WHERE email = $1 AND locked = FALSE AND password IS NOT NULL AND salt IS NOT NULL;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "email",
"type_info": "Text"
},
{
"ordinal": 3,
"name": "password",
"type_info": "Text"
},
{
"ordinal": 4,
"name": "salt",
"type_info": "Text"
},
{
"ordinal": 5,
"name": "role: Role",
"type_info": {
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
}
},
{
"ordinal": 6,
"name": "function: UserFunction",
"type_info": {
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
}
},
{
"ordinal": 7,
"name": "areaid",
"type_info": "Int4"
},
{
"ordinal": 8,
"name": "locked",
"type_info": "Bool"
},
{
"ordinal": 9,
"name": "lastlogin",
"type_info": "Timestamptz"
},
{
"ordinal": 10,
"name": "receivenotifications",
"type_info": "Bool"
}
],
"parameters": {
"Left": [
"Text"
]
},
"nullable": [
false,
false,
false,
true,
true,
false,
false,
false,
false,
true,
false
]
},
"hash": "9091186ff6f2e2013cdca9d66c6f5be5207b0e868b6de0f558a469138838a650"
}

View File

@ -1,149 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n availabillity.id,\n availabillity.userId,\n availabillity.date,\n availabillity.startTime,\n availabillity.endTime,\n availabillity.comment,\n user_.name,\n user_.email,\n user_.password,\n user_.salt,\n user_.role AS \"role: Role\",\n user_.function AS \"function: UserFunction\",\n user_.areaId,\n user_.locked,\n user_.lastLogin,\n user_.receiveNotifications,\n area.name AS areaName\n FROM availabillity\n JOIN user_ ON availabillity.userId = user_.id\n JOIN area ON user_.areaId = area.id\n WHERE user_.areaId = $1 AND\n availabillity.date >= $2 AND\n availabillity.date <= $3;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "userid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "date",
"type_info": "Date"
},
{
"ordinal": 3,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 4,
"name": "endtime",
"type_info": "Time"
},
{
"ordinal": 5,
"name": "comment",
"type_info": "Text"
},
{
"ordinal": 6,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 7,
"name": "email",
"type_info": "Text"
},
{
"ordinal": 8,
"name": "password",
"type_info": "Text"
},
{
"ordinal": 9,
"name": "salt",
"type_info": "Text"
},
{
"ordinal": 10,
"name": "role: Role",
"type_info": {
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
}
},
{
"ordinal": 11,
"name": "function: UserFunction",
"type_info": {
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
}
},
{
"ordinal": 12,
"name": "areaid",
"type_info": "Int4"
},
{
"ordinal": 13,
"name": "locked",
"type_info": "Bool"
},
{
"ordinal": 14,
"name": "lastlogin",
"type_info": "Timestamptz"
},
{
"ordinal": 15,
"name": "receivenotifications",
"type_info": "Bool"
},
{
"ordinal": 16,
"name": "areaname",
"type_info": "Text"
}
],
"parameters": {
"Left": [
"Int4",
"Date",
"Date"
]
},
"nullable": [
false,
false,
false,
true,
true,
true,
false,
false,
true,
true,
false,
false,
false,
false,
true,
false,
false
]
},
"hash": "9a560dab87acbc8dc291fe31eb7ad72ef827504555b868e9d4f805cbe81169b0"
}

View File

@ -1,121 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n user_.id AS userId,\n user_.name,\n user_.email,\n user_.password,\n user_.salt,\n user_.role AS \"role: Role\",\n function AS \"function: UserFunction\",\n user_.areaId,\n user_.locked,\n user_.lastLogin,\n user_.receiveNotifications,\n area.id,\n area.name AS areaName\n FROM user_\n JOIN area ON user_.areaId = area.id\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "userid",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "email",
"type_info": "Text"
},
{
"ordinal": 3,
"name": "password",
"type_info": "Text"
},
{
"ordinal": 4,
"name": "salt",
"type_info": "Text"
},
{
"ordinal": 5,
"name": "role: Role",
"type_info": {
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
}
},
{
"ordinal": 6,
"name": "function: UserFunction",
"type_info": {
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
}
},
{
"ordinal": 7,
"name": "areaid",
"type_info": "Int4"
},
{
"ordinal": 8,
"name": "locked",
"type_info": "Bool"
},
{
"ordinal": 9,
"name": "lastlogin",
"type_info": "Timestamptz"
},
{
"ordinal": 10,
"name": "receivenotifications",
"type_info": "Bool"
},
{
"ordinal": 11,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 12,
"name": "areaname",
"type_info": "Text"
}
],
"parameters": {
"Left": []
},
"nullable": [
false,
false,
false,
true,
true,
false,
false,
false,
false,
true,
false,
false,
false
]
},
"hash": "a7f6e57733c655534c3ae6379b8616fc3aa63ce322cc2d718f4b4e4e23903a61"
}

View File

@ -1,55 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n INSERT INTO user_ (name, email, role, function, areaId)\n VALUES ($1, $2, $3, $4, $5)\n RETURNING id;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Text",
"Text",
{
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
},
{
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
},
"Int4"
]
},
"nullable": [
false
]
},
"hash": "ad4419211e4c98292eaa47ab04e0ea0201f1789ac906acc8cf79aacfbecd9f05"
}

View File

@ -1,28 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT token, userId FROM passwordReset WHERE token = $1 AND expires > NOW();",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token",
"type_info": "Text"
},
{
"ordinal": 1,
"name": "userid",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Text"
]
},
"nullable": [
false,
false
]
},
"hash": "b1e4b7c5d9a08923ab0512b2f2d402865f5d63cb828507c856293be62102aeef"
}

View File

@ -1,41 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n vehicleAssignement.eventId,\n vehicleAssignement.vehicleId,\n vehicleAssignement.starttime,\n vehicleAssignement.endtime\n FROM vehicleAssignement\n JOIN event ON vehicleAssignement.eventId = event.id\n WHERE vehicleAssignement.vehicleid = $1\n AND event.date = $2;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "eventid",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "vehicleid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 3,
"name": "endtime",
"type_info": "Time"
}
],
"parameters": {
"Left": [
"Int4",
"Date"
]
},
"nullable": [
false,
false,
false,
false
]
},
"hash": "b1e9b2e1aa8dec495988ff040e87db032124ad921ebf473ca95da85d7537ade4"
}

View File

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM registration WHERE token = $1;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Text"
]
},
"nullable": []
},
"hash": "b55283e681bed3f5666cefca8acf2504e78ee2c8e094d96b89b68e8e7dddce48"
}

View File

@ -1,57 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n assignment.eventId,\n assignment.availabillityId,\n assignment.function AS \"function: Function\",\n assignment.startTime,\n assignment.endTime\n FROM assignment\n WHERE assignment.AvailabillityId = $1;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "eventid",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "availabillityid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "function: Function",
"type_info": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
},
{
"ordinal": 3,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 4,
"name": "endtime",
"type_info": "Time"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false,
false,
false
]
},
"hash": "b5e41a3f0b8fdda8bd0f8654a526596dbb76ff521e67b459ceace6c7793e99b9"
}

View File

@ -1,22 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO area (name) VALUES ($1) RETURNING id;",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Text"
]
},
"nullable": [
false
]
},
"hash": "b670053eb906a244d3ce12a7eb36982d6b21ed1e637fbf0eee841031e217c6c5"
}

View File

@ -1,107 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n event.id AS eventId,\n event.date,\n event.startTime,\n event.endTime,\n event.name,\n event.locationId,\n event.voluntaryWachhabender,\n event.voluntaryFuehrungsassistent,\n event.amountOfPosten,\n event.clothing,\n event.canceled,\n event.note,\n location.id,\n location.name AS locationName,\n location.areaId AS locationAreaId\n FROM event\n JOIN location ON event.locationId = location.id\n WHERE date = $1\n AND location.areaId = $2;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "eventid",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "date",
"type_info": "Date"
},
{
"ordinal": 2,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 3,
"name": "endtime",
"type_info": "Time"
},
{
"ordinal": 4,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 5,
"name": "locationid",
"type_info": "Int4"
},
{
"ordinal": 6,
"name": "voluntarywachhabender",
"type_info": "Bool"
},
{
"ordinal": 7,
"name": "voluntaryfuehrungsassistent",
"type_info": "Bool"
},
{
"ordinal": 8,
"name": "amountofposten",
"type_info": "Int2"
},
{
"ordinal": 9,
"name": "clothing",
"type_info": "Text"
},
{
"ordinal": 10,
"name": "canceled",
"type_info": "Bool"
},
{
"ordinal": 11,
"name": "note",
"type_info": "Text"
},
{
"ordinal": 12,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 13,
"name": "locationname",
"type_info": "Text"
},
{
"ordinal": 14,
"name": "locationareaid",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Date",
"Int4"
]
},
"nullable": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
false,
false,
false
]
},
"hash": "bc6f85f2d5712c00966319960ceb8a964ebeff7249904f42b2d7b47371a9aea5"
}

View File

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO vehicle (radioCallName, station) VALUES ($1, $2);",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Text",
"Text"
]
},
"nullable": []
},
"hash": "c28c0fd372fa23b0053ec38ce59b5bf791d8a75ba68937609698bd52c97c8d0d"
}

View File

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM area WHERE id = $1;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": []
},
"hash": "cca2b280d655073557f035932eb7919b7e8263eee1e8026d9143a15f12fa81a5"
}

View File

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO location (name, areaId) VALUES ($1, $2);",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Text",
"Int4"
]
},
"nullable": []
},
"hash": "d1d97d9f6cc8d9777dc4ce38a4b50041db855227c8d465d56e985bad86f0c8d9"
}

View File

@ -1,34 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT * FROM location WHERE id = $1;",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "areaid",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false
]
},
"hash": "d556cb1971f386a7997c2e3dbce191cde2d488c55c05edbfe3746208a782d5f6"
}

View File

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM vehicle WHERE id = $1;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": []
},
"hash": "d79f4733454dfe8df4209fa94b3a3512716812561516c0fd602d8b9d9af4eca6"
}

View File

@ -1,144 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n availabillity.id,\n availabillity.userId,\n availabillity.date,\n availabillity.startTime,\n availabillity.endTime,\n availabillity.comment,\n user_.name,\n user_.email,\n user_.password,\n user_.salt,\n user_.role AS \"role: Role\",\n user_.function AS \"function: UserFunction\",\n user_.areaId,\n user_.locked,\n user_.lastLogin,\n user_.receiveNotifications\n FROM availabillity\n JOIN user_ ON availabillity.userId = user_.id\n WHERE availabillity.date = $1\n AND user_.areaId = $2\n AND ((availabillity.startTime IS NULL AND availabillity.endTime IS NULL)\n OR (availabillity.startTime <= $3 AND availabillity.endTime >= $4));\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "userid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "date",
"type_info": "Date"
},
{
"ordinal": 3,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 4,
"name": "endtime",
"type_info": "Time"
},
{
"ordinal": 5,
"name": "comment",
"type_info": "Text"
},
{
"ordinal": 6,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 7,
"name": "email",
"type_info": "Text"
},
{
"ordinal": 8,
"name": "password",
"type_info": "Text"
},
{
"ordinal": 9,
"name": "salt",
"type_info": "Text"
},
{
"ordinal": 10,
"name": "role: Role",
"type_info": {
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
}
},
{
"ordinal": 11,
"name": "function: UserFunction",
"type_info": {
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
}
},
{
"ordinal": 12,
"name": "areaid",
"type_info": "Int4"
},
{
"ordinal": 13,
"name": "locked",
"type_info": "Bool"
},
{
"ordinal": 14,
"name": "lastlogin",
"type_info": "Timestamptz"
},
{
"ordinal": 15,
"name": "receivenotifications",
"type_info": "Bool"
}
],
"parameters": {
"Left": [
"Date",
"Int4",
"Time",
"Time"
]
},
"nullable": [
false,
false,
false,
true,
true,
true,
false,
false,
true,
true,
false,
false,
false,
false,
true,
false
]
},
"hash": "ddbe7fddaffda51262497eff521bee8113951c282eb4308377fe69ba42948274"
}

View File

@ -1,106 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n event.id AS eventId,\n event.date,\n event.startTime,\n event.endTime,\n event.name,\n event.locationId,\n event.voluntaryWachhabender,\n event.voluntaryFuehrungsassistent,\n event.amountOfPosten,\n event.clothing,\n event.canceled,\n event.note,\n location.id,\n location.name AS locationName,\n location.areaId AS locationAreaId\n FROM event\n JOIN location ON event.locationId = location.id\n WHERE event.id = $1;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "eventid",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "date",
"type_info": "Date"
},
{
"ordinal": 2,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 3,
"name": "endtime",
"type_info": "Time"
},
{
"ordinal": 4,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 5,
"name": "locationid",
"type_info": "Int4"
},
{
"ordinal": 6,
"name": "voluntarywachhabender",
"type_info": "Bool"
},
{
"ordinal": 7,
"name": "voluntaryfuehrungsassistent",
"type_info": "Bool"
},
{
"ordinal": 8,
"name": "amountofposten",
"type_info": "Int2"
},
{
"ordinal": 9,
"name": "clothing",
"type_info": "Text"
},
{
"ordinal": 10,
"name": "canceled",
"type_info": "Bool"
},
{
"ordinal": 11,
"name": "note",
"type_info": "Text"
},
{
"ordinal": 12,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 13,
"name": "locationname",
"type_info": "Text"
},
{
"ordinal": 14,
"name": "locationareaid",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
false,
false,
false
]
},
"hash": "df9d7eeb0c4c2d5b222896589dc65699421fb09a26e505871b050e12ec6634c2"
}

View File

@ -1,34 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT * FROM location WHERE areaId = $1;",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "areaid",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false
]
},
"hash": "ea9f427b5d5a3e3c5f720d6bab2417cb3b42de0a5bf1d8b48b11a6e6275cc8e4"
}

View File

@ -1,57 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT\n assignment.eventId,\n assignment.availabillityId,\n assignment.function AS \"function: Function\",\n assignment.startTime,\n assignment.endTime\n FROM assignment\n WHERE assignment.eventId = $1;\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "eventid",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "availabillityid",
"type_info": "Int4"
},
{
"ordinal": 2,
"name": "function: Function",
"type_info": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
},
{
"ordinal": 3,
"name": "starttime",
"type_info": "Time"
},
{
"ordinal": 4,
"name": "endtime",
"type_info": "Time"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false,
false,
false
]
},
"hash": "ebf8b913aaa5718482a4aba18226cc7da21c8c9f49a7f70433b21b56115514a0"
}

View File

@ -1,30 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO passwordReset (token, userId, expires) VALUES ($1, $2, $3) RETURNING token, userid;",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token",
"type_info": "Text"
},
{
"ordinal": 1,
"name": "userid",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Text",
"Int4",
"Timestamp"
]
},
"nullable": [
false,
false
]
},
"hash": "effd0882ab00e5f91a97fa7ee4275775f369e2f8683a6b1aaa87c35984357804"
}

View File

@ -1,16 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE location SET name = $1, areaid = $2 WHERE id = $3;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Text",
"Int4",
"Int4"
]
},
"nullable": []
},
"hash": "f613f4cbd2d89bc061e41f69fe913e69d658242344be7c46ba4f4df90f8b74b3"
}

View File

@ -1,44 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT location.id AS locationId, location.name, location.areaId, area.id, area.name AS areaName FROM location JOIN area ON location.areaId = area.id;",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "locationid",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "areaid",
"type_info": "Int4"
},
{
"ordinal": 3,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 4,
"name": "areaname",
"type_info": "Text"
}
],
"parameters": {
"Left": []
},
"nullable": [
false,
false,
false,
false,
false
]
},
"hash": "f94d7fe59a2d4b7d246711a796571367172bce9446b9fb1e7ba057917a98d958"
}

View File

@ -1,23 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n INSERT INTO event (date, startTime, endTime, name, locationId, voluntaryWachhabender, voluntaryFuehrungsassistent, amountOfPosten, clothing, note)\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10);\n ",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Date",
"Time",
"Time",
"Text",
"Int4",
"Bool",
"Bool",
"Int2",
"Text",
"Text"
]
},
"nullable": []
},
"hash": "fae818e52e9e5cc9c38684afe5a08395e797fcdd19607cacfd1322037f3805c5"
}

View File

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM availabillity WHERE id = $1",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": []
},
"hash": "fc09093ce791d2d690b2e3f5ff2125a10757b06ff7d60c8843cb7814ea452f13"
}

View File

@ -1,48 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE user_ SET name = $1, email = $2, role = $3, function = $4, areaId = $5 WHERE id = $6;",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Text",
"Text",
{
"Custom": {
"name": "role",
"kind": {
"Enum": [
"staff",
"areamanager",
"admin"
]
}
}
},
{
"Custom": {
"name": "function[]",
"kind": {
"Array": {
"Custom": {
"name": "function",
"kind": {
"Enum": [
"posten",
"fuehrungsassistent",
"wachhabender"
]
}
}
}
}
}
},
"Int4",
"Int4"
]
},
"nullable": []
},
"hash": "fd2f782d28612d969aa20eb35ea8da4bfdba6f059dbd45b510122210807ac5b6"
}

View File

@ -0,0 +1,43 @@
ALTER TABLE availabillity
ADD COLUMN startTimestamp TIMESTAMP WITH TIME ZONE,
ADD COLUMN endTimestamp TIMESTAMP WITH TIME ZONE;
UPDATE availabillity SET
startTimestamp=date::timestamp + COALESCE(startTime, time '0:00'),
endTimestamp=date::timestamp + COALESCE(endTime, time '0:00');
ALTER TABLE availabillity
ALTER COLUMN startTimestamp SET NOT NULL,
ALTER COLUMN endTimestamp SET NOT NULL,
DROP COLUMN date,
DROP COLUMN startTime,
DROP COLUMN endTime;
ALTER TABLE event
ADD COLUMN startTimestamp TIMESTAMP WITH TIME ZONE,
ADD COLUMN endTimestamp TIMESTAMP WITH TIME ZONE;
UPDATE event SET
startTimestamp=date::timestamp + startTime,
endTimestamp=date::timestamp + endTime;
ALTER TABLE event
ALTER COLUMN startTimestamp SET NOT NULL,
ALTER COLUMN endTimestamp SET NOT NULL,
DROP COLUMN date,
DROP COLUMN startTime,
DROP COLUMN endTime;
ALTER TABLE assignment
ADD COLUMN startTimestamp TIMESTAMP WITH TIME ZONE,
ADD COLUMN endTimestamp TIMESTAMP WITH TIME ZONE;
UPDATE assignment SET (startTimestamp, endTimestamp) =
(SELECT startTimestamp, endTimestamp FROM event
WHERE event.id = assignment.eventId);
ALTER TABLE assignment
ALTER COLUMN startTimestamp SET NOT NULL,
ALTER COLUMN endTimestamp SET NOT NULL,
DROP COLUMN startTime,
DROP COLUMN endTime;

View File

@ -0,0 +1,13 @@
ALTER TABLE vehicleassignement
ADD COLUMN startTimestamp TIMESTAMP WITH TIME ZONE,
ADD COLUMN endTimestamp TIMESTAMP WITH TIME ZONE;
UPDATE vehicleassignement SET (startTimestamp, endTimestamp) =
(SELECT startTimestamp, endTimestamp FROM event
WHERE event.id = vehicleassignement.eventId);
ALTER TABLE vehicleassignement
ALTER COLUMN startTimestamp SET NOT NULL,
ALTER COLUMN endTimestamp SET NOT NULL,
DROP COLUMN startTime,
DROP COLUMN endTime;

View File

@ -1,4 +1,4 @@
use chrono::NaiveTime;
use chrono::{Local, NaiveDateTime, NaiveTime};
use sqlx::{query, PgPool};
use super::{assignment_changeset::AssignmentChangeset, Function, Result};
@ -18,16 +18,20 @@ impl Assignment {
availabillity_id: i32,
changeset: AssignmentChangeset,
) -> Result<()> {
// TODO: refactor
let date1 = Local::now();
let date2 = Local::now();
query!(
r##"
INSERT INTO assignment (eventId, availabillityId, function, startTime, endTime)
INSERT INTO assignment (eventId, availabillityId, function, startTimestamp, endTimestamp)
VALUES ($1, $2, $3, $4, $5);
"##,
event_id,
availabillity_id,
changeset.function as Function,
changeset.time.0,
changeset.time.1
date1,
date2
)
.execute(pool)
.await?;
@ -45,8 +49,8 @@ impl Assignment {
assignment.eventId,
assignment.availabillityId,
assignment.function AS "function: Function",
assignment.startTime,
assignment.endTime
assignment.startTimestamp,
assignment.endTimestamp
FROM assignment
WHERE assignment.AvailabillityId = $1;
"##,
@ -61,8 +65,9 @@ impl Assignment {
event_id: r.eventid,
availabillity_id: r.availabillityid,
function: r.function,
start_time: r.starttime,
end_time: r.endtime,
// TODO: refactor
start_time: r.starttimestamp.time(),
end_time: r.endtimestamp.time(),
})
.collect();
@ -76,8 +81,8 @@ impl Assignment {
assignment.eventId,
assignment.availabillityId,
assignment.function AS "function: Function",
assignment.startTime,
assignment.endTime
assignment.startTimestamp,
assignment.endTimestamp
FROM assignment
WHERE assignment.eventId = $1;
"##,
@ -92,8 +97,9 @@ impl Assignment {
event_id: r.eventid,
availabillity_id: r.availabillityid,
function: r.function,
start_time: r.starttime,
end_time: r.endtime,
// TODO: refactor
start_time: r.starttimestamp.time(),
end_time: r.endtimestamp.time(),
})
.collect();
@ -111,8 +117,8 @@ impl Assignment {
assignment.eventId,
assignment.availabillityId,
assignment.function AS "function: Function",
assignment.startTime,
assignment.endTime
assignment.startTimestamp,
assignment.endTimestamp
FROM assignment
WHERE
assignment.eventId = $1 AND
@ -125,12 +131,13 @@ impl Assignment {
.await?;
let assignemnet = record.map(|r| Assignment {
event_id: r.eventid,
availabillity_id: r.availabillityid,
function: r.function,
start_time: r.starttime,
end_time: r.endtime,
});
event_id: r.eventid,
availabillity_id: r.availabillityid,
function: r.function,
// TODO: refactor
start_time: r.starttimestamp.time(),
end_time: r.endtimestamp.time(),
});
Ok(assignemnet)
}
@ -141,7 +148,11 @@ impl Assignment {
availabillity_id: i32,
changeset: AssignmentChangeset,
) -> Result<()> {
query!("UPDATE assignment SET function = $1, startTime = $2, endTime = $3 WHERE eventId = $4 AND availabillityId = $5;", changeset.function as Function, changeset.time.0, changeset.time.1, event_id, availabillity_id).execute(pool).await?;
// TODO: refactor
let date1 = Local::now();
let date2 = Local::now();
query!("UPDATE assignment SET function = $1, startTimestamp = $2, endTimestamp = $3 WHERE eventId = $4 AND availabillityId = $5;", changeset.function as Function, date1, date2, event_id, availabillity_id).execute(pool).await?;
Ok(())
}

View File

@ -1,9 +1,9 @@
use chrono::{NaiveDate, NaiveTime};
use chrono::{Local, NaiveDate, NaiveTime};
use sqlx::{query, PgPool};
use crate::{END_OF_DAY, START_OF_DAY};
use super::{Area, AvailabilityChangeset, UserFunction, Result, Role, User};
use super::{Area, AvailabilityChangeset, Result, Role, User, UserFunction};
#[derive(Clone, Debug)]
pub struct Availability {
@ -51,15 +51,18 @@ impl Availability {
(None, None)
};
// TODO: refactor
let date1 = Local::now();
let date2 = Local::now();
query!(
r#"
INSERT INTO availabillity (userId, date, startTime, endTime, comment)
VALUES ($1, $2, $3, $4, $5);
INSERT INTO availabillity (userId, startTimestamp, endTimestamp, comment)
VALUES ($1, $2, $3, $4);
"#,
user_id,
date,
start,
end,
date1,
date2,
changeset.comment
)
.execute(pool)
@ -78,9 +81,8 @@ impl Availability {
SELECT
availabillity.id,
availabillity.userId,
availabillity.date,
availabillity.startTime,
availabillity.endTime,
availabillity.startTimestamp,
availabillity.endTimestamp,
availabillity.comment,
user_.name,
user_.email,
@ -94,7 +96,7 @@ impl Availability {
user_.receiveNotifications
FROM availabillity
JOIN user_ ON availabillity.userId = user_.id
WHERE availabillity.date = $1
WHERE availabillity.startTimestamp::date = $1
AND user_.areaId = $2;
"##,
date,
@ -102,6 +104,7 @@ impl Availability {
)
.fetch_all(pool)
.await?;
// TODO: maybe starttimestamp::date = $1 doesnt work?
let availabillities = records
.iter()
@ -122,11 +125,12 @@ impl Availability {
last_login: r.lastlogin,
receive_notifications: r.receivenotifications,
}),
date: r.date,
time: match (r.starttime, r.endtime) {
(Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
(_, _) => AvailabilityTime::WholeDay,
},
date: r.starttimestamp.date_naive(),
// TODO: refactor
time: AvailabilityTime::Temporarily(r.starttimestamp.time(), r.endtimestamp.time()),
// (Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
// (_, _) => AvailabilityTime::WholeDay,
// },
comment: r.comment.clone(),
})
.collect();
@ -140,14 +144,17 @@ impl Availability {
time: (NaiveTime, NaiveTime),
area_id: i32,
) -> Result<Vec<Availability>> {
// TODO: refactor
let date1 = Local::now();
let date2 = Local::now();
let records = query!(
r##"
SELECT
availabillity.id,
availabillity.userId,
availabillity.date,
availabillity.startTime,
availabillity.endTime,
availabillity.startTimestamp,
availabillity.endTimestamp,
availabillity.comment,
user_.name,
user_.email,
@ -161,19 +168,19 @@ impl Availability {
user_.receiveNotifications
FROM availabillity
JOIN user_ ON availabillity.userId = user_.id
WHERE availabillity.date = $1
WHERE availabillity.starttimestamp::date = $1
AND user_.areaId = $2
AND ((availabillity.startTime IS NULL AND availabillity.endTime IS NULL)
OR (availabillity.startTime <= $3 AND availabillity.endTime >= $4));
AND availabillity.startTimestamp <= $3 AND availabillity.endTimestamp >= $4;
"##,
date,
area_id,
time.0,
time.1
date1,
date2
)
.fetch_all(pool)
.await?;
// TODO: maybe starttimestamp::date = $1 doesnt work?
let availabillities = records
.iter()
.map(|r| Availability {
@ -193,11 +200,12 @@ impl Availability {
last_login: r.lastlogin,
receive_notifications: r.receivenotifications,
}),
date: r.date,
time: match (r.starttime, r.endtime) {
(Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
(_, _) => AvailabilityTime::WholeDay,
},
// TODO: refactor
date: r.starttimestamp.date_naive(),
time: AvailabilityTime::Temporarily(r.starttimestamp.time(), r.endtimestamp.time()),
// (Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
// (_, _) => AvailabilityTime::WholeDay,
// },
comment: r.comment.clone(),
})
.collect();
@ -211,9 +219,8 @@ impl Availability {
SELECT
availabillity.id,
availabillity.userId,
availabillity.date,
availabillity.startTime,
availabillity.endTime,
availabillity.startTimestamp,
availabillity.endTimestamp,
availabillity.comment,
user_.name,
user_.email,
@ -252,11 +259,12 @@ impl Availability {
last_login: r.lastlogin,
receive_notifications: r.receivenotifications,
}),
date: r.date,
time: match (r.starttime, r.endtime) {
(Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
(_, _) => AvailabilityTime::WholeDay,
},
// TODO: refactor
date: r.starttimestamp.date_naive(),
time: AvailabilityTime::Temporarily(r.starttimestamp.time(), r.endtimestamp.time()),
// (Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
// (_, _) => AvailabilityTime::WholeDay,
// },
comment: r.comment.clone(),
});
@ -272,11 +280,15 @@ impl Availability {
id: record.id,
user_id: record.userid,
user: None,
date: record.date,
time: match (record.starttime, record.endtime) {
(Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
(_, _) => AvailabilityTime::WholeDay,
},
// TODO: refactor
date: record.starttimestamp.date_naive(),
time: AvailabilityTime::Temporarily(
record.starttimestamp.time(),
record.endtimestamp.time(),
),
// (Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
// (_, _) => AvailabilityTime::WholeDay,
// },
comment: record.comment.clone(),
});
@ -293,9 +305,8 @@ impl Availability {
SELECT
availabillity.id,
availabillity.userId,
availabillity.date,
availabillity.startTime,
availabillity.endTime,
availabillity.startTimestamp,
availabillity.endTimestamp,
availabillity.comment,
user_.name,
user_.email,
@ -312,8 +323,8 @@ impl Availability {
JOIN user_ ON availabillity.userId = user_.id
JOIN area ON user_.areaId = area.id
WHERE user_.areaId = $1 AND
availabillity.date >= $2 AND
availabillity.date <= $3;
availabillity.starttimestamp::date >= $2 AND
availabillity.starttimestamp::date <= $3;
"##,
area_id,
date_range.0,
@ -321,6 +332,7 @@ impl Availability {
)
.fetch_all(pool)
.await?;
// TODO: maybe starttimestamp::date = $1 doesnt work?
let availabillities = records
.iter()
@ -344,11 +356,12 @@ impl Availability {
last_login: r.lastlogin,
receive_notifications: r.receivenotifications,
}),
date: r.date,
time: match (r.starttime, r.endtime) {
(Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
(_, _) => AvailabilityTime::WholeDay,
},
// TODO: refactor
date: r.starttimestamp.date_naive(),
time: AvailabilityTime::Temporarily(r.starttimestamp.time(), r.endtimestamp.time()),
// (Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
// (_, _) => AvailabilityTime::WholeDay,
// },
comment: r.comment.clone(),
})
.collect();
@ -366,19 +379,19 @@ impl Availability {
SELECT
availabillity.id,
availabillity.userId,
availabillity.date,
availabillity.startTime,
availabillity.endTime,
availabillity.startTimestamp,
availabillity.endTimestamp,
availabillity.comment
FROM availabillity
WHERE availabillity.userId = $1
AND availabillity.date = $2;
AND availabillity.starttimestamp::date = $2;
"##,
user_id,
date
)
.fetch_all(pool)
.await?;
// TODO: maybe starttimestamp::date = $1 doesnt work?
let availabillities = records
.iter()
@ -386,11 +399,12 @@ impl Availability {
id: r.id,
user_id: r.userid,
user: None,
date: r.date,
time: match (r.starttime, r.endtime) {
(Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
(_, _) => AvailabilityTime::WholeDay,
},
// TODO: refactor
date: r.starttimestamp.date_naive(),
time: AvailabilityTime::Temporarily(r.starttimestamp.time(), r.endtimestamp.time()),
// (Some(start), Some(end)) => AvailabilityTime::Temporarily(start, end),
// (_, _) => AvailabilityTime::WholeDay,
// },
comment: r.comment.clone(),
})
.collect();
@ -405,10 +419,14 @@ impl Availability {
(None, None)
};
// TODO: refactor
let date1 = Local::now();
let date2 = Local::now();
query!(
"UPDATE availabillity SET startTime = $1, endTime = $2, comment = $3 WHERE id = $4",
start,
end,
"UPDATE availabillity SET startTimestamp = $1, endTimestamp = $2, comment = $3 WHERE id = $4",
date1,
date2,
changeset.comment,
id
)

View File

@ -1,4 +1,4 @@
use chrono::{NaiveDate, NaiveTime};
use chrono::{Local, NaiveDate, NaiveTime};
use sqlx::{query, PgPool};
use super::{event_changeset::EventChangeset, Location, Result};
@ -22,11 +22,15 @@ pub struct Event {
impl Event {
pub async fn create(pool: &PgPool, changeset: EventChangeset) -> Result<()> {
// TODO: refactor
let date1 = Local::now();
let date2 = Local::now();
query!(r#"
INSERT INTO event (date, startTime, endTime, name, locationId, voluntaryWachhabender, voluntaryFuehrungsassistent, amountOfPosten, clothing, note)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10);
INSERT INTO event (startTimestamp, endTimestamp, name, locationId, voluntaryWachhabender, voluntaryFuehrungsassistent, amountOfPosten, clothing, note)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9);
"#,
changeset.date, changeset.time.0, changeset.time.1,changeset.name, changeset.location_id, changeset.voluntary_wachhabender, changeset.voluntary_fuehrungsassistent, changeset.amount_of_posten, changeset.clothing, changeset.note).execute(pool).await?;
date1, date2, changeset.name, changeset.location_id, changeset.voluntary_wachhabender, changeset.voluntary_fuehrungsassistent, changeset.amount_of_posten, changeset.clothing, changeset.note).execute(pool).await?;
Ok(())
}
@ -40,9 +44,8 @@ impl Event {
r#"
SELECT
event.id AS eventId,
event.date,
event.startTime,
event.endTime,
event.startTimestamp,
event.endTimestamp,
event.name,
event.locationId,
event.voluntaryWachhabender,
@ -56,7 +59,7 @@ impl Event {
location.areaId AS locationAreaId
FROM event
JOIN location ON event.locationId = location.id
WHERE date = $1
WHERE starttimestamp::date = $1
AND location.areaId = $2;
"#,
date,
@ -64,14 +67,15 @@ impl Event {
)
.fetch_all(pool)
.await?;
// TODO: maybe ::Date doesnt work?
let events = records
.into_iter()
.map(|record| Event {
id: record.eventid,
date: record.date,
start_time: record.starttime,
end_time: record.endtime,
date: record.starttimestamp.date_naive(),
start_time: record.starttimestamp.time(),
end_time: record.endtimestamp.time(),
name: record.name.to_string(),
location_id: record.locationid,
location: Some(Location {
@ -97,9 +101,8 @@ impl Event {
r#"
SELECT
event.id AS eventId,
event.date,
event.startTime,
event.endTime,
event.startTimestamp,
event.endTimestamp,
event.name,
event.locationId,
event.voluntaryWachhabender,
@ -121,36 +124,40 @@ impl Event {
.await?;
let event = record.map(|record| Event {
id: record.eventid,
date: record.date,
start_time: record.starttime,
end_time: record.endtime,
name: record.name.to_string(),
location_id: record.locationid,
location: Some(Location {
id: record.locationid,
name: record.locationname.to_string(),
area_id: record.locationareaid,
area: None,
}),
voluntary_wachhabender: record.voluntarywachhabender,
voluntary_fuehrungsassistent: record.voluntaryfuehrungsassistent,
amount_of_posten: record.amountofposten,
clothing: record.clothing.to_string(),
canceled: record.canceled,
note: record.note,
});
id: record.eventid,
date: record.starttimestamp.date_naive(),
start_time: record.starttimestamp.time(),
end_time: record.endtimestamp.time(),
name: record.name.to_string(),
location_id: record.locationid,
location: Some(Location {
id: record.locationid,
name: record.locationname.to_string(),
area_id: record.locationareaid,
area: None,
}),
voluntary_wachhabender: record.voluntarywachhabender,
voluntary_fuehrungsassistent: record.voluntaryfuehrungsassistent,
amount_of_posten: record.amountofposten,
clothing: record.clothing.to_string(),
canceled: record.canceled,
note: record.note,
});
Ok(event)
}
pub async fn update(pool: &PgPool, id: i32, changeset: EventChangeset) -> Result<()> {
// TODO: refactor
let date1 = Local::now();
let date2 = Local::now();
query!(r#"
UPDATE event SET date = $1, startTime = $2, endTime = $3, name = $4, locationId = $5, voluntaryWachhabender = $6, voluntaryFuehrungsassistent = $7, amountOfPosten = $8, clothing = $9, note = $10 WHERE id = $11;
UPDATE event SET startTimestamp = $1, endTimestamp = $2, name = $3, locationId = $4, voluntaryWachhabender = $5, voluntaryFuehrungsassistent = $6, amountOfPosten = $7, clothing = $8, note = $9 WHERE id = $10;
"#,
changeset.date,
changeset.time.0,
changeset.time.1,changeset.name, changeset.location_id, changeset.voluntary_wachhabender, changeset.voluntary_fuehrungsassistent, changeset.amount_of_posten, changeset.clothing, changeset.note, id)
date1,
date2
,changeset.name, changeset.location_id, changeset.voluntary_wachhabender, changeset.voluntary_fuehrungsassistent, changeset.amount_of_posten, changeset.clothing, changeset.note, id)
.execute(pool)
.await?;

View File

@ -1,4 +1,4 @@
use chrono::{NaiveDate, NaiveTime};
use chrono::{Local, NaiveDate, NaiveTime};
use sqlx::{query, PgPool};
use super::Result;
@ -18,12 +18,16 @@ impl VehicleAssignement {
start_time: NaiveTime,
end_time: NaiveTime,
) -> Result<()> {
// TODO: refactor
let date1 = Local::now();
let date2 = Local::now();
query!(
"INSERT INTO vehicleassignement (eventId, vehicleId, startTime, endTime) VALUES ($1, $2, $3, $4);",
"INSERT INTO vehicleassignement (eventId, vehicleId, startTimestamp, endTimestamp) VALUES ($1, $2, $3, $4);",
event_id,
vehicle_id,
start_time,
end_time
date1,
date2
)
.execute(pool)
.await?;
@ -39,11 +43,12 @@ impl VehicleAssignement {
let record = query!("SELECT * FROM vehicleAssignement WHERE vehicleAssignement.eventId = $1 AND vehicleAssignement.vehicleId = $2;", event_id, vehicle_id).fetch_optional(pool)
.await?;
// TODO: refactor
let vehicle_assignment = record.map(|r| VehicleAssignement {
event_id: r.eventid,
vehicle_id: r.vehicleid,
start_time: r.starttime,
end_time: r.endtime,
start_time: r.starttimestamp.time(),
end_time: r.endtimestamp.time(),
});
Ok(vehicle_assignment)
@ -60,13 +65,14 @@ impl VehicleAssignement {
.fetch_all(pool)
.await?;
// TODO: refactor
let vehicle_assignments = records
.iter()
.map(|r| VehicleAssignement {
event_id: r.eventid,
vehicle_id: r.vehicleid,
start_time: r.starttime,
end_time: r.endtime,
start_time: r.starttimestamp.time(),
end_time: r.endtimestamp.time(),
})
.collect();
@ -83,12 +89,12 @@ impl VehicleAssignement {
SELECT
vehicleAssignement.eventId,
vehicleAssignement.vehicleId,
vehicleAssignement.starttime,
vehicleAssignement.endtime
vehicleAssignement.starttimestamp,
vehicleAssignement.endtimestamp
FROM vehicleAssignement
JOIN event ON vehicleAssignement.eventId = event.id
WHERE vehicleAssignement.vehicleid = $1
AND event.date = $2;
AND event.starttimestamp::date = $2;
"#,
vehicle_id,
date,
@ -96,13 +102,15 @@ impl VehicleAssignement {
.fetch_all(pool)
.await?;
// TODO: maybe ::date doesnt work
let vehicle_assignments = records
.iter()
.map(|r| VehicleAssignement {
event_id: r.eventid,
vehicle_id: r.vehicleid,
start_time: r.starttime,
end_time: r.endtime,
start_time: r.starttimestamp.time(),
end_time: r.endtimestamp.time(),
})
.collect();