Skip to content

Commit

Permalink
refactor: 패키지 구조 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
Hoya324 committed Mar 6, 2024
1 parent 1a03c31 commit ace1b3b
Show file tree
Hide file tree
Showing 33 changed files with 62 additions and 55 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.plzgraduate.myongjigraduatebe.auth.adaptor.out;
package com.plzgraduate.myongjigraduatebe.auth.adapter.repository;

import java.util.Optional;
import java.util.concurrent.TimeUnit;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package com.plzgraduate.myongjigraduatebe.auth.adaptor.in.web.signin;
package com.plzgraduate.myongjigraduatebe.auth.api.signin;

import javax.validation.Valid;

import org.springframework.web.bind.annotation.RequestBody;

import com.plzgraduate.myongjigraduatebe.auth.api.signin.dto.request.SignInRequest;
import com.plzgraduate.myongjigraduatebe.auth.application.port.in.TokenResponse;
import com.plzgraduate.myongjigraduatebe.core.meta.LoginUser;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.plzgraduate.myongjigraduatebe.auth.adaptor.in.web.signin;
package com.plzgraduate.myongjigraduatebe.auth.api.signin;

import javax.validation.Valid;

Expand All @@ -7,6 +7,7 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import com.plzgraduate.myongjigraduatebe.auth.api.signin.dto.request.SignInRequest;
import com.plzgraduate.myongjigraduatebe.auth.application.port.in.signin.SignInUseCase;
import com.plzgraduate.myongjigraduatebe.auth.application.port.in.TokenResponse;
import com.plzgraduate.myongjigraduatebe.core.meta.LoginUser;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.plzgraduate.myongjigraduatebe.auth.adaptor.in.web.signin;
package com.plzgraduate.myongjigraduatebe.auth.api.signin.dto.request;

import javax.validation.constraints.NotBlank;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package com.plzgraduate.myongjigraduatebe.auth.adaptor.in.web.token;
package com.plzgraduate.myongjigraduatebe.auth.api.token;

import javax.validation.Valid;

import org.springframework.web.bind.annotation.RequestBody;

import com.plzgraduate.myongjigraduatebe.auth.api.token.dto.request.TokenRequest;
import com.plzgraduate.myongjigraduatebe.auth.application.port.in.AccessTokenResponse;

import io.swagger.v3.oas.annotations.tags.Tag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package com.plzgraduate.myongjigraduatebe.auth.adaptor.in.web.token;
package com.plzgraduate.myongjigraduatebe.auth.api.token;

import javax.validation.Valid;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import com.plzgraduate.myongjigraduatebe.auth.api.token.dto.request.TokenRequest;
import com.plzgraduate.myongjigraduatebe.auth.application.port.in.AccessTokenResponse;
import com.plzgraduate.myongjigraduatebe.auth.application.port.in.token.TokenUseCase;
import com.plzgraduate.myongjigraduatebe.core.meta.WebAdapter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.plzgraduate.myongjigraduatebe.auth.adaptor.in.web.token;
package com.plzgraduate.myongjigraduatebe.auth.api.token.dto.request;

import javax.validation.constraints.NotBlank;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

