diff --git a/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfiguration.java b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfiguration.java new file mode 100644 index 0000000..50ba01e --- /dev/null +++ b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfiguration.java @@ -0,0 +1,34 @@ +/* + * DBeaver - Universal Database Manager + * Copyright (C) 2010-2026 DBeaver Corp + * + * All Rights Reserved. + * + * NOTICE: All information contained herein is, and remains + * the property of DBeaver Corp and its suppliers, if any. + * The intellectual and technical concepts contained + * herein are proprietary to DBeaver Corp and its suppliers + * and may be covered by U.S. and Foreign Patents, + * patents in process, and are protected by trade secret or copyright law. + * Dissemination of this information or reproduction of this material + * is strictly forbidden unless prior written permission is obtained + * from DBeaver Corp. + */ +package com.dbeaver.datadam.share.api.model; + +import org.jkiss.code.NotNull; +import org.jkiss.code.Nullable; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + +public record DDConfiguration( + @NotNull UUID configurationId, + @NotNull String name, + long version, + @NotNull LocalDateTime createTime, + @Nullable LocalDateTime lastSyncTime, + @NotNull List parts +) { +} diff --git a/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfigurationPart.java b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfigurationPart.java new file mode 100644 index 0000000..cdd5ac1 --- /dev/null +++ b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfigurationPart.java @@ -0,0 +1,31 @@ +/* + * DBeaver - Universal Database Manager + * Copyright (C) 2010-2026 DBeaver Corp + * + * All Rights Reserved. + * + * NOTICE: All information contained herein is, and remains + * the property of DBeaver Corp and its suppliers, if any. + * The intellectual and technical concepts contained + * herein are proprietary to DBeaver Corp and its suppliers + * and may be covered by U.S. and Foreign Patents, + * patents in process, and are protected by trade secret or copyright law. + * Dissemination of this information or reproduction of this material + * is strictly forbidden unless prior written permission is obtained + * from DBeaver Corp. + */ +package com.dbeaver.datadam.share.api.model; + +import org.jkiss.code.NotNull; +import org.jkiss.code.Nullable; + +import java.util.UUID; + +public record DDConfigurationPart( + @NotNull String key, + @NotNull DDConfigurationPartKind kind, + @Nullable UUID projectId, + long version, + @NotNull String encryptedValue +) { +} diff --git a/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfigurationPartKind.java b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfigurationPartKind.java new file mode 100644 index 0000000..3da7023 --- /dev/null +++ b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfigurationPartKind.java @@ -0,0 +1,22 @@ +/* + * DBeaver - Universal Database Manager + * Copyright (C) 2010-2026 DBeaver Corp + * + * All Rights Reserved. + * + * NOTICE: All information contained herein is, and remains + * the property of DBeaver Corp and its suppliers, if any. + * The intellectual and technical concepts contained + * herein are proprietary to DBeaver Corp and its suppliers + * and may be covered by U.S. and Foreign Patents, + * patents in process, and are protected by trade secret or copyright law. + * Dissemination of this information or reproduction of this material + * is strictly forbidden unless prior written permission is obtained + * from DBeaver Corp. + */ +package com.dbeaver.datadam.share.api.model; + +public enum DDConfigurationPartKind { + ACCOUNT, + PROJECT +} diff --git a/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfigurationSummary.java b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfigurationSummary.java new file mode 100644 index 0000000..772551d --- /dev/null +++ b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDConfigurationSummary.java @@ -0,0 +1,32 @@ +/* + * DBeaver - Universal Database Manager + * Copyright (C) 2010-2026 DBeaver Corp + * + * All Rights Reserved. + * + * NOTICE: All information contained herein is, and remains + * the property of DBeaver Corp and its suppliers, if any. + * The intellectual and technical concepts contained + * herein are proprietary to DBeaver Corp and its suppliers + * and may be covered by U.S. and Foreign Patents, + * patents in process, and are protected by trade secret or copyright law. + * Dissemination of this information or reproduction of this material + * is strictly forbidden unless prior written permission is obtained + * from DBeaver Corp. + */ +package com.dbeaver.datadam.share.api.model; + +import org.jkiss.code.NotNull; +import org.jkiss.code.Nullable; + +import java.time.LocalDateTime; +import java.util.UUID; + +public record DDConfigurationSummary( + @NotNull UUID configurationId, + @NotNull String name, + long version, + @NotNull LocalDateTime createTime, + @Nullable LocalDateTime lastSyncTime +) { +} diff --git a/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDCreateConfigurationPartRequest.java b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDCreateConfigurationPartRequest.java new file mode 100644 index 0000000..f4a76dc --- /dev/null +++ b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDCreateConfigurationPartRequest.java @@ -0,0 +1,30 @@ +/* + * DBeaver - Universal Database Manager + * Copyright (C) 2010-2026 DBeaver Corp + * + * All Rights Reserved. + * + * NOTICE: All information contained herein is, and remains + * the property of DBeaver Corp and its suppliers, if any. + * The intellectual and technical concepts contained + * herein are proprietary to DBeaver Corp and its suppliers + * and may be covered by U.S. and Foreign Patents, + * patents in process, and are protected by trade secret or copyright law. + * Dissemination of this information or reproduction of this material + * is strictly forbidden unless prior written permission is obtained + * from DBeaver Corp. + */ +package com.dbeaver.datadam.share.api.model; + +import org.jkiss.code.NotNull; +import org.jkiss.code.Nullable; + +import java.util.UUID; + +public record DDCreateConfigurationPartRequest( + @NotNull String key, + @NotNull DDConfigurationPartKind kind, + @Nullable UUID projectId, + @NotNull String encryptedValue +) { +} diff --git a/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDCreateConfigurationRequest.java b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDCreateConfigurationRequest.java new file mode 100644 index 0000000..bd4f89b --- /dev/null +++ b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDCreateConfigurationRequest.java @@ -0,0 +1,27 @@ +/* + * DBeaver - Universal Database Manager + * Copyright (C) 2010-2026 DBeaver Corp + * + * All Rights Reserved. + * + * NOTICE: All information contained herein is, and remains + * the property of DBeaver Corp and its suppliers, if any. + * The intellectual and technical concepts contained + * herein are proprietary to DBeaver Corp and its suppliers + * and may be covered by U.S. and Foreign Patents, + * patents in process, and are protected by trade secret or copyright law. + * Dissemination of this information or reproduction of this material + * is strictly forbidden unless prior written permission is obtained + * from DBeaver Corp. + */ +package com.dbeaver.datadam.share.api.model; + +import org.jkiss.code.NotNull; + +import java.util.List; + +public record DDCreateConfigurationRequest( + @NotNull String name, + @NotNull List parts +) { +} diff --git a/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDUpdateConfigurationPartRequest.java b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDUpdateConfigurationPartRequest.java new file mode 100644 index 0000000..4048e74 --- /dev/null +++ b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDUpdateConfigurationPartRequest.java @@ -0,0 +1,26 @@ +/* + * DBeaver - Universal Database Manager + * Copyright (C) 2010-2026 DBeaver Corp + * + * All Rights Reserved. + * + * NOTICE: All information contained herein is, and remains + * the property of DBeaver Corp and its suppliers, if any. + * The intellectual and technical concepts contained + * herein are proprietary to DBeaver Corp and its suppliers + * and may be covered by U.S. and Foreign Patents, + * patents in process, and are protected by trade secret or copyright law. + * Dissemination of this information or reproduction of this material + * is strictly forbidden unless prior written permission is obtained + * from DBeaver Corp. + */ +package com.dbeaver.datadam.share.api.model; + +import org.jkiss.code.NotNull; + +public record DDUpdateConfigurationPartRequest( + @NotNull String key, + long expectedVersion, + @NotNull String encryptedValue +) { +} diff --git a/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDUpdateConfigurationRequest.java b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDUpdateConfigurationRequest.java new file mode 100644 index 0000000..a3c98d5 --- /dev/null +++ b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDUpdateConfigurationRequest.java @@ -0,0 +1,27 @@ +/* + * DBeaver - Universal Database Manager + * Copyright (C) 2010-2026 DBeaver Corp + * + * All Rights Reserved. + * + * NOTICE: All information contained herein is, and remains + * the property of DBeaver Corp and its suppliers, if any. + * The intellectual and technical concepts contained + * herein are proprietary to DBeaver Corp and its suppliers + * and may be covered by U.S. and Foreign Patents, + * patents in process, and are protected by trade secret or copyright law. + * Dissemination of this information or reproduction of this material + * is strictly forbidden unless prior written permission is obtained + * from DBeaver Corp. + */ +package com.dbeaver.datadam.share.api.model; + +import org.jkiss.code.NotNull; + +import java.util.List; + +public record DDUpdateConfigurationRequest( + long expectedConfigurationVersion, + @NotNull List parts +) { +} diff --git a/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDUpdateConfigurationResult.java b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDUpdateConfigurationResult.java new file mode 100644 index 0000000..25a5d9b --- /dev/null +++ b/apis/com.dbeaver.datadam.share.api/src/main/java/com/dbeaver/datadam/share/api/model/DDUpdateConfigurationResult.java @@ -0,0 +1,27 @@ +/* + * DBeaver - Universal Database Manager + * Copyright (C) 2010-2026 DBeaver Corp + * + * All Rights Reserved. + * + * NOTICE: All information contained herein is, and remains + * the property of DBeaver Corp and its suppliers, if any. + * The intellectual and technical concepts contained + * herein are proprietary to DBeaver Corp and its suppliers + * and may be covered by U.S. and Foreign Patents, + * patents in process, and are protected by trade secret or copyright law. + * Dissemination of this information or reproduction of this material + * is strictly forbidden unless prior written permission is obtained + * from DBeaver Corp. + */ +package com.dbeaver.datadam.share.api.model; + +import org.jkiss.code.NotNull; + +import java.util.List; + +public record DDUpdateConfigurationResult( + @NotNull DDConfiguration configuration, + @NotNull List conflictingKeys +) { +}