Skip to content

Commit 238cf23

Browse files
committed
fix: creds as args via cmd
1 parent a0345b8 commit 238cf23

29 files changed

+235
-175
lines changed

src/main/java/com/crowdin/cli/commands/Actions.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,13 @@ NewAction<BaseProperties, ClientTm> tmDownload(
9090
NewAction<ProjectProperties, ClientTask> taskAdd(
9191
boolean noProgress, String title, Integer type, String language, List<String> files, String branch, Long workflowStep,
9292
String description, Boolean skipAssignedStrings, Boolean includePreTranslatedStringsOnly,
93-
List<Long> labels, ProjectClient projectClient, boolean plainView);
93+
List<Long> labels, boolean plainView);
9494

9595
NewAction<ProjectProperties, ClientDistribution> distributionList(boolean plainView);
9696

97-
NewAction<ProjectProperties, ClientDistribution> distributionAdd(boolean noProgress, boolean plainView, String name, ExportMode exportMode, List<String> files, List<Integer> bundleIds, String branch, ProjectClient projectClient);
97+
NewAction<ProjectProperties, ClientDistribution> distributionAdd(boolean noProgress, boolean plainView, String name, ExportMode exportMode, List<String> files, List<Integer> bundleIds, String branch);
9898

99-
NewAction<ProjectProperties, ClientDistribution> distributionRelease(boolean noProgress, boolean plainView, String hash, ProjectClient projectClient);
99+
NewAction<ProjectProperties, ClientDistribution> distributionRelease(boolean noProgress, boolean plainView, String hash);
100100

101101
NewAction<ProjectProperties, ClientComment> commentList(boolean plainView, boolean isVerbose, String stringId, com.crowdin.client.stringcomments.model.Type type, com.crowdin.client.issues.model.Type issueType, IssueStatus status);
102102