@PersistenceAdapter
@RequiredArgsConstructor
class FindBasicAcademicalCulturePersistenceAdapter implements FindBasicAcademicalCulturePort {
public class FindBasicAcademicalCulturePersistenceAdapter implements FindBasicAcademicalCulturePort {

private final BasicAcademicalCultureRepository basicAcademicalCultureRepository;
private final LectureMapper lectureMapper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

@PersistenceAdapter
@RequiredArgsConstructor
class FindCommonCulturePersistenceAdapter implements FindCommonCulturePort {
public class FindCommonCulturePersistenceAdapter implements FindCommonCulturePort {

private final CommonCultureRepository commonCultureRepository;
private final LectureMapper lectureMapper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

@PersistenceAdapter
@RequiredArgsConstructor
class FindCoreCulturePersistenceAdapter implements FindCoreCulturePort {
public class FindCoreCulturePersistenceAdapter implements FindCoreCulturePort {

private final CoreCultureRepository coreCultureRepository;
private final LectureMapper lectureMapper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

@PersistenceAdapter
@RequiredArgsConstructor
class FindMajorPersistenceAdapter implements FindMajorPort {
public class FindMajorPersistenceAdapter implements FindMajorPort {

private final MajorLectureRepository majorLectureRepository;
private final LectureMapper mapper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

@PersistenceAdapter
@RequiredArgsConstructor
class LecturePersistenceAdapter implements FindLecturePort, SearchLecturePort {
public class LecturePersistenceAdapter implements FindLecturePort, SearchLecturePort {

private final LectureQueryRepository lectureQueryRepository;
private final LectureRepository lectureRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import org.springframework.web.bind.annotation.RequestBody;

import com.plzgraduate.myongjigraduatebe.core.meta.LoginUser;
import com.plzgraduate.myongjigraduatebe.parsing.adaptor.in.web.ParsingTextRequest;
import com.plzgraduate.myongjigraduatebe.parsing.api.dto.request.ParsingTextRequest;

import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import com.plzgraduate.myongjigraduatebe.core.meta.LoginUser;
import com.plzgraduate.myongjigraduatebe.core.meta.WebAdapter;
import com.plzgraduate.myongjigraduatebe.parsing.adaptor.in.web.ParsingTextRequest;
import com.plzgraduate.myongjigraduatebe.parsing.api.dto.request.ParsingTextRequest;
import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextCommand;
import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextHistoryUseCase;
import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextUseCase;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

@Getter
@NoArgsConstructor
class ParsingTextRequest {
public class ParsingTextRequest {

@NotNull(message = "parsingText는 null값이 될 수 없습니다.")
@Schema(name = "parsingText", example = "2023/12/08|1/1|ICT융합대학 융합소프트웨어학부 데이터테크놀로지전공, 나경호(60202455), 현학적 - 재학, 이수 - 3, 입학 - 신입학(2020/03/02)|토익 - 715, 영어교과목면제 - 면제없음, 최종학적변동 - 2/1전과(2023/01/27), 전과내역 - 기계공학과|편입생 인정학점 - 교양 0, 전공 0, 자유선택 0, 성경과인간이해 0|교환학생 인정학점 - 학문기초교양 0, 일반교양 0, 전공 0, 복수전공학문기초교양 0, 복수전공 0, 연계전공 0, 부전공 0, 자유선택 0|공통교양 16.5, 핵심교양 6, 학문기초교양 6, 일반교양 12, 전공 9, 복수전공 0, 연계전공 0, 부전공 0, 교직 0, 자유선택 7|총 취득학점 - 56.5, 총점 - 230.5, 평균평점 - 4.43|이수구분|수강년도/학기|한글코드|과목코드|과목명|학점|등급|중복|공통교양|2020년 2학기|교필141|KMA02141|4차산업혁명과미래사회진로선택|2|P|공통교양|2020년 2학기|교필122|KMA02122|기독교와문화|2|A+|공통교양|2023년 1학기|교필105|KMA02105|발표와토의|3|A0|공통교양|2020년 1학기|교필127|KMA00101|성서와인간이해|2|A+|공통교양|2020년 1학기|교필123|KMA02123|영어3|2|A+|공통교양|2020년 2학기|교필124|KMA02124|영어4|2|A+|공통교양|2020년 1학기|교필125|KMA02125|영어회화3|1|A0|공통교양|2020년 2학기|교필126|KMA02126|영어회화4|1|A+|공통교양|2020년 1학기|교필101|KMA02101|채플|0.5|P|공통교양|2020년 2학기|교필101|KMA02101|채플|0.5|P|공통교양|2023년 1학기|교필101|KMA02101|채플|0.5|P|핵심교양|2023년 1학기|교선128|KMA02128|글로벌문화|3|A0|핵심교양|2023년 1학기|교선114|KMA02114|민주주의와현대사회|3|A+|학문기초교양|2020년 1학기|기자111|KME02111|물리학1|3|A+|학문기초교양|2020년 1학기|기자101|KME02101|미적분학1|3|A+|일반교양|2020년 2학기|기자112|KME02112|물리학2|3|A+|일반교양|2020년 1학기|기자113|KME02113|물리학실험1|1|A+|일반교양|2020년 2학기|기자114|KME02114|물리학실험2|1|A+|일반교양|2020년 2학기|기자102|KME02102|미적분학2|3|A+|일반교양|2020년 1학기|기자121|KME02121|일반화학|3|A+|일반교양|2020년 1학기|기자122|KME02122|일반화학실험|1|A+|전공1단계|2023년 1학기|데테202|HED01202|R통계분석|3|A+|전공1단계|2023년 1학기|융소102|HEB01102|기초프로그래밍|3|A+|전공1단계|2023년 1학기|데테201|HED01201|자료구조|3|A+|자유선택|2020년 2학기|공과100|JEA00100|공학입문설계|3|A+|자유선택|2020년 1학기|기계207|JEP01207|기계신입생세미나|1|P|자유선택|2020년 2학기|기계209|JEP02209|정역학|3|A+|")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

@PersistenceAdapter
@RequiredArgsConstructor
class ParsingTextHistoryAdapter implements SaveParsingTextHistoryPort, DeleteParsingTextHistoryPort {
public class ParsingTextHistoryAdapter implements SaveParsingTextHistoryPort, DeleteParsingTextHistoryPort {

private final ParsingTextRepository parsingTextRepository;
private final ParsingTextHistoryMapper parsingTextHistoryMapper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

import com.plzgraduate.myongjigraduatebe.core.meta.PersistenceAdapter;
import com.plzgraduate.myongjigraduatebe.user.infrastructure.adapter.persistence.entity.UserJpaEntity;
import com.plzgraduate.myongjigraduatebe.user.adapter.out.persistence.mapper.UserMapper;
import com.plzgraduate.myongjigraduatebe.user.infrastructure.adapter.persistence.repository.UserRepository;
import com.plzgraduate.myongjigraduatebe.user.application.port.CheckUserPort;
import com.plzgraduate.myongjigraduatebe.user.application.port.DeleteUserPort;
Expand All @@ -20,7 +19,7 @@
@PersistenceAdapter
@Slf4j
@RequiredArgsConstructor
class UserPersistenceAdapter implements FindUserPort, SaveUserPort, CheckUserPort, UpdateUserPort, DeleteUserPort {
public class UserPersistenceAdapter implements FindUserPort, SaveUserPort, CheckUserPort, UpdateUserPort, DeleteUserPort {

private final UserMapper userMapper;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import com.plzgraduate.myongjigraduatebe.user.domain.model.User;

@Component
class UserMapper {
public class UserMapper {

User mapToDomainEntity(UserJpaEntity user) {
public User mapToDomainEntity(UserJpaEntity user) {

return User.builder()
.id(user.getId())
Expand All @@ -26,7 +26,7 @@ User mapToDomainEntity(UserJpaEntity user) {
.build();
}

UserJpaEntity mapToJpaEntity(User user) {
public UserJpaEntity mapToJpaEntity(User user) {

return UserJpaEntity.builder()
.id(user.getId())
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.plzgraduate.myongjigraduatebe.auth.adaptor.in.web.signin;
package com.plzgraduate.myongjigraduatebe.auth.adapter.in.web.signin;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;
Expand All @@ -11,6 +11,7 @@
import org.junit.jupiter.api.Test;
import org.springframework.http.MediaType;

import com.plzgraduate.myongjigraduatebe.auth.api.signin.dto.request.SignInRequest;
import com.plzgraduate.myongjigraduatebe.core.exception.UnAuthorizedException;
import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.plzgraduate.myongjigraduatebe.auth.adaptor.in.web.token;
package com.plzgraduate.myongjigraduatebe.auth.adapter.in.web.token;

import static org.mockito.BDDMockito.given;
import static org.mockito.ArgumentMatchers.any;
Expand All @@ -13,6 +13,7 @@
import org.junit.jupiter.api.Test;
import org.springframework.http.MediaType;

import com.plzgraduate.myongjigraduatebe.auth.api.token.dto.request.TokenRequest;
import com.plzgraduate.myongjigraduatebe.auth.application.port.in.AccessTokenResponse;
import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.plzgraduate.myongjigraduatebe.auth.adaptor.out;
package com.plzgraduate.myongjigraduatebe.auth.adapter.out;

import static org.assertj.core.api.Assertions.assertThat;

Expand All @@ -10,6 +10,7 @@
import org.mockito.InjectMocks;
import org.mockito.junit.jupiter.MockitoExtension;

import com.plzgraduate.myongjigraduatebe.auth.adapter.repository.InMemoryTokenRepository;

@ExtendWith(MockitoExtension.class)
class InMemoryTokenRepositoryTest {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import org.springframework.beans.factory.annotation.Autowired;

import com.plzgraduate.myongjigraduatebe.fixture.UserFixture;
import com.plzgraduate.myongjigraduatebe.lecture.adapter.persistence.FindBasicAcademicalCulturePersistenceAdapter;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.FindBasicAcademicalCulturePersistenceAdapter;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.entity.BasicAcademicalCultureLectureJpaEntity;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.entity.LectureJpaEntity;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.repository.BasicAcademicalCultureRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import org.springframework.beans.factory.annotation.Autowired;

import com.plzgraduate.myongjigraduatebe.fixture.UserFixture;
import com.plzgraduate.myongjigraduatebe.lecture.adapter.persistence.FindCommonCulturePersistenceAdapter;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.FindCommonCulturePersistenceAdapter;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.entity.CommonCultureJpaEntity;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.entity.LectureJpaEntity;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.repository.CommonCultureRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import org.springframework.beans.factory.annotation.Autowired;

import com.plzgraduate.myongjigraduatebe.fixture.UserFixture;
import com.plzgraduate.myongjigraduatebe.lecture.adapter.persistence.FindCoreCulturePersistenceAdapter;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.FindCoreCulturePersistenceAdapter;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.entity.CoreCultureJpaEntity;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.entity.LectureJpaEntity;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.repository.CoreCultureRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import org.springframework.beans.factory.annotation.Autowired;

import com.plzgraduate.myongjigraduatebe.fixture.UserFixture;
import com.plzgraduate.myongjigraduatebe.lecture.adapter.persistence.FindMajorPersistenceAdapter;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.FindMajorPersistenceAdapter;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.entity.LectureJpaEntity;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.entity.MajorLectureJpaEntity;
import com.plzgraduate.myongjigraduatebe.lecture.infrastructure.adapter.persistence.repository.LectureRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture;
import com.plzgraduate.myongjigraduatebe.support.PersistenceTestSupport;

class LecturePersistenceAdaptorTest extends PersistenceTestSupport {
class lecturePersistenceAdapterTest extends PersistenceTestSupport {

@Autowired
private LectureRepository lectureRepository;
Expand Down Expand Up @@ -50,7 +50,7 @@ void findLecturesByLectureCodes() {
));

//when
List<Lecture> lectures = lecturePersistenceAdaptor.findLecturesByLectureCodes(lectureCodes);
List<Lecture> lectures = lecturePersistenceAdapter.findLecturesByLectureCodes(lectureCodes);

//then
assertThat(lectures)
Expand All @@ -76,7 +76,7 @@ void findLecturesByIds() {
));

//when
List<Lecture> lectures = lecturePersistenceAdaptor.findLecturesByIds(lectureIds);
List<Lecture> lectures = lecturePersistenceAdapter.findLecturesByIds(lectureIds);

//then
assertThat(lectures)
Expand All @@ -98,7 +98,7 @@ void searchLectureByNameOrCode() {
));

//when
List<Lecture> lectures = lecturePersistenceAdaptor.searchLectureByNameOrCode("name", "name");
List<Lecture> lectures = lecturePersistenceAdapter.searchLectureByNameOrCode("name", "name");

//then
assertThat(lectures)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;

import com.plzgraduate.myongjigraduatebe.parsing.adaptor.persistence.ParsingTextHistoryAdaptor;
import com.plzgraduate.myongjigraduatebe.parsing.infrastructure.adapter.persistence.ParsingTextHistoryAdapter;
import com.plzgraduate.myongjigraduatebe.parsing.infrastructure.adapter.persistence.entity.ParsingTextHistoryJpaEntity;
import com.plzgraduate.myongjigraduatebe.parsing.infrastructure.adapter.persistence.repository.ParsingTextRepository;
import com.plzgraduate.myongjigraduatebe.parsing.domain.ParsingResult;
Expand All @@ -19,13 +19,13 @@
import com.plzgraduate.myongjigraduatebe.user.infrastructure.adapter.persistence.repository.UserRepository;
import com.plzgraduate.myongjigraduatebe.user.domain.model.User;

class ParsingTextHistoryAdaptorTest extends PersistenceTestSupport {
class parsingTextHistoryAdapterTest extends PersistenceTestSupport {

@Autowired
private ParsingTextRepository parsingTextRepository;

@Autowired
private ParsingTextHistoryAdaptor parsingTextHistoryAdaptor;
private ParsingTextHistoryAdapter parsingTextHistoryAdapter;

@Autowired
private UserRepository userRepository;
Expand Down Expand Up @@ -59,7 +59,7 @@ void saveParsingTextHistory() {
.build());

//when
parsingTextHistoryAdaptor.saveParsingTextHistory(parsingTextHistory);
parsingTextHistoryAdapter.saveParsingTextHistory(parsingTextHistory);

//then
Optional<ParsingTextHistoryJpaEntity> byId =
Expand Down Expand Up @@ -91,10 +91,10 @@ void deleteUserParsingTextHistory() {
.authId("test")
.password("test")
.build());
parsingTextHistoryAdaptor.saveParsingTextHistory(parsingTextHistory);
parsingTextHistoryAdapter.saveParsingTextHistory(parsingTextHistory);

//when
parsingTextHistoryAdaptor.deleteUserParsingTextHistory(user);
parsingTextHistoryAdapter.deleteUserParsingTextHistory(user);

//then
assertThat(parsingTextRepository.findAll()).isEmpty();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

import com.plzgraduate.myongjigraduatebe.fixture.UserFixture;
import com.plzgraduate.myongjigraduatebe.parsing.infrastructure.adapter.persistence.entity.ParsingTextHistoryJpaEntity;
import com.plzgraduate.myongjigraduatebe.parsing.api.mapper.ParsingTextHistoryMapper;
import com.plzgraduate.myongjigraduatebe.parsing.domain.ParsingResult;
import com.plzgraduate.myongjigraduatebe.parsing.domain.ParsingTextHistory;
import com.plzgraduate.myongjigraduatebe.parsing.infrastructure.adapter.persistence.mapper.ParsingTextHistoryMapper;
import com.plzgraduate.myongjigraduatebe.support.PersistenceTestSupport;
import com.plzgraduate.myongjigraduatebe.user.domain.model.User;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.plzgraduate.myongjigraduatebe.auth.adaptor.in.web.signin.SignInController;
import com.plzgraduate.myongjigraduatebe.auth.adaptor.in.web.token.TokenController;
import com.plzgraduate.myongjigraduatebe.auth.api.signin.SignInController;
import com.plzgraduate.myongjigraduatebe.auth.api.token.TokenController;
import com.plzgraduate.myongjigraduatebe.auth.application.port.in.signin.SignInUseCase;
import com.plzgraduate.myongjigraduatebe.auth.application.port.in.token.TokenUseCase;
import com.plzgraduate.myongjigraduatebe.auth.security.TokenProvider;
Expand Down
Loading

0 comments on commit ace1b3b

Please sign in to comment.