AAAAAAAAAAAAAAAAAAAh

This commit is contained in:
2026-01-06 00:16:22 +01:00
parent 11119513c7
commit f510fc851f
3 changed files with 14 additions and 27 deletions

View File

@@ -24,11 +24,13 @@ class MailController:
with ApiClient(self.config) as api: with ApiClient(self.config) as api:
req = request.get_json() req = request.get_json()
content = req["content"] content = req["content"]
payload = json.dumps(content)
print(payload)
api.default_headers["Authorization"] = f"Bearer {self._auth_data.get_token()}" api.default_headers["Authorization"] = f"Bearer {self._auth_data.get_token()}"
mail_api = MailApi(api) mail_api = MailApi(api)
mail_api.send(StrictStr(f'{{"content": {content}}}')) mail_api.send(StrictStr(payload))
return jsonify({"success": True, "message": None}), 200 return jsonify({"success": True, "message": None}), 200
except Exception as e: except Exception as e:
print(e) print(e)

View File

@@ -25,9 +25,8 @@ public class EmailController {
} }
@PostMapping("/mail/send") @PostMapping("/mail/send")
public ResponseEntity<String> send(@RequestBody String payload){ public ResponseEntity<String> send(@RequestBody Map<String, Object> payload){
try { try {
Logger.displayInfo(payload);
service.send("laurent0206.cr@gmail.com", "Hello from board mate !", payload); service.send("laurent0206.cr@gmail.com", "Hello from board mate !", payload);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} catch (Exception e) { } catch (Exception e) {

View File

@@ -14,6 +14,8 @@ import com.sendgrid.helpers.mail.objects.Email;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Map;
@Service @Service
public class SendgridService { public class SendgridService {
@@ -28,9 +30,9 @@ public class SendgridService {
this.senderEmail = email; this.senderEmail = email;
} }
public void send(String dst, String subject, String text) throws ServiceException { public void send(String dst, String subject, Map<String, Object> payload) throws ServiceException {
try { try {
Content content = new Content("text/plain", formatContent(text)); Content content = new Content("text/plain", formatContent(payload));
Mail mail = new Mail(this.senderEmail, subject, new Email(dst), content); Mail mail = new Mail(this.senderEmail, subject, new Email(dst), content);
Request request = new Request(); Request request = new Request();
@@ -46,44 +48,28 @@ public class SendgridService {
} }
} }
private String formatContent(String content) throws JsonProcessingException { private String formatContent(Map<String, Object> payload) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(content);
JsonNode node = root.has("content") ? root.path("content") : root;
if (node.isTextual()) {
return node.asText();
}
StringBuilder mailBody = new StringBuilder(); StringBuilder mailBody = new StringBuilder();
mailBody.append("White: ") mailBody.append("White: ")
.append(node.path("white_name").asText("N/A")) .append(payload.get("white_name"))
.append("\n"); .append("\n");
mailBody.append("Black: ") mailBody.append("Black: ")
.append(node.path("black_name").asText("N/A")) .append(payload.get("black_name"))
.append("\n"); .append("\n");
mailBody.append("Time Control: ") mailBody.append("Time Control: ")
.append(node.path("time_control").asInt(0)) .append(payload.get("time_control"))
.append(" + ") .append(" + ")
.append(node.path("increment").asInt(0)) .append(payload.get("increment"))
.append("\n"); .append("\n");
mailBody.append("Timestamp: ") mailBody.append("Timestamp: ")
.append(node.path("timestamp").asLong(0)) .append(payload.get("timestamp"))
.append("\n\n"); .append("\n\n");
mailBody.append("Moves:\n");
int i = 1;
for (JsonNode move : node.path("moves")) {
mailBody.append(i++).append(". ")
.append(move.asText())
.append("\n");
}
return mailBody.toString(); return mailBody.toString();
} }
} }