Skip to content

Commit d1cd895

Browse files
committed
Fixing API bugs with downloads, user, and edit pages
1 parent 6b9511d commit d1cd895

File tree

1 file changed

+29
-18
lines changed

1 file changed

+29
-18
lines changed

src/main/java/org/computate/frFR/java/EcrireApiClasse.java

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1871,11 +1871,18 @@ public void ecrireGenApiServiceImpl2(String classeLangueNom) throws Exception {
18711871
if(StringUtils.containsAny(classeApiMethode, "POST", "PUT", "PATCH", "DELETE"))
18721872
s("JsonObject body, ");
18731873
l("ServiceRequest ", i18nGlobale.getString(I18n.var_requeteService), ", Handler<AsyncResult<ServiceResponse>> ", i18nGlobale.getString(I18n.var_gestionnaireEvenements), ") {");
1874-
tl(2, "Boolean ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_PublicLire), " = ", classePublicLire || classeRoleSession || classeRoleUtilisateur, ";");
1874+
tl(2, "Boolean ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_PublicLire), " = ",
1875+
!classeApiMethode.contains(i18nGlobale.getString(I18n.var_Telechargement))
1876+
&& ( classePublicLire || classeRoleSession || classeRoleUtilisateur)
1877+
, ";");
18751878
tl(2, i18nGlobale.getString(I18n.var_utilisateur), "(", i18nGlobale.getString(I18n.var_requeteService), ", ", classePartsRequeteSite.nomSimple(classeLangueNom), ".class, ", classePartsUtilisateurSite.nomSimple(classeLangueNom), ".class, ", classePartsUtilisateurSite.nomSimple(classeLangueNom), ".get", i18nGlobale.getString(I18n.var_ClasseApiAddresse), "(), \"post", classePartsUtilisateurSite.nomSimple(classeLangueNom), "Future\", \"patch", classePartsUtilisateurSite.nomSimple(classeLangueNom), "Future\", ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_PublicLire), ").onSuccess(", i18nGlobale.getString(I18n.var_requeteSite), " -> {");
18761879
if(
18771880
classeAuth
1878-
&& BooleanUtils.isNotTrue(classePublicLire)
1881+
&& (BooleanUtils.isNotTrue(classePublicLire)
1882+
|| classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageUtilisateur))
1883+
|| classeApiMethode.contains(i18nGlobale.getString(I18n.var_Telechargement))
1884+
|| classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageEdition))
1885+
)
18791886
) {
18801887
if(authPolitiqueGranulee) {
18811888
tl(3, "String ", classeVarId, " = ", i18nGlobale.getString(I18n.var_requeteSite), ".get", i18nGlobale.getString(I18n.var_RequeteService), "().getParams().getJsonObject(\"path\").getString(\"", classeVarId, "\");");
@@ -1998,7 +2005,11 @@ public void ecrireGenApiServiceImpl2(String classeLangueNom) throws Exception {
19982005

19992006
if(
20002007
classeAuth
2001-
&& BooleanUtils.isNotTrue(classePublicLire)
2008+
&& (BooleanUtils.isNotTrue(classePublicLire)
2009+
|| classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageUtilisateur))
2010+
|| classeApiMethode.contains(i18nGlobale.getString(I18n.var_Telechargement))
2011+
|| classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageEdition))
2012+
)
20022013
) {
20032014
if(authPolitiqueGranulee) {
20042015
tl(5, "}");
@@ -2637,7 +2648,6 @@ else if(classeApiMethode.equals(i18nGlobale.getString(I18n.var_PUTFusion)) || cl
26372648
tl(2, "Boolean ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_PublicLire), " = ", classePublicLire || classeRoleSession || classeRoleUtilisateur, ";");
26382649
tl(2, i18nGlobale.getString(I18n.var_utilisateur), "(", i18nGlobale.getString(I18n.var_requeteService), ", ", classePartsRequeteSite.nomSimple(classeLangueNom), ".class, ", classePartsUtilisateurSite.nomSimple(classeLangueNom), ".class, ", classePartsUtilisateurSite.nomSimple(classeLangueNom), ".get", i18nGlobale.getString(I18n.var_ClasseApiAddresse), "(), \"post", classePartsUtilisateurSite.nomSimple(classeLangueNom), "Future\", \"patch", classePartsUtilisateurSite.nomSimple(classeLangueNom), "Future\", ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_PublicLire), ").onSuccess(", i18nGlobale.getString(I18n.var_requeteSite), " -> {");
26392650
tl(3, "try {");
2640-
tl(4, i18nGlobale.getString(I18n.var_requeteSite), ".addScopes(\"GET\");");
26412651
tl(4, classePartsRequeteApi.nomSimple(classeLangueNom), " ", i18nGlobale.getString(I18n.var_requeteApi), " = new ", classePartsRequeteApi.nomSimple(classeLangueNom), "();");
26422652
tl(4, i18nGlobale.getString(I18n.var_requeteApi), ".setRows(1L);");
26432653
tl(4, i18nGlobale.getString(I18n.var_requeteApi), ".setNumFound(1L);");
@@ -2693,7 +2703,6 @@ else if(classeApiMethode.equals(i18nGlobale.getString(I18n.var_PUTFusion)) || cl
26932703
tl(2, "Boolean ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_PublicLire), " = ", classePublicLire || classeRoleSession || classeRoleUtilisateur, ";");
26942704
tl(2, i18nGlobale.getString(I18n.var_utilisateur), "(", i18nGlobale.getString(I18n.var_requeteService), ", ", classePartsRequeteSite.nomSimple(classeLangueNom), ".class, ", classePartsUtilisateurSite.nomSimple(classeLangueNom), ".class, ", classePartsUtilisateurSite.nomSimple(classeLangueNom), ".get", i18nGlobale.getString(I18n.var_ClasseApiAddresse), "(), \"post", classePartsUtilisateurSite.nomSimple(classeLangueNom), "Future\", \"patch", classePartsUtilisateurSite.nomSimple(classeLangueNom), "Future\", ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_PublicLire), ").onSuccess(", i18nGlobale.getString(I18n.var_requeteSite), " -> {");
26952705
tl(3, "try {");
2696-
tl(4, i18nGlobale.getString(I18n.var_requeteSite), ".addScopes(\"GET\");");
26972706
tl(4, i18nGlobale.getString(I18n.var_requeteSite), ".setJsonObject(body);");
26982707
tl(4, i18nGlobale.getString(I18n.var_requeteService), ".getParams().getJsonObject(\"query\").put(\"rows\", 1);");
26992708
tl(4, i18nGlobale.getString(I18n.var_rechercher), classeApiClasseNomSimple, i18nGlobale.getString(I18n.var_Liste), "(", i18nGlobale.getString(I18n.var_requeteSite), ", false, true, true).onSuccess(", i18nGlobale.getString(I18n.var_liste), classeNomSimple, " -> {");
@@ -2747,7 +2756,6 @@ else if(classeApiMethode.equals(i18nGlobale.getString(I18n.var_PUTFusion)) || cl
27472756
tl(2, "Boolean ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_PublicLire), " = ", classePublicLire || classeRoleSession || classeRoleUtilisateur, ";");
27482757
tl(2, i18nGlobale.getString(I18n.var_utilisateur), "(", i18nGlobale.getString(I18n.var_requeteService), ", ", classePartsRequeteSite.nomSimple(classeLangueNom), ".class, ", classePartsUtilisateurSite.nomSimple(classeLangueNom), ".class, ", classePartsUtilisateurSite.nomSimple(classeLangueNom), ".get", i18nGlobale.getString(I18n.var_ClasseApiAddresse), "(), \"post", classePartsUtilisateurSite.nomSimple(classeLangueNom), "Future\", \"patch", classePartsUtilisateurSite.nomSimple(classeLangueNom), "Future\", ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_PublicLire), ").onSuccess(", i18nGlobale.getString(I18n.var_requeteSite), " -> {");
27492758
tl(3, "try {");
2750-
tl(4, i18nGlobale.getString(I18n.var_requeteSite), ".addScopes(\"GET\");");
27512759
tl(4, i18nGlobale.getString(I18n.var_requeteSite), ".setJsonObject(body);");
27522760
tl(4, i18nGlobale.getString(I18n.var_requeteService), ".getParams().getJsonObject(\"query\").put(\"rows\", 1);");
27532761
tl(4, i18nGlobale.getString(I18n.var_rechercher), classeApiClasseNomSimple, i18nGlobale.getString(I18n.var_Liste), "(", i18nGlobale.getString(I18n.var_requeteSite), ", false, true, true).onSuccess(", i18nGlobale.getString(I18n.var_liste), classeNomSimple, " -> {");
@@ -2806,7 +2814,6 @@ else if(StringUtils.containsAny(classeApiMethode, i18nGlobale.getString(I18n.var
28062814
tl(2, "Boolean ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_PublicLire), " = ", classePublicLire || classeRoleSession || classeRoleUtilisateur, ";");
28072815
tl(2, i18nGlobale.getString(I18n.var_utilisateur), "(", i18nGlobale.getString(I18n.var_requeteService), ", ", classePartsRequeteSite.nomSimple(classeLangueNom), ".class, ", classePartsUtilisateurSite.nomSimple(classeLangueNom), ".class, ", classePartsUtilisateurSite.nomSimple(classeLangueNom), ".get", i18nGlobale.getString(I18n.var_ClasseApiAddresse), "(), \"post", classePartsUtilisateurSite.nomSimple(classeLangueNom), "Future\", \"patch", classePartsUtilisateurSite.nomSimple(classeLangueNom), "Future\", ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_PublicLire), ").onSuccess(", i18nGlobale.getString(I18n.var_requeteSite), " -> {");
28082816
tl(3, "try {");
2809-
tl(4, i18nGlobale.getString(I18n.var_requeteSite), ".addScopes(\"GET\");");
28102817
if(StringUtils.equals(classeApiTypeMediaRequeteMethode, "application/json")) {
28112818
tl(4, classePartsRequeteApi.nomSimple(classeLangueNom), " ", i18nGlobale.getString(I18n.var_requeteApi), " = new ", classePartsRequeteApi.nomSimple(classeLangueNom), "();");
28122819
tl(4, i18nGlobale.getString(I18n.var_requeteApi), ".setRows(1L);");
@@ -3977,17 +3984,21 @@ else if(classeApiMethode.contains("DELETE")) {
39773984
}
39783985
else if(classeApiMethode.contains(i18nGlobale.getString(I18n.var_Telechargement))) {
39793986
tl(3, classeNomSimple, " o = ", i18nGlobale.getString(I18n.var_liste), classeApiClasseNomSimple, ".getList().stream().findFirst().orElse(null);");
3980-
tl(3, "String uri = ", i18nGlobale.getString(I18n.var_requeteSite), ".get", i18nGlobale.getString(I18n.var_RequeteService), "().getExtra().getString(\"uri\");");
3981-
tl(3, "String ", i18nGlobale.getString(I18n.var_cheminTelechargement), " = String.format(\"%s%s.", StringUtils.substringAfterLast(classeApiTypeMedia200Methode, "/"), "\", config.getString(", classePartsConfigCles.nomSimple(classeLangueNom), ".", i18nGlobale.getString(I18n.var_CHEMIN_TELECHARGEMENT), "), uri);");
3982-
tl(3, "vertx.fileSystem().readFile(", i18nGlobale.getString(I18n.var_cheminTelechargement), ").onSuccess(buffer -> {");
3983-
tl(4, "MultiMap headers = MultiMap.caseInsensitiveMultiMap()");
3984-
tl(6, ".add(\"Content-Type\", \"", classeApiTypeMedia200Methode, "\")");
3985-
tl(6, ".add(\"Content-Disposition\", \"attachment; filename=\\\"\" + o.get", StringUtils.capitalize(classeVarId), "() + \".", StringUtils.substringAfterLast(classeApiTypeMedia200Methode, "/"), "\\\"\");");
3986-
tl(4, "promise.complete(new ServiceResponse(200, \"OK\", buffer, headers));");
3987-
tl(3, "}).onFailure(ex -> {");
3988-
tl(4, "LOG.error(String.format(\"", i18nGlobale.getString(I18n.str_Impossible_de_trouver_le_telechargement), "\", ", i18nGlobale.getString(I18n.var_cheminTelechargement), "), ex);");
3989-
tl(4, "promise.fail(ex);");
3990-
tl(3, "});");
3987+
tl(3, "if(o == null) {");
3988+
tl(4, "promise.complete(new ServiceResponse(403, \"FORBIDDEN\", Buffer.buffer(), null));");
3989+
tl(3, "} else {");
3990+
tl(4, "String uri = ", i18nGlobale.getString(I18n.var_requeteSite), ".get", i18nGlobale.getString(I18n.var_RequeteService), "().getExtra().getString(\"uri\");");
3991+
tl(4, "String ", i18nGlobale.getString(I18n.var_cheminTelechargement), " = String.format(\"%s%s.", StringUtils.substringAfterLast(classeApiTypeMedia200Methode, "/"), "\", config.getString(", classePartsConfigCles.nomSimple(classeLangueNom), ".", i18nGlobale.getString(I18n.var_CHEMIN_TELECHARGEMENT), "), uri);");
3992+
tl(4, "vertx.fileSystem().readFile(", i18nGlobale.getString(I18n.var_cheminTelechargement), ").onSuccess(buffer -> {");
3993+
tl(5, "MultiMap headers = MultiMap.caseInsensitiveMultiMap()");
3994+
tl(7, ".add(\"Content-Type\", \"", classeApiTypeMedia200Methode, "\")");
3995+
tl(7, ".add(\"Content-Disposition\", \"attachment; filename=\\\"\" + o.get", StringUtils.capitalize(classeVarId), "() + \".", StringUtils.substringAfterLast(classeApiTypeMedia200Methode, "/"), "\\\"\");");
3996+
tl(5, "promise.complete(new ServiceResponse(200, \"OK\", buffer, headers));");
3997+
tl(4, "}).onFailure(ex -> {");
3998+
tl(5, "LOG.error(String.format(\"", i18nGlobale.getString(I18n.str_Impossible_de_trouver_le_telechargement), "\", ", i18nGlobale.getString(I18n.var_cheminTelechargement), "), ex);");
3999+
tl(5, "promise.fail(ex);");
4000+
tl(4, "});");
4001+
tl(3, "}");
39914002
} else {
39924003
tl(3, "if(json == null) {");
39934004
tl(4, "String ", classeVarId, " = ", i18nGlobale.getString(I18n.var_requeteSite), ".get", i18nGlobale.getString(I18n.var_RequeteService), "().getParams().getJsonObject(\"path\").getString(\"", classeVarId, "\");");

0 commit comments

Comments
 (0)