1 /*
2  * RSConnectServerOperations.java
3  *
4  * Copyright (C) 2021 by RStudio, PBC
5  *
6  * Unless you have received this program directly from RStudio pursuant
7  * to the terms of a commercial license agreement with RStudio, then
8  * this program is licensed to you under the terms of version 3 of the
9  * GNU Affero General Public License. This program is distributed WITHOUT
10  * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT,
11  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the
12  * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details.
13  *
14  */
15 package org.rstudio.studio.client.rsconnect.model;
16 
17 import org.rstudio.studio.client.quarto.model.QuartoServerOperations;
18 import org.rstudio.studio.client.server.ServerRequestCallback;
19 import org.rstudio.studio.client.server.Void;
20 
21 import com.google.gwt.core.client.JsArray;
22 import com.google.gwt.core.client.JsArrayString;
23 
24 public interface RSConnectServerOperations extends QuartoServerOperations
25 {
removeRSConnectAccount(String accountName, String server, ServerRequestCallback<Void> requestCallback)26    void removeRSConnectAccount(String accountName, String server,
27                ServerRequestCallback<Void> requestCallback);
28 
getRSConnectAccountList( ServerRequestCallback<JsArray<RSConnectAccount>> requestCallback)29    void getRSConnectAccountList(
30                ServerRequestCallback<JsArray<RSConnectAccount>> requestCallback);
31 
connectRSConnectAccount(String command, ServerRequestCallback<Void> requestCallback)32    void connectRSConnectAccount(String command,
33                ServerRequestCallback<Void> requestCallback);
34 
getRSConnectAppList(String accountName, String server, ServerRequestCallback<JsArray<RSConnectApplicationInfo>> requestCallback)35    void getRSConnectAppList(String accountName, String server,
36                ServerRequestCallback<JsArray<RSConnectApplicationInfo>> requestCallback);
37 
getRSConnectApp(String appId, String accountName, String server, String hostUrl, ServerRequestCallback<RSConnectApplicationResult> requestCallback)38    void getRSConnectApp(String appId, String accountName, String server, String hostUrl,
39                ServerRequestCallback<RSConnectApplicationResult> requestCallback);
40 
getRSConnectDeployments(String sourceFile, String outputFile, ServerRequestCallback<JsArray<RSConnectDeploymentRecord>> requestCallback)41    void getRSConnectDeployments(String sourceFile, String outputFile,
42                ServerRequestCallback<JsArray<RSConnectDeploymentRecord>> requestCallback);
43 
forgetRSConnectDeployments(String sourceFile, String outputFile, ServerRequestCallback<Void> requestCallback)44    void forgetRSConnectDeployments(String sourceFile,
45                                    String outputFile,
46                                    ServerRequestCallback<Void> requestCallback);
47 
getDeploymentFiles(String target, boolean asMultipleRmd, String quartoSrcFile, ServerRequestCallback<RSConnectDeploymentFiles> requestCallback)48    void getDeploymentFiles (String target,
49                boolean asMultipleRmd,
50                String quartoSrcFile,
51                ServerRequestCallback<RSConnectDeploymentFiles> requestCallback);
52 
publishContent(RSConnectPublishSource source, String account, String server, String appName, String appTitle, String appId, RSConnectPublishSettings settings, ServerRequestCallback<Boolean> requestCallback)53    void publishContent(RSConnectPublishSource source,
54                String account, String server, String appName, String appTitle, String appId,
55                RSConnectPublishSettings settings,
56                ServerRequestCallback<Boolean> requestCallback);
57 
cancelPublish(ServerRequestCallback<Boolean> requestCallback)58    void cancelPublish(ServerRequestCallback<Boolean> requestCallback);
59 
getServerUrls( ServerRequestCallback<JsArray<RSConnectServerEntry>> requestCallback)60    void getServerUrls(
61                ServerRequestCallback<JsArray<RSConnectServerEntry>> requestCallback);
62 
validateServerUrl(String url, ServerRequestCallback<RSConnectServerInfo> requestCallback)63    void validateServerUrl (String url,
64                ServerRequestCallback<RSConnectServerInfo> requestCallback);
65 
getPreAuthToken(String serverName, ServerRequestCallback<RSConnectPreAuthToken> requestCallback)66    void getPreAuthToken(String serverName,
67                ServerRequestCallback<RSConnectPreAuthToken> requestCallback);
68 
getUserFromToken(String url, RSConnectPreAuthToken token, ServerRequestCallback<RSConnectAuthUser> requestCallback)69    void getUserFromToken(String url, RSConnectPreAuthToken token,
70                ServerRequestCallback<RSConnectAuthUser> requestCallback);
71 
registerUserToken(String serverName, String accountName, int userId, RSConnectPreAuthToken token, ServerRequestCallback<Void> requestCallback)72    void registerUserToken(String serverName, String accountName, int userId,
73                 RSConnectPreAuthToken token,
74                 ServerRequestCallback<Void> requestCallback);
75 
getLintResults(String target, ServerRequestCallback<RSConnectLintResults> resultCallback)76    void getLintResults(String target,
77                 ServerRequestCallback<RSConnectLintResults> resultCallback);
78 
getRmdPublishDetails(String target, ServerRequestCallback<RmdPublishDetails> resultCallback)79    void getRmdPublishDetails(String target,
80                 ServerRequestCallback<RmdPublishDetails> resultCallback);
81 
hasOrphanedAccounts(ServerRequestCallback<Double> resultCallback)82    void hasOrphanedAccounts(ServerRequestCallback<Double> resultCallback);
83 
getEditPublishedDocs(String appPath, ServerRequestCallback<JsArrayString> resultCallback)84    void getEditPublishedDocs(String appPath,
85                 ServerRequestCallback<JsArrayString> resultCallback);
86 
generateAppName(String title, String appPath, String accountName, ServerRequestCallback<RSConnectAppName> resultCallback)87    void generateAppName(String title, String appPath, String accountName,
88                 ServerRequestCallback<RSConnectAppName> resultCallback);
89 }
90