mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-05-05 22:56:59 +02:00
merge with develop
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
package sonia.scm.api.v2.resources;
|
||||
|
||||
import de.otto.edison.hal.HalRepresentation;
|
||||
@@ -60,6 +60,7 @@ public class ConfigDto extends HalRepresentation {
|
||||
private String namespaceStrategy;
|
||||
private String loginInfoUrl;
|
||||
private String releaseFeedUrl;
|
||||
private String mailDomainName;
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("squid:S1185") // We want to have this method available in this package
|
||||
|
||||
@@ -21,9 +21,10 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
package sonia.scm.api.v2.resources;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import de.otto.edison.hal.Embedded;
|
||||
import de.otto.edison.hal.HalRepresentation;
|
||||
import de.otto.edison.hal.Links;
|
||||
@@ -40,7 +41,10 @@ public class MeDto extends HalRepresentation {
|
||||
|
||||
private String name;
|
||||
private String displayName;
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
private String mail;
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
private String fallbackMail;
|
||||
private Set<String> groups;
|
||||
|
||||
MeDto(Links links, Embedded embedded) {
|
||||
|
||||
@@ -24,12 +24,14 @@
|
||||
|
||||
package sonia.scm.api.v2.resources;
|
||||
|
||||
import com.google.common.base.Strings;
|
||||
import de.otto.edison.hal.Embedded;
|
||||
import de.otto.edison.hal.Links;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.subject.PrincipalCollection;
|
||||
import org.apache.shiro.subject.Subject;
|
||||
import sonia.scm.group.GroupCollector;
|
||||
import sonia.scm.user.EMail;
|
||||
import sonia.scm.user.User;
|
||||
import sonia.scm.user.UserManager;
|
||||
import sonia.scm.user.UserPermissions;
|
||||
@@ -46,12 +48,14 @@ public class MeDtoFactory extends HalAppenderMapper {
|
||||
private final ResourceLinks resourceLinks;
|
||||
private final UserManager userManager;
|
||||
private final GroupCollector groupCollector;
|
||||
private final EMail eMail;
|
||||
|
||||
@Inject
|
||||
public MeDtoFactory(ResourceLinks resourceLinks, UserManager userManager, GroupCollector groupCollector) {
|
||||
public MeDtoFactory(ResourceLinks resourceLinks, UserManager userManager, GroupCollector groupCollector, EMail eMail) {
|
||||
this.resourceLinks = resourceLinks;
|
||||
this.userManager = userManager;
|
||||
this.groupCollector = groupCollector;
|
||||
this.eMail = eMail;
|
||||
}
|
||||
|
||||
public MeDto create() {
|
||||
@@ -61,6 +65,7 @@ public class MeDtoFactory extends HalAppenderMapper {
|
||||
MeDto dto = createDto(user);
|
||||
mapUserProperties(user, dto);
|
||||
mapGroups(user, dto);
|
||||
setGeneratedMail(user, dto);
|
||||
return dto;
|
||||
}
|
||||
|
||||
@@ -79,6 +84,12 @@ public class MeDtoFactory extends HalAppenderMapper {
|
||||
return subject.getPrincipals();
|
||||
}
|
||||
|
||||
private void setGeneratedMail(User user, MeDto dto) {
|
||||
if (Strings.isNullOrEmpty(user.getMail())) {
|
||||
dto.setFallbackMail(eMail.getMailOrFallback(user));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private MeDto createDto(User user) {
|
||||
Links.Builder linksBuilder = linkingTo().self(resourceLinks.me().self());
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
package sonia.scm.api.v2.resources;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
@@ -47,7 +47,8 @@ public class UserDto extends HalRepresentation {
|
||||
private String displayName;
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
private Instant lastModified;
|
||||
@NotEmpty @Email
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@Email
|
||||
private String mail;
|
||||
@Pattern(regexp = ValidationUtil.REGEX_NAME)
|
||||
private String name;
|
||||
|
||||
Reference in New Issue
Block a user