Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package com.tiki.server.auth.token.repository;

import com.tiki.server.auth.token.entity.Token;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

import com.tiki.server.common.support.RedisRepository;
import java.util.Optional;
import org.springframework.data.repository.CrudRepository;

@Repository
@RedisRepository
public interface TokenRepository extends CrudRepository<Token, Long> {

Optional<Token> findById(final long id);
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/com/tiki/server/common/config/JpaAuditingConfig.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,20 @@
package com.tiki.server.common.config;

import com.tiki.server.common.support.RedisRepository;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@Configuration
@EnableJpaAuditing
@EnableJpaRepositories(
basePackages = "com.tiki.server",
excludeFilters = @ComponentScan.Filter(
type = FilterType.ANNOTATION,
value = RedisRepository.class
)
)
public class JpaAuditingConfig {
}
11 changes: 10 additions & 1 deletion src/main/java/com/tiki/server/common/config/RedisConfig.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
package com.tiki.server.common.config;

import com.tiki.server.common.support.RedisRepository;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
Expand All @@ -12,7 +15,13 @@
import java.util.Map;

@Configuration
@EnableRedisRepositories
@EnableRedisRepositories(
basePackages = "com.tiki.server",
includeFilters = @ComponentScan.Filter(
type = FilterType.ANNOTATION,
value = RedisRepository.class
)
)
public class RedisConfig {

@Value("${REDIS.host}")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.tiki.server.common.dto.ErrorCodeResponse;
import com.tiki.server.common.exception.TikiException;
import com.tiki.server.email.emailsender.exception.EmailSenderException;
import com.tiki.server.email.teaminvitation.exception.TeamInvitationException;
import com.tiki.server.teaminvitation.exception.TeamInvitationException;
import com.tiki.server.email.verification.exception.EmailVerificationException;
import com.tiki.server.folder.exception.FolderException;
import com.tiki.server.note.exception.NoteException;
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/com/tiki/server/common/support/RedisRepository.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.tiki.server.common.support;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface RedisRepository {
}
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ public void sendTeamInvitationMail(
final String senderName,
final String teamName,
final long teamId,
final long invitationId
final String invitationId
) {
Map<String, String> map = new HashMap<>();
map.put("teamId", String.format("%d", teamId));
map.put("invitationId", String.format("%d", invitationId));
map.put("invitationId", invitationId);
map.put("teamName", teamName);
map.put("senderName", senderName);
MimeMessage message = makeMessage(email, MAIL_INVITE_TEAM_MEMBER, INVITE_TEAM_MEMBER_TEMPLATE_NAME, map);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package com.tiki.server.email.emailsender.service;

import static com.tiki.server.email.teaminvitation.messages.ErrorCode.ALREADY_INVITED;
import static com.tiki.server.teaminvitation.messages.ErrorCode.ALREADY_INVITED;
import static com.tiki.server.memberteammanager.message.ErrorCode.CONFLICT_TEAM_MEMBER;

import com.tiki.server.common.entity.Position;
import com.tiki.server.email.emailsender.entity.MailSender;
import com.tiki.server.email.emailsender.service.dto.EmailServiceRequest;
import com.tiki.server.email.emailsender.service.dto.TeamInvitationCreateServiceRequest;
import com.tiki.server.email.teaminvitation.adapter.TeamInvitationFinder;
import com.tiki.server.email.teaminvitation.adapter.TeamInvitationSaver;
import com.tiki.server.email.teaminvitation.entity.TeamInvitation;
import com.tiki.server.email.teaminvitation.exception.TeamInvitationException;
import com.tiki.server.teaminvitation.adapter.TeamInvitationFinder;
import com.tiki.server.teaminvitation.adapter.TeamInvitationSaver;
import com.tiki.server.teaminvitation.entity.TeamInvitation;
import com.tiki.server.teaminvitation.exception.TeamInvitationException;
import com.tiki.server.email.verification.adapter.EmailVerificationSaver;
import com.tiki.server.email.verification.domain.EmailVerification;
import com.tiki.server.member.adapter.MemberFinder;
Expand Down Expand Up @@ -79,7 +79,7 @@ public void createTeamInvitation(final TeamInvitationCreateServiceRequest reques
}

private void checkDuplicateInvitation(final TeamInvitationCreateServiceRequest request) {
teamInvitationFinder.presentByTeamIdAndEmail(request.teamId(), request.targetEmail()
teamInvitationFinder.findById(request.teamId() + request.targetEmail().getEmail()
)
.ifPresent(invitation -> {
throw new TeamInvitationException(ALREADY_INVITED);
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

import com.tiki.server.email.Email;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import org.springframework.data.annotation.Id;
import org.springframework.data.redis.core.RedisHash;

import static jakarta.persistence.GenerationType.IDENTITY;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package com.tiki.server.email.verification.repository;

import com.tiki.server.common.support.RedisRepository;
import com.tiki.server.email.verification.domain.EmailVerification;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

import java.util.Optional;
import org.springframework.data.repository.CrudRepository;

@Repository
@RedisRepository
public interface EmailVerificationRepository extends CrudRepository<EmailVerification, Long> {

Optional<EmailVerification> findById(final String email);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package com.tiki.server.email.teaminvitation.adapter;
package com.tiki.server.teaminvitation.adapter;

import com.tiki.server.common.support.RepositoryAdapter;
import com.tiki.server.email.teaminvitation.entity.TeamInvitation;
import com.tiki.server.email.teaminvitation.repository.TeamInvitationRepository;
import com.tiki.server.teaminvitation.entity.TeamInvitation;
import com.tiki.server.teaminvitation.repository.TeamInvitationRepository;
import lombok.RequiredArgsConstructor;

import java.util.List;

@RepositoryAdapter
@RequiredArgsConstructor
public class TeamInvitationDeleter {
Expand All @@ -16,8 +14,4 @@ public class TeamInvitationDeleter {
public void deleteTeamInvitation(final TeamInvitation teamInvitation) {
teamInvitationRepository.delete(teamInvitation);
}

public void deleteAll(final List<TeamInvitation> expiredInvitation) {
teamInvitationRepository.deleteAll(expiredInvitation);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.tiki.server.teaminvitation.adapter;

import com.tiki.server.common.support.RepositoryAdapter;
import com.tiki.server.teaminvitation.entity.TeamInvitation;
import com.tiki.server.teaminvitation.exception.TeamInvitationException;
import com.tiki.server.teaminvitation.messages.ErrorCode;
import com.tiki.server.teaminvitation.repository.TeamInvitationRepository;
import lombok.RequiredArgsConstructor;

import java.util.List;
import java.util.Optional;

@RepositoryAdapter
@RequiredArgsConstructor
public class TeamInvitationFinder {

private final TeamInvitationRepository teamInvitationRepository;

public TeamInvitation findByInvitationId(final String invitationId) {
return teamInvitationRepository.findById(invitationId)
.orElseThrow(() -> new TeamInvitationException(ErrorCode.INVALID_TEAM_INVITATION));
}

public List<TeamInvitation> findAllByIdStartingWith(final String teamId) {
return teamInvitationRepository.findAllByIdStartingWith(teamId);
}

public Optional<TeamInvitation> findById(final String id) {
return teamInvitationRepository.findById(id);
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.tiki.server.email.teaminvitation.adapter;
package com.tiki.server.teaminvitation.adapter;


import com.tiki.server.common.support.RepositoryAdapter;
import com.tiki.server.email.teaminvitation.entity.TeamInvitation;
import com.tiki.server.email.teaminvitation.repository.TeamInvitationRepository;
import com.tiki.server.teaminvitation.entity.TeamInvitation;
import com.tiki.server.teaminvitation.repository.TeamInvitationRepository;
import lombok.RequiredArgsConstructor;

@RepositoryAdapter
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.tiki.server.email.teaminvitation.controller;

import static com.tiki.server.email.teaminvitation.messages.SuccessMessage.*;
package com.tiki.server.teaminvitation.controller;

import com.tiki.server.common.dto.SuccessResponse;
import com.tiki.server.email.teaminvitation.service.TeamInvitationService;
import com.tiki.server.email.teaminvitation.service.dto.TeamInvitationEmailsGetResponse;
import com.tiki.server.email.teaminvitation.service.dto.TeamInvitationInformGetResponse;
import com.tiki.server.teaminvitation.service.TeamInvitationService;
import com.tiki.server.teaminvitation.service.dto.TeamInvitationEmailsGetResponse;
import com.tiki.server.teaminvitation.service.dto.TeamInvitationInformGetResponse;
import com.tiki.server.teaminvitation.messages.SuccessMessage;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
Expand All @@ -27,50 +27,50 @@ public SuccessResponse<TeamInvitationEmailsGetResponse> getTeamInvitation(
) {
long memberId = Long.parseLong(principal.getName());
TeamInvitationEmailsGetResponse response = teamInvitationService.getInvitations(memberId, teamId);
return SuccessResponse.success(GET_TEAM_INVITATIONS.getMessage(), response);
return SuccessResponse.success(SuccessMessage.GET_TEAM_INVITATIONS.getMessage(), response);
}

@ResponseStatus(HttpStatus.OK)
@DeleteMapping("/team/{teamId}")
public SuccessResponse<?> deleteTeamInvitationFromAdmin(
final Principal principal,
@RequestParam final long invitationId,
@RequestParam @NonNull final String invitationId,
@PathVariable final long teamId
) {
long memberId = Long.parseLong(principal.getName());
teamInvitationService.deleteTeamInvitationFromAdmin(memberId, teamId, invitationId);
return SuccessResponse.success(DELETE_TEAM_INVITATION_FROM_ADMIN.getMessage());
return SuccessResponse.success(SuccessMessage.DELETE_TEAM_INVITATION_FROM_ADMIN.getMessage());
}

@ResponseStatus(HttpStatus.OK)
@GetMapping
public SuccessResponse<TeamInvitationInformGetResponse> getInvitationInform(
@RequestParam final long invitationId
@RequestParam @NonNull final String invitationId
) {
TeamInvitationInformGetResponse response = teamInvitationService.getInvitationInform(invitationId);
return SuccessResponse.success(GET_TEAM_INVITATION_INFORM.getMessage(), response);
return SuccessResponse.success(SuccessMessage.GET_TEAM_INVITATION_INFORM.getMessage(), response);
}

@ResponseStatus(HttpStatus.CREATED)
@PostMapping("/team-member")
public SuccessResponse<?> createTeamMemberFromInvitation(
Principal principal,
@RequestParam final long teamId,
@RequestParam final long teamInvitationId
@RequestParam @NonNull final String teamInvitationId
) {
long memberId = Long.parseLong(principal.getName());
teamInvitationService.createTeamMemberFromInvitation(memberId, teamId, teamInvitationId);
return SuccessResponse.success(CREATE_TEAM_MEMBER_FROM_INVITATION.getMessage());
return SuccessResponse.success(SuccessMessage.CREATE_TEAM_MEMBER_FROM_INVITATION.getMessage());
}

@ResponseStatus(HttpStatus.OK)
@DeleteMapping
public SuccessResponse<?> deleteTeamInvitationFromUser(
Principal principal,
@RequestParam final long invitationId
@RequestParam @NonNull final String invitationId
) {
long memberId = Long.parseLong(principal.getName());
teamInvitationService.deleteTeamInvitation(memberId, invitationId);
return SuccessResponse.success(DELETE_TEAM_INVITATION_FROM_USER.getMessage());
return SuccessResponse.success(SuccessMessage.DELETE_TEAM_INVITATION_FROM_USER.getMessage());
}
}
Loading