diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/base/MissingRepositoryException.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/base/MissingRepositoryException.java index 320e3d192e..9b0fef28ce 100644 --- a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/base/MissingRepositoryException.java +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/base/MissingRepositoryException.java @@ -18,6 +18,37 @@ public class MissingRepositoryException extends SnapshotAPIException { "see https://www.overleaf.com/help/342 for more information." ); + static List buildDeprecatedMessage(String newUrl) { + if (newUrl == null) { + return Arrays.asList( + "This project has not yet been moved into the new version of Overleaf. You will", + "need to move it in order to continue working on it. Please visit this project", + "online on www.overleaf.com to do this.", + "", + "After migrating this project to the new version of Overleaf, you will be", + "prompted to update your git remote to the project's new identifier.", + "", + "If this is unexpected, please contact us at support@overleaf.com, or", + "see https://www.overleaf.com/help/342 for more information." + ); + } else { + return Arrays.asList( + "This project has not yet been moved into the new version of Overleaf. You will", + "need to move it in order to continue working on it. Please visit this project", + "online to do this:", + "", + " " + newUrl, + "", + "After migrating this project to the new version of Overleaf, you will be", + "prompted to update your git remote to the project's new identifier.", + "", + "If this is unexpected, please contact us at support@overleaf.com, or", + "see https://www.overleaf.com/help/342 for more information." + ); + } + + } + static List buildExportedToV2Message(String remoteUrl) { if (remoteUrl == null) { return Arrays.asList( diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/base/Request.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/base/Request.java index a7f994cce3..eeb40c8f35 100644 --- a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/base/Request.java +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/base/Request.java @@ -90,6 +90,16 @@ public abstract class Request { throw new MissingRepositoryException( MissingRepositoryException.buildExportedToV2Message(newRemote) ); + } else if ("Overleaf v1 is Deprecated".equals(message)) { + String newUrl; + if (json.has("newUrl")) { + newUrl = json.get("newUrl").getAsString(); + } else { + newUrl = null; + } + throw new MissingRepositoryException( + MissingRepositoryException.buildDeprecatedMessage(newUrl) + ); } } catch (IllegalStateException | ClassCastException