1d64a83d32
Fixed error in validation when times data was updated for operations
2024-09-30 08:32:18 +02:00
f3c5111265
Upgrade to python 3.12 on the server, exported current requirements
2024-09-23 08:09:59 +02:00
ed6f5ab648
essential bugfixes
2024-09-20 09:46:48 +02:00
Max Metz
7abf0e26e2
when a ship is deleted, the IMO is no longer considered to exist
2024-09-18 08:34:21 +02:00
Max Metz
cc29320c87
BSMD-flag check was executed on the wrong ID. Now, it correctly uses the assigned agency's ID to determine the presence of a BSMD flag
2024-09-18 08:33:59 +02:00
5ce866936d
unified return structure to use error_field instead of message key to correspond to API specification
2024-09-16 14:17:30 +02:00
a68a768277
fixed bug in ports GET
2024-09-15 16:13:47 +02:00
489dfc2ed6
added port_id and ports endpoint to flask app (no validation yet!), reading works
2024-09-13 17:45:31 +02:00
cc17e6c33a
Merge branch 'feature/1.6_database_changes' into develop
2024-09-12 11:48:56 +02:00
5625cbac49
reverted settings for test version
2024-09-12 11:31:16 +02:00
Max Metz
aaea8441f6
shifting the ship-id check into the validation object
2024-09-12 10:22:27 +02:00
Max Metz
82ad56812e
correcting an issue in the DELETE methods for SHIPS and TIMES, where the ID may have been provided as a null value or was incorrectly converted (string instead of integer)
2024-09-12 10:19:26 +02:00
Max Metz
7c5bc626d0
improving documentation
2024-09-10 17:47:44 +02:00
Max Metz
6505ad758f
bsmd authorization for times PUT
2024-09-10 17:45:32 +02:00
Max Metz
5b68ef95cb
adapting exception handling and error responses for 400 responses. Using a simplified format, which only uses the keys 'error_field' and 'error_description'
2024-09-10 17:37:08 +02:00
Max Metz
590df30fef
A ship's IMO-validation was used in POST and PUT requests. This caused an issue for POST requests.
2024-09-10 14:48:20 +02:00
Max Metz
c90b002806
Times POST no longer raises a ValidationError when the provided time is in the past.
2024-09-10 14:17:03 +02:00
Max Metz
7a97cd7d95
format of exceptions now always follows baseline format. 'errors'-key is always a list of dictionaries.
2024-09-10 13:50:13 +02:00
Max Metz
9127cdeac8
BSMD users are now allowed to POST times entry, if they are assigned to the ShipcallParticipantMap or the special BSMD-flag-clause takes place
2024-09-09 17:06:03 +02:00
Max Metz
d2cd233f13
creating default handlers for every kind of Exception in the /api/ routes. Those default functions also create automatic logging with the .warning level. Relocated the .impl-calls into the Try-Exception-blocks, so they are properly logged and avoid system failures.
2024-09-09 12:46:55 +02:00
Max Metz
85973ad848
creating a default error response format for each API route
2024-09-09 12:21:32 +02:00
Max Metz
61b00b8b22
auto-converting non-lists to list values.
2024-09-09 11:55:58 +02:00
Max Metz
ab7b1ed34f
every ValidationError is defined to return a dictionary. In case of validation errors without such a call, a function enforces a default with an undefined key to ensure the correct format.
2024-09-05 12:46:04 +02:00
Max Metz
c7371a945a
adapting traffic light validation 0002-C. This no longer requires ETA verification. Adapted the description when the error occurs and renamed the function.
2024-09-04 12:21:22 +02:00
Max Metz
e4d0ea2301
fixed serialization of marshmallow.ValidationErrors. This was caused by the 'valid_data' containing datetime objects, which were not serializable natively.
2024-09-04 12:11:32 +02:00
Max Metz
2f678267c8
time estimations are no longer dependency on times POST requests. This refers to eta_berth, etd_berth, operations_start, operations_end.
2024-09-04 11:41:03 +02:00
Max Metz
2c0a73113b
shipcall PUTs may no longer change the shipcall type
2024-09-04 11:17:32 +02:00
Max Metz
3d2405e8fb
maintenance of API Input Validation (ship & times)
2024-09-04 10:27:46 +02:00
Max Metz
1ff972883f
adding input validation for time intervals
2024-09-04 10:27:38 +02:00
Max Metz
4b5ff90b34
properly serializing ValidationError exceptions.
2024-09-04 08:30:46 +02:00
6cfd311bbb
Version bump to 1.6
2024-09-04 08:09:13 +02:00
ed7c4fbfbb
Created test version including version bump to 1.5.0
2024-08-30 11:27:10 +02:00
Max Metz
2ac2bc196c
potentially resolving the 'Unknown column ... in 'field list' issue
2024-08-28 18:44:45 +02:00
Max Metz
a51b830cf6
removed the 'canceled may not be set on post'-issue.
2024-08-28 13:06:36 +02:00
Max Metz
1be7d68f5c
participant flag also resolved
2024-08-27 21:16:49 +02:00
Max Metz
cc2a54c1c6
added extensive logging for an open, unresolved issue. The issue-log may make clear, where the issue originates
2024-08-27 21:14:30 +02:00
Max Metz
e1d9570268
solving the concatenation issue of a list and a None-type.
2024-08-27 20:52:10 +02:00
Max Metz
8082100b7e
using the @classmethod _missing_ function in an IntFlag creates an incorrect resolution of intflags. 127 was resolved as 0 due to the _missing_ function. Without that method, 127 becomes a proper multi-flag
2024-08-27 20:33:33 +02:00
Max Metz
6eab98d2a1
correcting the issue with participant_id authorization (BSMD or AGENCY check).
2024-08-27 19:23:37 +02:00
Max Metz
fcc03b2ade
adaptation of traffic validation (resolving open issue)
2024-08-14 19:09:35 +02:00
Max Metz
c4e5764601
/ships GET no longer blocks deleted ships from being returned.
2024-08-14 15:53:37 +02:00
Max Metz
b60874cbb0
shipcall, ship, times and user verify the validity of JSON data when receiving POST/PUT requests.
2024-08-14 15:49:28 +02:00
Max Metz
e488501837
debugging the missing column '.PORT_ADMINISTRATION' issue
2024-08-14 14:58:03 +02:00
Max Metz
4f3686e00f
marshmallow.fields incorrectly resolved the 'required' field. Adapted each field to ensure that missing data properly raises an error.
2024-08-14 13:59:26 +02:00
Max Metz
0e8faf499d
GET ships no longer returns deleted ships
2024-08-12 20:35:37 +02:00
Max Metz
22009eb469
resolving an issue where missing values for 'flags' in the Shipcall would cause rule-violations
2024-08-12 19:56:26 +02:00
Max Metz
e526337c6a
added a reference check to PUT-requests (shipcall), so each provided ID must exist. Corrected some input validation functions to solve known bugs
2024-08-12 19:43:19 +02:00
Max Metz
d54fed9160
corrected open issues of the API validation functions. Made some validation errors more verbose, improved robustness, refactored some of the methods and adapted many unit tests to the novel format.
2024-08-06 20:46:40 +02:00
Max Metz
3ce2fc829d
correcting a validation issue for 'voyage'
2024-08-01 18:34:56 +02:00
Max Metz
5769889fea
resolving the validation issue in shipcalls, which was caused by a faulty fields type in the ShipcallSchema.
2024-07-31 14:59:59 +02:00
Max Metz
cd8c246d72
adapting times POST, PUT, DELETE to properly include the special case, where a BSMD user should also be allowed to handle times entries of an AGENCY, if the agency has the flag set.
2024-07-25 10:42:44 +02:00
83520a2bc7
Fixed small issues for ships endpoint validation
2024-07-25 10:42:44 +02:00
Max Metz
3d2e1f5158
Added input validation for API requests. Refactored some methods, added docstrings. Solved marshmallow-warnings in BreCal.schemas.model. Added unit tests, now totaling 215. Added proposals to refactor all SQL queries into an object at BreCal.database.sql_queries.SQLQuery for better standardization. Created a helper-object to handle Emails, which prepares the notification-feature.
2024-07-25 10:42:44 +02:00
d7de35236c
Version bump to 1.4
2024-07-22 10:40:08 +02:00
1bb4cc5225
Increased version to 1.3
2024-05-06 13:45:05 +02:00
8698d3a1f5
increased 1 hour comparison by 60 seconds to avoid seconds deviation
2024-05-05 11:18:35 +02:00
f07cadef80
fixed another SQL typo
2024-05-05 11:18:13 +02:00
f7604b055e
fixed schedule sql
2024-05-05 11:17:58 +02:00
76bf4f01bd
Maximum threshold should still be allowed (e.g. 1 hour)
2024-05-05 11:17:36 +02:00
3b01dbb7aa
set schedule logging to INFO and using correct query for schedule test calls
2024-05-02 09:44:00 +02:00
Max Metz
105718e2a6
fixing: generator didn't stop after throw()
2024-04-29 16:51:41 +02:00
Max Metz
7f50624d23
adapting validation rules for version 1.2. Rules 0002: the time-difference threshold for 'disagreement' is expanded to 1 hour. There is now element-wise comparison of elements to circumvent instabilities from rounding pd.Timestamp objects. Rules 0001 L&M and 0003: created a feature flag, which skips the evaluation of Terminal times altogether. For version 1.2, this feature flag is enabled.
2024-04-29 12:59:14 +02:00
15eb7615a6
Bugfix for creating new shipcalls
2024-04-13 16:00:42 +02:00
921062e38b
fix for ship logical delete server-side
2024-04-13 15:59:51 +02:00
08dd104284
fixed POST when a null evaluation enum is sent
2024-04-08 14:00:49 +02:00
40fd77bf6c
fixed serialization in case of null values read
2024-04-08 14:00:31 +02:00
4106b9a0ef
For intervals there are now 2 fields in the times object: eta_interval_end and etd_interval_end
2024-04-03 10:39:32 +02:00
d42b3753e7
split up ata_atd in two separate fields ata and atd
2024-03-31 21:58:56 +02:00
11f72b370d
fixed a bug where shipcall id was not set on times delete
2024-03-30 21:41:03 +01:00
ac2ad3bc18
fixed bug for POST new shipcalls
2024-03-30 19:48:53 +01:00
a845135650
Bugfix for saving shipcall values
2024-03-28 09:46:23 +01:00
fb3413cac0
Version bump to 1.2.0.0
2024-03-28 08:06:49 +01:00
a5b16154c6
Fixed saving of shipcall by correctly interpreting enums now
...
The trick was to use a helper-field and a (decorated) @post_load method in the model that allows to fill the helper
fields with the values (ints) instead of strings for enums.
Trouble is: We are parsing strings from API/JSON and want to serialize as int (value in IntEnum). The helper
fields also must be skipped when setting up the query. Pretty convoluted, but gets the jon done (finally).
Also extended the database by new field 'interval_end' which is a preparation to allow not only timestamps but also
intervals when specifying times for participants.
2024-03-27 19:20:54 +01:00
f311d75c73
added ata_atd and time_point_ref fields to database, yaml and python access layer
2024-03-27 10:52:12 +01:00
862ef9fe88
Merge branch 'feature/api_enhancements' into develop
2024-03-27 10:08:48 +01:00
63b815c274
fixed enum serialization by using custom optional to_json() method
2024-02-27 07:31:04 +01:00
e88f3fa1de
synched enum fields to lower case like yaml
2024-02-26 07:23:09 +01:00
06e9c9b8ae
log incoming message
2024-02-24 10:05:43 +01:00
b47c261487
added existence check to dictionary key usage
2024-02-14 16:55:21 +01:00
e8f6a17e7f
change parameter order
2024-02-14 16:42:55 +01:00
c6bbbf94e3
do not use execute_scalar
2024-02-14 16:24:06 +01:00
77722703ac
added trace output
2024-02-14 16:12:07 +01:00
fc1b55c7b9
added remaining fields to user query
2024-02-14 15:51:12 +01:00
8a6ded2813
fixes for errors reported in server log
2024-02-14 15:41:21 +01:00
898cfdf07d
Merged current state of develop
2024-02-14 10:56:35 +01:00
6e114d15e7
Set default shipcall lookup to max 1 day in the past
2024-02-09 12:42:18 +01:00
e3017349b0
added finally statement to close pooledConnection under all circumstances
2024-02-05 09:48:34 +01:00
50b7dd8cc5
fix shipcall query to include times eta/etd
2024-02-04 11:20:32 +01:00
801c4a1383
fixed deleted in ship (was int, is now: bool)
2024-01-15 17:16:22 +01:00
708fa5ce37
fixed naming in query
2024-01-15 17:10:21 +01:00
801800df92
added missing fields in query
2024-01-15 17:04:49 +01:00
a4e51f2483
changed local path
2024-01-15 17:00:19 +01:00
c51264a55d
added new fields to evaluation object
2024-01-15 16:25:08 +01:00
c1d8b2e855
fixed notification endpoint to return real data for a shipcall
2024-01-13 19:09:50 +01:00
1ef74b51ba
added ship delete and fixed schema loading error for shipclass
2024-01-13 19:09:50 +01:00
dd4ae7def8
fixed error, but enum values are still serialized as int
2024-01-13 19:09:50 +01:00
01dda53425
Tried to create history endpoint but failed. Not working.
2024-01-13 19:09:50 +01:00
a52cc27d69
Fixed SQL and added endpoint for history data
2024-01-13 19:09:50 +01:00
ae9053bcaf
Added POST and PUT endpoint for /ship
2024-01-13 19:09:50 +01:00
aba1d9d00b
Changed validation rule 002 A-C so that the agency time is set as reference time allowing 15 minute deviation
2024-01-13 19:02:43 +01:00