Skip to content

Commit 7341757

Browse files
authored
refactor: adjust file url (#2181)
2 parents 5caf02e + f0f7001 commit 7341757

File tree

10 files changed

+53
-15
lines changed

10 files changed

+53
-15
lines changed

pom-dependency-tree.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ai.elimu:webapp:war:2.6.3-SNAPSHOT
1+
ai.elimu:webapp:war:2.6.5-SNAPSHOT
22
+- ai.elimu:model:jar:model-2.0.97:compile
33
| \- com.google.code.gson:gson:jar:2.13.0:compile
44
| \- com.google.errorprone:error_prone_annotations:jar:2.37.0:compile

src/main/java/ai/elimu/entity/application/Application.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ public class Application extends BaseEntity {
2424
@NotNull
2525
private String packageName;
2626

27+
/**
28+
* The GitHub repository slug, e.g. "soundcards"
29+
*/
30+
@NotNull
31+
private String repoName;
32+
2733
private boolean infrastructural;
2834

2935
@ElementCollection(fetch = FetchType.EAGER)

src/main/java/ai/elimu/entity/application/ApplicationVersion.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public class ApplicationVersion extends BaseEntity {
6767
*/
6868
public String getFileUrl() {
6969
return "https://github.com/elimu-ai" +
70-
"/" + getApplication().getPackageName().replace("ai.elimu.", "") +
70+
"/" + getApplication().getRepoName() +
7171
"/releases" +
7272
"/download" +
7373
"/" + getVersionName() +

src/main/java/ai/elimu/rest/v2/applications/ApplicationVersionsRestController.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import ai.elimu.dao.ApplicationVersionDao;
55
import ai.elimu.entity.application.Application;
66
import ai.elimu.entity.application.ApplicationVersion;
7+
import ai.elimu.model.v2.enums.Language;
78
import ai.elimu.model.v2.enums.admin.ApplicationStatus;
89
import ai.elimu.util.ChecksumHelper;
910
import ai.elimu.util.ConfigHelper;
10-
import ai.elimu.util.DiscordHelper;
1111
import ai.elimu.web.application.application_version.ApplicationVersionCreateController;
1212
import jakarta.servlet.http.HttpServletResponse;
1313
import lombok.RequiredArgsConstructor;
@@ -85,7 +85,11 @@ public String handlePutRequest(
8585
File tmpDirElimuAi = new File(tmpDir, "elimu-ai");
8686
log.info("tmpDirElimuAi: " + tmpDirElimuAi);
8787
log.info("tmpDirElimuAi.mkdir(): " + tmpDirElimuAi.mkdir());
88-
File apkFile = new File(tmpDirElimuAi, application.getPackageName() + "-" + versionName + ".apk");
88+
Language language = Language.valueOf(ConfigHelper.getProperty("content.language"));
89+
File tmpDirLanguage = new File(tmpDirElimuAi, "lang-" + language);
90+
log.info("tmpDirLanguage: " + tmpDirLanguage);
91+
log.info("tmpDirLanguage.mkdir(): " + tmpDirLanguage.mkdir());
92+
File apkFile = new File(tmpDirLanguage, application.getPackageName() + "-" + versionName + ".apk");
8993
log.info("apkFile.getPath(): " + apkFile.getPath());
9094
FileUtils.copyURLToFile(new URL(fileUrl), apkFile);
9195
log.info("apkFile.exists(): " + apkFile.exists());
@@ -157,15 +161,6 @@ public String handlePutRequest(
157161
applicationDao.update(application);
158162
}
159163

160-
String contentUrl = "http://" + ConfigHelper.getProperty("content.language").toLowerCase() + ".elimu.ai/application/edit/" + application.getId();
161-
DiscordHelper.sendChannelMessage(
162-
"A new Application version (`.apk`) was published: " + contentUrl,
163-
application.getPackageName(),
164-
"Version: `" + applicationVersion.getVersionName() + "`",
165-
null,
166-
null
167-
);
168-
169164
jsonResponseObject.put("result", "success");
170165
jsonResponseObject.put("successMessage", "The application version was published with versionName " + applicationVersion.getVersionName());
171166
response.setStatus(HttpStatus.OK.value());

src/main/java/ai/elimu/web/application/application_version/ApplicationVersionCreateController.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import ai.elimu.entity.application.Application;
66
import ai.elimu.entity.application.ApplicationVersion;
77
import ai.elimu.entity.contributor.Contributor;
8+
import ai.elimu.model.v2.enums.Language;
89
import ai.elimu.model.v2.enums.admin.ApplicationStatus;
910
import ai.elimu.util.ChecksumHelper;
1011
import ai.elimu.util.ConfigHelper;
@@ -88,7 +89,11 @@ public String handleSubmit(
8889
File tmpDirElimuAi = new File(tmpDir, "elimu-ai");
8990
log.info("tmpDirElimuAi: " + tmpDirElimuAi);
9091
log.info("tmpDirElimuAi.mkdir(): " + tmpDirElimuAi.mkdir());
91-
File apkFile = new File(tmpDirElimuAi, application.getPackageName() + ".apk");
92+
Language language = Language.valueOf(ConfigHelper.getProperty("content.language"));
93+
File tmpDirLanguage = new File(tmpDirElimuAi, "lang-" + language);
94+
log.info("tmpDirLanguage: " + tmpDirLanguage);
95+
log.info("tmpDirLanguage.mkdir(): " + tmpDirLanguage.mkdir());
96+
File apkFile = new File(tmpDirLanguage, application.getPackageName() + ".apk");
9297
log.info("apkFile.getPath(): " + apkFile.getPath());
9398
FileUtils.copyURLToFile(new URL(fileUrl), apkFile);
9499
log.info("apkFile.exists(): " + apkFile.exists());

src/main/java/ai/elimu/web/servlet/CustomDispatcherServlet.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ private void populateDatabase(WebApplicationContext webApplicationContext) {
290290

291291
Application application = new Application();
292292
application.setPackageName("ai.elimu.soundcards");
293+
application.setRepoName("sound-cards");
293294
application.setApplicationStatus(ApplicationStatus.MISSING_APK);
294295
application.setContributor(contributor);
295296
applicationDao.create(application);

src/main/resources/META-INF/jpa-schema-export.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
applicationStatus varchar(255),
109109
infrastructural bit not null,
110110
packageName varchar(255),
111+
repoName varchar(255),
111112
contributor_id bigint,
112113
primary key (id)
113114
) type=MyISAM;

src/main/webapp/WEB-INF/jsp/application/application-version/create.jsp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,15 @@
4545
<content:aside>
4646
<h5 class="center">Resources</h5>
4747
<div class="card-panel deep-purple lighten-5">
48+
<p>
49+
GitHub repo:
50+
</p>
51+
<a href="https://github.com/elimu-ai/${application.repoName}" target="_blank">
52+
github.com/elimu-ai/<b>${applicationVersion.application.repoName}</b>
53+
</a>
54+
55+
<div class="divider" style="margin: 1em 0;"></div>
56+
4857
<p>
4958
Once published, the APK will become available for download through the <a href="https://github.com/elimu-ai/appstore" target="_blank">elimu.ai Appstore</a>.
5059
</p>

src/main/webapp/WEB-INF/jsp/application/create.jsp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
<form:label path="packageName" cssErrorClass="error">Package name</form:label>
1616
<form:input path="packageName" cssErrorClass="error" placeholder="ai.elimu.soundcards" />
1717
</div>
18+
<div class="col s12 m6 input-field">
19+
<form:label path="repoName" cssErrorClass="error">Repo name</form:label>
20+
<form:input path="repoName" cssErrorClass="error" placeholder="soundcards" />
21+
</div>
1822
</div>
1923

2024
<div class="row">

src/main/webapp/WEB-INF/jsp/application/edit.jsp

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,14 @@
1616
<div class="row">
1717
<form:hidden path="contributor" value="${application.contributor.id}" />
1818
<div class="input-field col s6">
19-
Package name: <code>${application.packageName}</code>
19+
<form:label path="packageName" cssErrorClass="error">Package name</form:label>
20+
<form:input disabled="true" path="packageName" cssErrorClass="error" placeholder="ai.elimu.soundcards" />
2021
<form:hidden path="packageName" value="${application.packageName}" />
2122
</div>
23+
<div class="col s12 m6 input-field">
24+
<form:label path="repoName" cssErrorClass="error">Repo name</form:label>
25+
<form:input path="repoName" cssErrorClass="error" placeholder="soundcards" />
26+
</div>
2227
<div class="input-field col s6">
2328
<select id="applicationStatus" name="applicationStatus">
2429
<option value="">-- Select --</option>
@@ -160,3 +165,15 @@
160165
</div>
161166
</div>
162167
</content:section>
168+
169+
<content:aside>
170+
<h5 class="center">Resources</h5>
171+
<div class="card-panel deep-purple lighten-5">
172+
<p>
173+
GitHub repo:
174+
</p>
175+
<a href="https://github.com/elimu-ai/${application.repoName}" target="_blank">
176+
github.com/elimu-ai/<b>${application.repoName}</b>
177+
</a>
178+
</div>
179+
</content:aside>

0 commit comments

Comments
 (0)