Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit58268e7

Browse files
authored
Merge branch 'dev' into oauth_updates
2 parents79c07b0 +41e2af2 commit58268e7

File tree

8 files changed

+87
-10
lines changed

8 files changed

+87
-10
lines changed

‎.github/workflows/sonarcloud.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ jobs:
3030
env:
3131
GITHUB_TOKEN:${{ secrets.GITHUB_TOKEN }}# Needed to get PR information, if any
3232
SONAR_TOKEN:${{ secrets.SONAR_TOKEN }}
33+
SONAR_SCANNER_OPTS:"-Dsonar.javascript.node.maxspace=8192 -Xmx8192m"

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/EmailCommunicationService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22

33
publicinterfaceEmailCommunicationService {
44
booleansendPasswordResetEmail(Stringto,Stringtoken,Stringmessage);
5+
booleansendInvitationEmails(String[]to,StringinviteLink,Stringmessage);
56
}

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/EmailCommunicationServiceImpl.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,32 @@ public boolean sendPasswordResetEmail(String to, String token, String message) {
4949

5050
}
5151

52+
@Override
53+
publicbooleansendInvitationEmails(String[]to,StringinviteLink,Stringmessage) {
54+
try {
55+
Stringsubject ="You've been invited!";
56+
MimeMessagemimeMessage =javaMailSender.createMimeMessage();
57+
58+
MimeMessageHelpermimeMessageHelper =newMimeMessageHelper(mimeMessage,true);
59+
60+
mimeMessageHelper.setFrom(config.getNotificationsEmailSender());
61+
mimeMessageHelper.setTo(to);
62+
mimeMessageHelper.setSubject(subject);
63+
64+
// Construct the message with the invite link
65+
StringformattedMessage =String.format(message,inviteLink);
66+
mimeMessageHelper.setText(formattedMessage,true);// Set HTML to true to allow links
67+
68+
javaMailSender.send(mimeMessage);
69+
70+
returntrue;
71+
72+
}catch (Exceptione) {
73+
log.error("Failed to send mail to: {}, Exception: ",to,e);
74+
returnfalse;
75+
}
76+
77+
78+
}
79+
5280
}

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/AuthenticationController.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
packageorg.lowcoder.api.authentication;
22

3-
importlombok.RequiredArgsConstructor;
3+
importjava.util.List;
4+
45
importorg.lowcoder.api.authentication.dto.APIKeyRequest;
56
importorg.lowcoder.api.authentication.dto.AuthConfigRequest;
67
importorg.lowcoder.api.authentication.service.AuthenticationApiService;
@@ -20,9 +21,9 @@
2021
importorg.springframework.web.bind.annotation.RequestParam;
2122
importorg.springframework.web.bind.annotation.RestController;
2223
importorg.springframework.web.server.ServerWebExchange;
23-
importreactor.core.publisher.Mono;
2424

25-
importjava.util.List;
25+
importlombok.RequiredArgsConstructor;
26+
importreactor.core.publisher.Mono;
2627

2728
@RequiredArgsConstructor
2829
@RestController

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/AuthenticationEndpoints.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
packageorg.lowcoder.api.authentication;
22

3-
importcom.fasterxml.jackson.annotation.JsonView;
4-
importio.swagger.v3.oas.annotations.Operation;
3+
importjava.util.List;
4+
55
importorg.lowcoder.api.authentication.dto.APIKeyRequest;
66
importorg.lowcoder.api.authentication.dto.AuthConfigRequest;
77
importorg.lowcoder.api.framework.view.ResponseView;
@@ -13,11 +13,20 @@
1313
importorg.lowcoder.sdk.auth.AbstractAuthConfig;
1414
importorg.lowcoder.sdk.config.JsonViews;
1515
importorg.lowcoder.sdk.constants.AuthSourceConstants;
16-
importorg.springframework.web.bind.annotation.*;
16+
importorg.springframework.web.bind.annotation.DeleteMapping;
17+
importorg.springframework.web.bind.annotation.GetMapping;
18+
importorg.springframework.web.bind.annotation.PathVariable;
19+
importorg.springframework.web.bind.annotation.PostMapping;
20+
importorg.springframework.web.bind.annotation.RequestBody;
21+
importorg.springframework.web.bind.annotation.RequestMapping;
22+
importorg.springframework.web.bind.annotation.RequestParam;
23+
importorg.springframework.web.bind.annotation.RestController;
1724
importorg.springframework.web.server.ServerWebExchange;
18-
importreactor.core.publisher.Mono;
1925

