diff --git a/dbrepo-analyse-service/Pipfile.lock b/dbrepo-analyse-service/Pipfile.lock index 2ff8fb46f4e99f2f0b27aea880d3d3b7779bfabb..9a4ce182e44f3a2d2decb81b875d0ba268ab27ba 100644 --- a/dbrepo-analyse-service/Pipfile.lock +++ b/dbrepo-analyse-service/Pipfile.lock @@ -167,19 +167,19 @@ }, "boto3": { "hashes": [ - "sha256:42b140fc850cf261ee4b1e8ef527fa071b1f1592a6d6a68d34b29f37cc46b4dd", - "sha256:56bec52d485d5670ce96d53ae7b2cd4ae4e8a705fb2298a21093cdd77d642331" + "sha256:7e8418b47dd43954a9088d504541bed8a42b6d06e712d02befba134c1c4d7c6d", + "sha256:7f676daef674fe74f34ce4063228eccc6e60c811f574720e31f230296c4bf29a" ], "index": "pypi", - "version": "==1.34.123" + "version": "==1.34.126" }, "botocore": { "hashes": [ - "sha256:8c34ada2a708c82e7174bff700611643db7ce2cb18f1130c35045c24310d299d", - "sha256:a8577f6574600c4d159b5cd103ee05744a443d77f7778304e17307940b369c4f" + "sha256:7a8ccb6a7c02456757a984a3a44331b6f51c94cb8b9b287cd045122fd177a4b0", + "sha256:7eff883c638fe30e0b036789df32d851e093d12544615a3b90062b42ac85bdbc" ], "markers": "python_version >= '3.8'", - "version": "==1.34.123" + "version": "==1.34.126" }, "certifi": { "hashes": [ @@ -1050,11 +1050,11 @@ }, "pydantic": { "hashes": [ - "sha256:c46c76a40bb1296728d7a8b99aa73dd70a48c3510111ff290034f860c99c419e", - "sha256:ea91b002777bf643bb20dd717c028ec43216b24a6001a280f83877fd2655d0b4" + "sha256:0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52", + "sha256:ee8538d41ccb9c0a9ad3e0e5f07bf15ed8015b481ced539a1759d8cc89ae90d0" ], "index": "pypi", - "version": "==2.7.3" + "version": "==2.7.4" }, "pydantic-core": { "hashes": [ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.4.4-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.4.4-py3-none-any.whl index 503cfef91315990bbf06027d6de14c8b3184507b..cf6f48a659b0d2ec2caad06f5df06e7f047ab5d5 100644 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.4.4-py3-none-any.whl and b/dbrepo-analyse-service/lib/dbrepo-1.4.4-py3-none-any.whl differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.4.4.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.4.4.tar.gz index 9a90176f0a093b05d89d1cd74cf701cd0730861a..aa416987d2965540f8b1d3dd777b72b758fc6940 100644 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.4.4.tar.gz and b/dbrepo-analyse-service/lib/dbrepo-1.4.4.tar.gz differ diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-data-service/services/src/main/java/at/tuwien/config/JacksonConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..61e7f2b180f15497b08c93ad8e474dc6a7722336 --- /dev/null +++ b/dbrepo-data-service/services/src/main/java/at/tuwien/config/JacksonConfig.java @@ -0,0 +1,31 @@ +package at.tuwien.config; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.datatype.hibernate6.Hibernate6Module; +import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.Date; +import java.util.TimeZone; + +@Slf4j +@Configuration +public class JacksonConfig { + + @Bean + public ObjectMapper objectMapper() throws JsonProcessingException { + final ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.registerModule(new Jdk8Module()); + objectMapper.registerModule(new JavaTimeModule()); + objectMapper.registerModule(new Hibernate6Module()); /* lazy load mapping on REST endpoints */ + objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); + objectMapper.setTimeZone(TimeZone.getTimeZone("UTC")); + return objectMapper; + } + +} diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDto.java index 88170c4e0f4e2ec5f805b2b045b7f9a0f65b5c3e..a428cb572604815ae80ab9f47f28965a7a784a69 100644 --- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDto.java +++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDto.java @@ -16,7 +16,7 @@ import java.util.Map; @ToString public class TupleDto { - @NotNull(message = "data is required") + @NotNull private Map<String, Object> data; } diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java index a451032e9de8d40f04724e44e85eb928dfba2653..61e7f2b180f15497b08c93ad8e474dc6a7722336 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java @@ -25,7 +25,6 @@ public class JacksonConfig { objectMapper.registerModule(new Hibernate6Module()); /* lazy load mapping on REST endpoints */ objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); objectMapper.setTimeZone(TimeZone.getTimeZone("UTC")); - log.debug("current time is {}", objectMapper.writeValueAsString(new Date())); return objectMapper; } diff --git a/dbrepo-search-service/Pipfile.lock b/dbrepo-search-service/Pipfile.lock index 3388956b20ba3f223fdf3cdeb3eab5f1a5337022..7117575adf21fb3bc4458a54cbb57c49c3e732ee 100644 --- a/dbrepo-search-service/Pipfile.lock +++ b/dbrepo-search-service/Pipfile.lock @@ -929,11 +929,11 @@ }, "pydantic": { "hashes": [ - "sha256:c46c76a40bb1296728d7a8b99aa73dd70a48c3510111ff290034f860c99c419e", - "sha256:ea91b002777bf643bb20dd717c028ec43216b24a6001a280f83877fd2655d0b4" + "sha256:0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52", + "sha256:ee8538d41ccb9c0a9ad3e0e5f07bf15ed8015b481ced539a1759d8cc89ae90d0" ], "markers": "python_version >= '3.8'", - "version": "==2.7.3" + "version": "==2.7.4" }, "pydantic-core": { "hashes": [ diff --git a/dbrepo-search-service/lib/dbrepo-1.4.4-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.4.4-py3-none-any.whl index 503cfef91315990bbf06027d6de14c8b3184507b..cf6f48a659b0d2ec2caad06f5df06e7f047ab5d5 100644 Binary files a/dbrepo-search-service/lib/dbrepo-1.4.4-py3-none-any.whl and b/dbrepo-search-service/lib/dbrepo-1.4.4-py3-none-any.whl differ diff --git a/dbrepo-search-service/lib/dbrepo-1.4.4.tar.gz b/dbrepo-search-service/lib/dbrepo-1.4.4.tar.gz index 9a90176f0a093b05d89d1cd74cf701cd0730861a..aa416987d2965540f8b1d3dd777b72b758fc6940 100644 Binary files a/dbrepo-search-service/lib/dbrepo-1.4.4.tar.gz and b/dbrepo-search-service/lib/dbrepo-1.4.4.tar.gz differ diff --git a/lib/python/dbrepo/RestClient.py b/lib/python/dbrepo/RestClient.py index 6813acd095291306b53e75fbf08eaac597ce78bf..e256934d8a91d9659f51c7d7225c49f79cc1fb10 100644 --- a/lib/python/dbrepo/RestClient.py +++ b/lib/python/dbrepo/RestClient.py @@ -1543,8 +1543,7 @@ class RestClient: raise ResponseCodeError(f'Failed to delete database access: response code: {response.status_code} is not ' f'201 (CREATED): {response.text}') - def create_subset(self, database_id: int, query: str, page: int = 0, size: int = 10, - timestamp: datetime.datetime = datetime.datetime.now()) -> Result: + def create_subset(self, database_id: int, query: str, page: int = 0, size: int = 10) -> Result: """ Executes a SQL query in a database where the current user has at least read access with given database id. The result set can be paginated with setting page and size (both). Historic data can be queried by setting @@ -1554,7 +1553,6 @@ class RestClient: :param query: The query statement. :param page: The result pagination number. Optional. Default: 0. :param size: The result pagination size. Optional. Default: 10. - :param timestamp: The query execution time. Optional. Default: now. :returns: The result set, if successful. @@ -1569,8 +1567,7 @@ class RestClient: url = f'/api/database/{database_id}/subset' if page is not None and size is not None: url += f'?page={page}&size={size}' - response = self._wrapper(method="post", url=url, force_auth=True, - payload=ExecuteQuery(statement=query, timestamp=timestamp)) + response = self._wrapper(method="post", url=url, force_auth=True, payload=ExecuteQuery(statement=query)) if response.status_code == 201: body = response.json() return Result.model_validate(body) diff --git a/lib/python/dbrepo/api/dto.py b/lib/python/dbrepo/api/dto.py index 4656a5220d919e14bb6cbf37b1ff7b016378ad94..20d7a8252354bd6b6523eb2026feeff27ed71967 100644 --- a/lib/python/dbrepo/api/dto.py +++ b/lib/python/dbrepo/api/dto.py @@ -720,7 +720,6 @@ class Unit(BaseModel): class ExecuteQuery(BaseModel): statement: str - timestamp: Timestamp class TitleType(str, Enum):