@@ -126,7 +126,7 @@ NewAction<PropertiesWithFiles, ProjectClient> preTranslate(
126126

127127
NewAction<ProjectProperties, ClientScreenshot> screenshotList(Long stringId, boolean plainView);
128128

129-
NewAction<ProjectProperties, ClientScreenshot> screenshotUpload(File file, String branchName, List<String> labelNames, String directoryPath, String filePath, boolean autoTag, boolean plainView, boolean noProgress, ProjectClient projectClient);
129+
NewAction<ProjectProperties, ClientScreenshot> screenshotUpload(File file, String branchName, List<String> labelNames, String directoryPath, String filePath, boolean autoTag, boolean plainView, boolean noProgress);
130130

131131
NewAction<ProjectProperties, ClientScreenshot> screenshotDelete(Long id);
132132

src/main/java/com/crowdin/cli/commands/actions/CliActions.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,9 +172,9 @@ public NewAction<ProjectProperties, ClientTask> taskList(boolean plainView, bool
172172
@Override
173173
public NewAction<ProjectProperties, ClientTask> taskAdd(boolean noProgress, String title, Integer type, String language,
174174
List<String> files, String branch, Long workflowStep, String description, Boolean skipAssignedStrings,
175-
Boolean includePreTranslatedStringsOnly, List<Long> labels, ProjectClient projectClient, boolean plainView
175+
Boolean includePreTranslatedStringsOnly, List<Long> labels, boolean plainView
176176
) {
177-
return new TaskAddAction(noProgress, title, type, language, files, branch, workflowStep, description, skipAssignedStrings, includePreTranslatedStringsOnly, labels, projectClient, plainView);
177+
return new TaskAddAction(noProgress, title, type, language, files, branch, workflowStep, description, skipAssignedStrings, includePreTranslatedStringsOnly, labels, plainView);
178178
}
179179

180180
@Override
@@ -183,13 +183,13 @@ public NewAction<ProjectProperties, ClientDistribution> distributionList(boolean
183183
}
184184

185185
@Override
186-
public NewAction<ProjectProperties, ClientDistribution> distributionAdd(boolean noProgress, boolean plainView, String name, ExportMode exportMode, List<String> files, List<Integer> bundleIds, String branch, ProjectClient projectClient) {
187-
return new DistributionAddAction(noProgress, plainView, name, exportMode, files, bundleIds, branch, projectClient);
186+
public NewAction<ProjectProperties, ClientDistribution> distributionAdd(boolean noProgress, boolean plainView, String name, ExportMode exportMode, List<String> files, List<Integer> bundleIds, String branch) {
187+
return new DistributionAddAction(noProgress, plainView, name, exportMode, files, bundleIds, branch);
188188
}
189189

190190
@Override
191-
public NewAction<ProjectProperties, ClientDistribution> distributionRelease(boolean noProgress, boolean plainView, String hash, ProjectClient projectClient) {
192-
return new DistributionReleaseAction(noProgress, plainView, hash, projectClient);
191+
public NewAction<ProjectProperties, ClientDistribution> distributionRelease(boolean noProgress, boolean plainView, String hash) {
192+
return new DistributionReleaseAction(noProgress, plainView, hash);
193193
}
194194

195195
@Override
@@ -264,8 +264,8 @@ public NewAction<ProjectProperties, ClientScreenshot> screenshotList(Long string
264264
}
265265

266266
@Override
267-
public NewAction<ProjectProperties, ClientScreenshot> screenshotUpload(File file, String branchName, List<String> labelNames, String directoryPath, String filePath, boolean autoTag, boolean plainView, boolean noProgress, ProjectClient projectClient) {
268-
return new ScreenshotUploadAction(file, branchName, labelNames, filePath, directoryPath, autoTag, plainView, noProgress, projectClient);
267+
public NewAction<ProjectProperties, ClientScreenshot> screenshotUpload(File file, String branchName, List<String> labelNames, String directoryPath, String filePath, boolean autoTag, boolean plainView, boolean noProgress) {
268+
return new ScreenshotUploadAction(file, branchName, labelNames, filePath, directoryPath, autoTag, plainView, noProgress);
269269
}
270270

271271
@Override

src/main/java/com/crowdin/cli/commands/actions/DistributionAddAction.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
import com.crowdin.cli.client.ClientDistribution;
44
import com.crowdin.cli.client.CrowdinProjectFull;
5-
import com.crowdin.cli.client.ProjectClient;
65
import com.crowdin.cli.commands.NewAction;
76
import com.crowdin.cli.commands.Outputter;
87
import com.crowdin.cli.commands.functionality.RequestBuilder;
98
import com.crowdin.cli.commands.picocli.ExitCodeExceptionMapper;
9+
import com.crowdin.cli.commands.picocli.GenericActCommand;
1010
import com.crowdin.cli.properties.ProjectProperties;
1111
import com.crowdin.cli.utils.Utils;
1212
import com.crowdin.cli.utils.console.ConsoleSpinner;
@@ -41,16 +41,15 @@ class DistributionAddAction implements NewAction<ProjectProperties, ClientDistri
4141
private List<Integer> bundleIds;
4242
private String branch;
4343

44-
private ProjectClient projectClient;
45-
4644
@Override
4745
public void act(Outputter out, ProjectProperties pb, ClientDistribution client) {
46+
var projectClient = GenericActCommand.getProjectClient(pb);
4847
CrowdinProjectFull project = ConsoleSpinner.execute(
4948
out,
5049
"message.spinner.fetching_project_info", "error.collect_project_info",
5150
this.noProgress,
5251
this.plainView,
53-
() -> this.projectClient.downloadFullProject(this.branch)
52+
() -> projectClient.downloadFullProject(this.branch)
5453
);
5554
boolean isStringsBasedProject = Objects.equals(project.getType(), Type.STRINGS_BASED);
5655

@@ -64,12 +63,12 @@ public void act(Outputter out, ProjectProperties pb, ClientDistribution client)
6463
List<String> projectFiles = project.getFiles().stream()
6564
.filter(file -> branch == null || file.getBranchId().equals(projectBranches.get(branch)))
6665
.map(FileInfo::getPath)
67-
.collect(Collectors.toList());
66+
.toList();
6867
List<String> notExistingFiles = files.stream()
6968
.map(file -> branch == null ? file : Paths.get(branch, file).toString())
7069
.map(Utils::sepAtStart)
7170
.filter(file -> !projectFiles.contains(file))
72-
.collect(Collectors.toList());
71+
.toList();
7372
if (!notExistingFiles.isEmpty()) {
7473
throw new ExitCodeExceptionMapper.NotFoundException(notExistingFiles.stream().map(Utils::noSepAtStart)
7574
.map(file -> String.format(RESOURCE_BUNDLE.getString("error.file_not_found"), file))

src/main/java/com/crowdin/cli/commands/actions/DistributionReleaseAction.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
import com.crowdin.cli.client.ClientDistribution;
44
import com.crowdin.cli.client.CrowdinProjectInfo;
5-
import com.crowdin.cli.client.ProjectClient;
65
import com.crowdin.cli.commands.NewAction;
76
import com.crowdin.cli.commands.Outputter;
7+
import com.crowdin.cli.commands.picocli.GenericActCommand;
88
import com.crowdin.cli.properties.ProjectProperties;
99
import com.crowdin.cli.utils.console.ConsoleSpinner;
1010
import com.crowdin.client.distributions.model.DistributionRelease;
@@ -24,16 +24,16 @@ class DistributionReleaseAction implements NewAction<ProjectProperties, ClientDi
2424
private boolean plainView;
2525
private String hash;
2626

27-
private ProjectClient projectClient;
28-
2927
@Override
3028
public void act(Outputter out, ProjectProperties pb, ClientDistribution client) {
29+
var projectClient = GenericActCommand.getProjectClient(pb);
30+
3131
CrowdinProjectInfo project = ConsoleSpinner.execute(
3232
out,
3333
"message.spinner.fetching_project_info", "error.collect_project_info",
3434
this.noProgress,
3535
this.plainView,
36-
() -> this.projectClient.downloadProjectInfo()
36+
projectClient::downloadProjectInfo
3737
);
3838
boolean isStringsBasedProject = Objects.equals(project.getType(), Type.STRINGS_BASED);
3939

src/main/java/com/crowdin/cli/commands/actions/ScreenshotUploadAction.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.crowdin.cli.commands.Outputter;
99
import com.crowdin.cli.commands.functionality.RequestBuilder;
1010
import com.crowdin.cli.commands.picocli.ExitCodeExceptionMapper;
11+
import com.crowdin.cli.commands.picocli.GenericActCommand;
1112
import com.crowdin.cli.properties.ProjectProperties;
1213
import com.crowdin.cli.utils.Utils;
1314
import com.crowdin.cli.utils.console.ConsoleSpinner;
@@ -46,16 +47,15 @@ class ScreenshotUploadAction implements NewAction<ProjectProperties, ClientScree
4647
private final boolean plainView;
4748
private final boolean noProgress;
4849

49-
private ProjectClient projectClient;
50-
5150
@Override
5251
public void act(Outputter out, ProjectProperties properties, ClientScreenshot client) {
52+
var projectClient = GenericActCommand.getProjectClient(properties);
5353
CrowdinProjectFull project = ConsoleSpinner.execute(
5454
out,
5555
"message.spinner.fetching_project_info", "error.collect_project_info",
5656
this.noProgress,
5757
this.plainView,
58-
() -> this.projectClient.downloadFullProject());
58+
projectClient::downloadFullProject);
5959

6060
Long branchId = null;
6161
if (nonNull(branchName)) {
@@ -84,7 +84,7 @@ public void act(Outputter out, ProjectProperties properties, ClientScreenshot cl
8484
Optional<Screenshot> existingScreenshot = screenshotList.stream().findFirst();
8585
if (existingScreenshot.isPresent()) {
8686
UpdateScreenshotRequest request = new UpdateScreenshotRequest();
87-
request.setStorageId(uploadToStorage(file));
87+
request.setStorageId(uploadToStorage(projectClient, file));
8888
request.setName(file.getName());
8989
request.setUsePreviousTags(!autoTag);
9090
try {
@@ -111,13 +111,13 @@ public void act(Outputter out, ProjectProperties properties, ClientScreenshot cl
111111

112112
AddScreenshotRequest request = new AddScreenshotRequest();
113113
if (nonNull(labelNames) && !labelNames.isEmpty()) {
114-
request.setLabelIds(prepareLabelIds());
114+
request.setLabelIds(prepareLabelIds(projectClient));
115115
}
116116

117117
request.setBranchId(branchId);
118118
request.setDirectoryId(directoryId);
119119
request.setFileId(fileId);
120-
request.setStorageId(uploadToStorage(file));
120+
request.setStorageId(uploadToStorage(projectClient, file));
121121
request.setName(file.getName());
122122
request.setAutoTag(autoTag);
123123

@@ -140,17 +140,17 @@ public void act(Outputter out, ProjectProperties properties, ClientScreenshot cl
140140
}
141141
}
142142

143-
private Long uploadToStorage(File fileToUpload) {
143+
private Long uploadToStorage(ProjectClient projectClient, File fileToUpload) {
144144
Long storageId;
145145
try (InputStream fileStream = Files.newInputStream(fileToUpload.toPath())) {
146-
storageId = this.projectClient.uploadStorage(fileToUpload.getName(), fileStream);
146+
storageId = projectClient.uploadStorage(fileToUpload.getName(), fileStream);
147147
} catch (Exception e) {
148148
throw ExitCodeExceptionMapper.remap(e, String.format(RESOURCE_BUNDLE.getString("error.upload_to_storage"), fileToUpload.getName()));
149149
}
150150
return storageId;
151151
}
152152

153-
private Long[] prepareLabelIds() {
153+
private Long[] prepareLabelIds(ProjectClient projectClient) {
154154
Map<String, Long> labels = projectClient.listLabels().stream()
155155
.collect(Collectors.toMap(Label::getTitle, Label::getId));
156156
labelNames.stream()

src/main/java/com/crowdin/cli/commands/actions/TaskAddAction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
import com.crowdin.cli.client.ClientTask;
44
import com.crowdin.cli.client.CrowdinProjectFull;
5-
import com.crowdin.cli.client.ProjectClient;
65
import com.crowdin.cli.commands.NewAction;
76
import com.crowdin.cli.commands.Outputter;
87

98
import com.crowdin.cli.commands.functionality.ProjectFilesUtils;
109
import com.crowdin.cli.commands.functionality.PropertiesBeanUtils;
1110
import com.crowdin.cli.commands.picocli.ExitCodeExceptionMapper;
11+
import com.crowdin.cli.commands.picocli.GenericActCommand;
1212
import com.crowdin.cli.properties.ProjectProperties;
1313

1414
import com.crowdin.cli.utils.Utils;
@@ -38,16 +38,16 @@ class TaskAddAction implements NewAction<ProjectProperties, ClientTask> {
3838
private Boolean skipAssignedStrings;
3939
private Boolean includePreTranslatedStringsOnly;
4040
private List<Long> labels;
41-
private ProjectClient projectClient;
4241
private boolean plainView;
4342

4443
@Override
4544
public void act(Outputter out, ProjectProperties pb, ClientTask client) {
45+
var projectClient = GenericActCommand.getProjectClient(pb);
4646
boolean isOrganization = PropertiesBeanUtils.isOrganization(pb.getBaseUrl());
4747
Task task;
4848
AddTaskRequest addTaskRequest;
4949
CrowdinProjectFull project = ConsoleSpinner.execute(out, "message.spinner.fetching_project_info", "error.collect_project_info",
50-
this.noProgress, this.plainView, () -> this.projectClient.downloadFullProject(this.branch));
50+
this.noProgress, this.plainView, () -> projectClient.downloadFullProject(this.branch));
5151

5252
List<Long> fileIds = new ArrayList<>();
5353
Map<String, FileInfo> paths = ProjectFilesUtils.buildFilePaths(project.getDirectories(), project.getBranches(), project.getFileInfos());

src/main/java/com/crowdin/cli/commands/picocli/ActCommandBundle.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package com.crowdin.cli.commands.picocli;
22

33
import com.crowdin.cli.client.ClientBundle;
4-
import com.crowdin.cli.client.Clients;
5-
import com.crowdin.cli.client.ProjectClient;
64
import com.crowdin.cli.commands.Outputter;
75
import com.crowdin.cli.properties.ProjectParams;
86
import com.crowdin.cli.properties.ProjectProperties;
@@ -24,6 +22,6 @@ protected ProjectProperties getProperties(PropertiesBuilders propertiesBuilders,
2422

2523
@Override
2624
protected ClientBundle getClient(ProjectProperties properties) {
27-
return Clients.getClientBundle(properties.getApiToken(), properties.getBaseUrl(), properties.getProjectId());
25+
return GenericActCommand.getBundleClient(properties);
2826
}
2927
}

src/main/java/com/crowdin/cli/commands/picocli/ActCommandComment.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.crowdin.cli.commands.picocli;
22

33
import com.crowdin.cli.client.ClientComment;
4-
import com.crowdin.cli.client.Clients;
54
import com.crowdin.cli.commands.Outputter;
65
import com.crowdin.cli.properties.ProjectParams;
76
import com.crowdin.cli.properties.ProjectProperties;
@@ -23,6 +22,6 @@ protected ProjectProperties getProperties(PropertiesBuilders propertiesBuilders,
2322

2423
@Override
2524
protected ClientComment getClient(ProjectProperties properties) {
26-
return Clients.getClientComment(properties.getApiToken(), properties.getBaseUrl(), properties.getProjectId());
25+
return GenericActCommand.getCommentClient(properties);
2726
}
2827
}

src/main/java/com/crowdin/cli/commands/picocli/ActCommandDistribution.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.crowdin.cli.client.ClientDistribution;
44
import com.crowdin.cli.client.Clients;
5-
import com.crowdin.cli.client.ProjectClient;
65
import com.crowdin.cli.commands.Outputter;
76
import com.crowdin.cli.properties.ProjectParams;
87
import com.crowdin.cli.properties.ProjectProperties;
@@ -26,8 +25,4 @@ protected ProjectProperties getProperties(PropertiesBuilders propertiesBuilders,
2625
protected ClientDistribution getClient(ProjectProperties properties) {
2726
return Clients.getClientDistribution(properties.getApiToken(), properties.getBaseUrl(), properties.getProjectId());
2827
}
29-
30-
protected ProjectClient getProjectClient(ProjectProperties properties) {
31-
return Clients.getProjectClient(properties.getApiToken(), properties.getBaseUrl(), Long.parseLong(properties.getProjectId()));
32-
}
3328
}
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package com.crowdin.cli.commands.picocli;
22

33
import com.crowdin.cli.client.ClientGlossary;
4-
import com.crowdin.cli.client.Clients;
54
import com.crowdin.cli.properties.BaseProperties;
65

76
public abstract class ActCommandGlossary extends ActCommand<ClientGlossary> {
87

98
@Override
109
protected ClientGlossary getClient(BaseProperties properties) {
11-
return Clients.getClientGlossary(properties.getApiToken(), properties.getBaseUrl());
10+
return GenericActCommand.getGlossaryClient(properties);
1211
}
1312
}

src/main/java/com/crowdin/cli/commands/picocli/ActCommandLabel.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package com.crowdin.cli.commands.picocli;
22

33
import com.crowdin.cli.client.ClientLabel;
4-
import com.crowdin.cli.client.ClientScreenshot;
5-
import com.crowdin.cli.client.Clients;
6-
import com.crowdin.cli.client.ProjectClient;
74
import com.crowdin.cli.commands.Outputter;
85
import com.crowdin.cli.properties.ProjectParams;
96
import com.crowdin.cli.properties.ProjectProperties;
@@ -25,6 +22,6 @@ protected ProjectProperties getProperties(PropertiesBuilders propertiesBuilders,
2522

2623
@Override
2724
protected ClientLabel getClient(ProjectProperties properties) {
28-
return Clients.getClientLabel(properties.getApiToken(), properties.getBaseUrl(), properties.getProjectId());
25+
return GenericActCommand.getLabelClient(properties);
2926
}
3027
}

src/main/java/com/crowdin/cli/commands/picocli/ActCommandProject.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.crowdin.cli.commands.picocli;
22

3-
import com.crowdin.cli.client.Clients;
43
import com.crowdin.cli.client.ProjectClient;
54
import com.crowdin.cli.commands.Outputter;
65
import com.crowdin.cli.properties.ProjectProperties;
@@ -23,6 +22,6 @@ protected ProjectProperties getProperties(PropertiesBuilders propertiesBuilders,
2322

2423
@Override
2524
protected ProjectClient getClient(ProjectProperties properties) {
26-
return Clients.getProjectClient(properties.getApiToken(), properties.getBaseUrl(), Long.parseLong(properties.getProjectId()));
25+
return GenericActCommand.getProjectClient(properties);
2726
}
2827
}

src/main/java/com/crowdin/cli/commands/picocli/ActCommandScreenshot.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.crowdin.cli.client.ClientScreenshot;
44
import com.crowdin.cli.client.Clients;
5-
import com.crowdin.cli.client.ProjectClient;
65
import com.crowdin.cli.commands.Outputter;
76
import com.crowdin.cli.properties.ProjectParams;
87
import com.crowdin.cli.properties.ProjectProperties;
@@ -26,8 +25,4 @@ protected ProjectProperties getProperties(PropertiesBuilders propertiesBuilders,
2625
protected ClientScreenshot getClient(ProjectProperties properties) {
2726
return Clients.getClientScreenshot(properties.getApiToken(), properties.getBaseUrl(), properties.getProjectId());
2827
}
29-
30-
protected ProjectClient getProjectClient(ProjectProperties properties) {
31-
return Clients.getProjectClient(properties.getApiToken(), properties.getBaseUrl(), Long.parseLong(properties.getProjectId()));
32-
}
3328
}

0 commit comments

Comments
 (0)