diff --git a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/models/GitResourceIdentity.java b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/models/GitResourceIdentity.java new file mode 100644 index 000000000000..e14282166566 --- /dev/null +++ b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/models/GitResourceIdentity.java @@ -0,0 +1,28 @@ +package com.appsmith.external.git.models; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; + +@Data +@RequiredArgsConstructor +public class GitResourceIdentity { + // TODO @Nidhi should we persist the info from parsing this filePath ? + String filePath; + + // TODO @Nidhi should we persist this sha against the Appsmith domain to integrate with the isModified logic? + String sha; + + @NonNull @EqualsAndHashCode.Include + GitResourceType resourceType; + + // This is gitSyncId for most resources, where available + // It could otherwise point to whatever defines uniqueness for that resource + // Exceptions: widgets, jsLibs, json files in root dir + // widgets -> pageGitSyncId-widgetId + // jsLibs -> jsLibFileName + // root dir files -> fileName + @NonNull @EqualsAndHashCode.Include + String resourceIdentifier; +} diff --git a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/models/GitResourceMap.java b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/models/GitResourceMap.java new file mode 100644 index 000000000000..f0c790f70751 --- /dev/null +++ b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/models/GitResourceMap.java @@ -0,0 +1,15 @@ +package com.appsmith.external.git.models; + +import com.appsmith.external.dtos.ModifiedResources; +import lombok.Data; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +@Data +public class GitResourceMap { + + private Map gitResourceMap = new ConcurrentHashMap<>(); + + private ModifiedResources modifiedResources; +} diff --git a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/models/GitResourceType.java b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/models/GitResourceType.java new file mode 100644 index 000000000000..623a52abf176 --- /dev/null +++ b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/models/GitResourceType.java @@ -0,0 +1,21 @@ +package com.appsmith.external.git.models; + +import java.util.Locale; + +public enum GitResourceType { + ROOT_CONFIG, + DATASOURCE_CONFIG, + JSLIB_CONFIG, + PAGE_CONFIG, + JSOBJECT_CONFIG, + JSOBJECT_DATA, + QUERY_CONFIG, + QUERY_DATA, + WIDGET_CONFIG, + ; + + @Override + public String toString() { + return this.name().toLowerCase(Locale.ROOT); + } +}