20-
importjava.util.List;
26+
importcom.fasterxml.jackson.annotation.JsonView;
27+
28+
importio.swagger.v3.oas.annotations.Operation;
29+
importreactor.core.publisher.Mono;
2130

2231
@RestController
2332
@RequestMapping(value = {NewUrl.CUSTOM_AUTH})
@@ -159,4 +168,5 @@ public Mono<ResponseView<Boolean>> linkAccountWithThirdParty(
159168
*/
160169
publicrecordFormLoginRequest(StringloginId,Stringpassword,booleanregister,Stringsource,StringauthId) {
161170
}
162-
}
171+
}
172+

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/service/AuthenticationApiServiceImpl.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,10 @@ public Flux<APIKey> findAPIKeys() {
348348
returnsessionUserService.getVisitor()
349349
.flatMapIterable(user ->
350350
newArrayList<>(user.getApiKeysList())
351-
);
351+
)
352+
.doOnNext(apiKey -> {
353+
apiKey.setToken(apiKey.getToken().substring(0,6) +"*************" +apiKey.getToken().substring(apiKey.getToken().length() -6));
354+
});
352355
}
353356

354357
privateMono<Void>removeTokensByAuthId(StringauthId) {

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/InvitationController.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
importorg.lowcoder.api.framework.view.ResponseView;
88
importorg.lowcoder.api.home.SessionUserService;
99
importorg.lowcoder.api.usermanagement.view.InvitationVO;
10+
importorg.lowcoder.domain.user.service.EmailCommunicationService;
11+
importorg.lowcoder.sdk.config.CommonConfig;
1012
importorg.springframework.beans.factory.annotation.Autowired;
1113
importorg.springframework.web.bind.annotation.PathVariable;
1214
importorg.springframework.web.bind.annotation.RequestParam;
@@ -24,6 +26,12 @@ public class InvitationController implements InvitationEndpoints
2426
@Autowired
2527
privateSessionUserServicesessionUserService;
2628

29+
@Autowired
30+
privateEmailCommunicationServiceemailCommunicationService;
31+
32+
@Autowired
33+
privateCommonConfigconfig;
34+
2735
@Override
2836
publicMono<ResponseView<InvitationVO>>create(@RequestParamStringorgId) {
2937
returninvitationApiService.create(orgId)
@@ -50,4 +58,13 @@ public Mono<ResponseView<?>> inviteUser(@PathVariable String invitationId) {
5058
);
5159
}
5260

61+
@Override
62+
publicMono<ResponseView<Boolean>>sendInvitationEmails(InviteEmailRequestreq) {
63+
returninvitationApiService.create(req.orgId()).map(invitation ->
64+
emailCommunicationService.sendInvitationEmails(req.emails(),
65+
config.getLowcoderPublicUrl() +"/invite/" +invitation.getInviteCode(),
66+
"You have been invited to join our platform. Click here to accept the invitation: %s"))
67+
.map(ResponseView::success);
68+
}
69+
5370
}

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/InvitationEndpoints.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
importorg.springframework.web.bind.annotation.GetMapping;
88
importorg.springframework.web.bind.annotation.PathVariable;
99
importorg.springframework.web.bind.annotation.PostMapping;
10+
importorg.springframework.web.bind.annotation.RequestBody;
1011
importorg.springframework.web.bind.annotation.RequestMapping;
1112
importorg.springframework.web.bind.annotation.RequestParam;
1213
importorg.springframework.web.bind.annotation.RestController;
@@ -46,5 +47,20 @@ public interface InvitationEndpoints
4647
)
4748
@GetMapping("/{invitationId}/invite")
4849
publicMono<ResponseView<?>>inviteUser(@PathVariableStringinvitationId);
50+
51+
@Operation(
52+
tags =TAG_INVITATION_MANAGEMENT,
53+
operationId ="sendInvitationEmails",
54+
summary ="Send invitation emails",
55+
description ="Send invitation emails to the specified addresses"
56+
)
57+
@PostMapping("/email/invite")
58+
publicMono<ResponseView<Boolean>>sendInvitationEmails(@RequestBodyInviteEmailRequestreq);
59+
/**
60+
* @param emails email addresses to send the invitation to
61+
* @param inviteLink the link to be included in the email
62+
*/
63+
publicrecordInviteEmailRequest(String[]emails,StringorgId) {
64+
}
4965

5066
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp