diff --git a/build.gradle b/build.gradle index 12c5f9d5..d5f7bfe2 100644 --- a/build.gradle +++ b/build.gradle @@ -67,6 +67,9 @@ dependencies { implementation 'com.google.firebase:firebase-admin:6.8.1' implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.2.2' implementation 'com.squareup.okio:okio:2.7.0' + // AuthO + implementation 'com.auth0:java-jwt:3.19.2' + implementation 'com.auth0:jwks-rsa:0.21.1' } // Querydsl 설정부 diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/api/AppleApiClient.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/api/AppleApiClient.java new file mode 100644 index 00000000..36b06265 --- /dev/null +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/api/AppleApiClient.java @@ -0,0 +1,28 @@ +package com.pawwithu.connectdog.domain.oauth.api; + +import com.pawwithu.connectdog.domain.oauth.dto.response.OAuthInfoResponse; +import com.pawwithu.connectdog.domain.oauth.service.AppleIdTokenDecodeService; +import com.pawwithu.connectdog.domain.volunteer.entity.SocialType; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.web.client.RestTemplate; + +@Component +@RequiredArgsConstructor +public class AppleApiClient implements OAuthApiClient { + + private final AppleIdTokenDecodeService appleIdTokenDecodeService; + + private String apiUrl = "https://kapi.kakao.com"; + private final RestTemplate restTemplate; + + @Override + public SocialType socialType() { + return SocialType.APPLE; + } + + @Override + public OAuthInfoResponse requestOauthInfo(String socialToken) { + return appleIdTokenDecodeService.getPayloadFromIdToken(socialToken); + } +} diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/api/AppleOidcKeyClient.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/api/AppleOidcKeyClient.java new file mode 100644 index 00000000..f1cc575d --- /dev/null +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/api/AppleOidcKeyClient.java @@ -0,0 +1,18 @@ +package com.pawwithu.connectdog.domain.oauth.api; + +import com.pawwithu.connectdog.domain.oauth.dto.response.OidcPublicKeyListResponse; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.web.client.RestTemplate; + +@Component +@RequiredArgsConstructor +public class AppleOidcKeyClient { + + private final RestTemplate restTemplate; + + public OidcPublicKeyListResponse getAppleOidcOpenKeys() { + String appleOidcPublicKeyUrl = "https://appleid.apple.com/auth/keys"; + return restTemplate.getForObject(appleOidcPublicKeyUrl, OidcPublicKeyListResponse.class); + } +} \ No newline at end of file diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/api/KakaoApiClient.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/api/KakaoApiClient.java index 5eff5f32..f5b34196 100644 --- a/src/main/java/com/pawwithu/connectdog/domain/oauth/api/KakaoApiClient.java +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/api/KakaoApiClient.java @@ -24,12 +24,12 @@ public SocialType socialType() { } @Override - public OAuthInfoResponse requestOauthInfo(String accessToken) { + public OAuthInfoResponse requestOauthInfo(String socialToken) { String url = apiUrl + "/v2/user/me"; HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED); - httpHeaders.set("Authorization", "Bearer " + accessToken); + httpHeaders.set("Authorization", "Bearer " + socialToken); MultiValueMap body = new LinkedMultiValueMap<>(); body.add("property_keys", "[\"id\"]"); // id 값만 받아옴 diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/api/NaverApiClient.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/api/NaverApiClient.java index 8bd93a5e..ae80dd57 100644 --- a/src/main/java/com/pawwithu/connectdog/domain/oauth/api/NaverApiClient.java +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/api/NaverApiClient.java @@ -24,12 +24,12 @@ public SocialType socialType() { } @Override - public OAuthInfoResponse requestOauthInfo(String accessToken) { + public OAuthInfoResponse requestOauthInfo(String socialToken) { String url = apiUrl + "/v1/nid/me"; HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED); - httpHeaders.set("Authorization", "Bearer " + accessToken); + httpHeaders.set("Authorization", "Bearer " + socialToken); MultiValueMap body = new LinkedMultiValueMap<>(); diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/api/OAuthApiClient.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/api/OAuthApiClient.java index 4e114d59..0c88f3f8 100644 --- a/src/main/java/com/pawwithu/connectdog/domain/oauth/api/OAuthApiClient.java +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/api/OAuthApiClient.java @@ -5,5 +5,5 @@ public interface OAuthApiClient { SocialType socialType(); - OAuthInfoResponse requestOauthInfo(String accessToken); + OAuthInfoResponse requestOauthInfo(String socialToken); } diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/controller/OAuthController.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/controller/OAuthController.java index 5bf9d6a2..24d9bf2c 100644 --- a/src/main/java/com/pawwithu/connectdog/domain/oauth/controller/OAuthController.java +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/controller/OAuthController.java @@ -26,7 +26,8 @@ public class OAuthController { @Operation(summary = "이동봉사자 소셜 로그인", description = "이동봉사자 소셜 로그인을 합니다.", responses = {@ApiResponse(responseCode = "204", description = "이동봉사자 소셜 로그인 성공") , @ApiResponse(responseCode = "400" - , description = "V1, AccessToken은 필수 입력 값입니다. \t\n V1, provider는 필수 입력 값입니다. \t\n M1, 해당 이동봉사자를 찾을 수 없습니다. \t\n A5, provider 값이 KAKAO 또는 NAVER가 아닙니다." + , description = "V1, AccessToken/IdToken은 필수 입력 값입니다. \t\n V1, provider는 필수 입력 값입니다. \t\n M1, 해당 이동봉사자를 찾을 수 없습니다. \t\n A5, provider 값이 KAKAO/NAVER/APPLE 중에 없습니다." + + " \t\n A10, 애플 공개 키를 찾을 수 없습니다. \t\n A11, 애플 id_token 검증에 실패하였습니다. \t\n A12, 애플에서 발급된 토큰이 아닙니다. \t\n A13 코넥독 앱에서 발급된 토큰이 아닙니다." , content = @Content(schema = @Schema(implementation = ErrorResponse.class))) }) @PostMapping("/volunteers/login/social") diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/request/SocialLoginRequest.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/request/SocialLoginRequest.java index 0113042c..25175e7b 100644 --- a/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/request/SocialLoginRequest.java +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/request/SocialLoginRequest.java @@ -5,8 +5,8 @@ import jakarta.validation.constraints.NotNull; public record SocialLoginRequest( - @NotBlank(message = "AccessToken은 필수 입력 값입니다.") - String accessToken, + @NotBlank(message = "AccessToken/IdToken은 필수 입력 값입니다.") + String socialToken, @NotNull(message = "provider는 필수 입력 값입니다.") SocialType provider) { } diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/response/AppleInfoResponse.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/response/AppleInfoResponse.java new file mode 100644 index 00000000..7d6afdfc --- /dev/null +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/response/AppleInfoResponse.java @@ -0,0 +1,24 @@ +package com.pawwithu.connectdog.domain.oauth.dto.response; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.pawwithu.connectdog.domain.volunteer.entity.SocialType; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@JsonIgnoreProperties(ignoreUnknown = true) +@AllArgsConstructor +public class AppleInfoResponse implements OAuthInfoResponse { + @JsonProperty("id") + private String id; // 애플이 제공하는 사용자 고유 ID (sub) + + @Override + public SocialType getSocialType() { + return SocialType.APPLE; + } + @Override + public String getId() { + return id; + } +} diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/response/OidcPublicKeyListResponse.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/response/OidcPublicKeyListResponse.java new file mode 100644 index 00000000..a3394e8c --- /dev/null +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/response/OidcPublicKeyListResponse.java @@ -0,0 +1,16 @@ +package com.pawwithu.connectdog.domain.oauth.dto.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +public class OidcPublicKeyListResponse { + private List keys; +} \ No newline at end of file diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/response/OidcPublicKeyResponse.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/response/OidcPublicKeyResponse.java new file mode 100644 index 00000000..997cf4d0 --- /dev/null +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/dto/response/OidcPublicKeyResponse.java @@ -0,0 +1,19 @@ +package com.pawwithu.connectdog.domain.oauth.dto.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +public class OidcPublicKeyResponse { + private String kty; + private String kid; + private String use; + private String alg; + private String n; + private String e; +} \ No newline at end of file diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/service/AppleIdTokenDecodeService.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/service/AppleIdTokenDecodeService.java new file mode 100644 index 00000000..5624a255 --- /dev/null +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/service/AppleIdTokenDecodeService.java @@ -0,0 +1,46 @@ +package com.pawwithu.connectdog.domain.oauth.service; + +import com.pawwithu.connectdog.domain.oauth.api.AppleOidcKeyClient; +import com.pawwithu.connectdog.domain.oauth.dto.response.AppleInfoResponse; +import com.pawwithu.connectdog.error.exception.custom.BadRequestException; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import static com.pawwithu.connectdog.error.ErrorCode.APPLE_VALIDATED_ERROR; +import static com.pawwithu.connectdog.error.ErrorCode.NOT_FOUND_APPLE_PUBLIC_KEY; + +@Service +@RequiredArgsConstructor +public class AppleIdTokenDecodeService { + + private final AppleOidcKeyClient appleOidcKeyClient; + + private final OidcJwtDecoder oidcJwtDecoder; + @Value("${oauth.apple.iss}") + private String iss; + + @Value("${oauth.apple.client-id}") + private String clientId; + + @Transactional + public AppleInfoResponse getPayloadFromIdToken(final String token) { + try { + // 1) JWT 헤더에서 kid 값 추출 (issuer 및 audience 검증 포함) + final String kid = oidcJwtDecoder.getKidFromUnsignedTokenHeader(token, clientId); + + // 2) 애플의 공개 키 가져오기 + final var applePublicKeyList = appleOidcKeyClient.getAppleOidcOpenKeys(); + final var oidcPublicKey = applePublicKeyList.getKeys().stream() + .filter(o -> o.getKid().equals(kid)) + .findFirst() + .orElseThrow(() -> new BadRequestException(NOT_FOUND_APPLE_PUBLIC_KEY)); + + // 3) id_token 검증 및 디코딩 + return oidcJwtDecoder.getOidcTokenBody(token); + } catch (Exception e) { + throw new BadRequestException(APPLE_VALIDATED_ERROR); + } + } +} diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/service/OidcJwtDecoder.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/service/OidcJwtDecoder.java new file mode 100644 index 00000000..a00e3c89 --- /dev/null +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/service/OidcJwtDecoder.java @@ -0,0 +1,80 @@ +package com.pawwithu.connectdog.domain.oauth.service; + +import com.auth0.jwk.Jwk; +import com.auth0.jwk.JwkProvider; +import com.auth0.jwk.JwkProviderBuilder; +import com.auth0.jwt.JWT; +import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.pawwithu.connectdog.domain.oauth.dto.response.AppleInfoResponse; +import com.pawwithu.connectdog.error.exception.custom.BadRequestException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.net.URL; +import java.security.interfaces.RSAPublicKey; +import java.util.concurrent.TimeUnit; + +import static com.pawwithu.connectdog.error.ErrorCode.*; + +@Slf4j +@Component +public class OidcJwtDecoder { + + private static final String APPLE_OIDC_URL = "https://appleid.apple.com/auth/keys"; + private static final String APPLE_ISSUER = "https://appleid.apple.com"; + private final JwkProvider jwkProvider; + + public OidcJwtDecoder() throws Exception { + this.jwkProvider = new JwkProviderBuilder(new URL(APPLE_OIDC_URL)) + .cached(10, 24, TimeUnit.HOURS) // 최대 10개 키를 24시간 캐싱 + .rateLimited(10, 1, TimeUnit.MINUTES) // 1분당 최대 10개 요청 제한 + .build(); + } + + public String getKidFromUnsignedTokenHeader(String token, String clientId) { // id_token 헤더에서 kid 값 추출 및 issuer/audience 검증 + try { + DecodedJWT jwt = JWT.decode(token); + + // 1) Issuer 검증 (애플에서 발급된 토큰인지 확인) + if (!jwt.getIssuer().equals(APPLE_ISSUER)) { + log.info("Invalid id_token issuer: " + jwt.getIssuer()); + throw new BadRequestException(INVALID_ID_TOKEN_ISSUER); + } + + // 2) Audience 검증 (내 앱에서 발급된 토큰인지 확인) + if (!jwt.getAudience().contains(clientId)) { + log.info("Invalid id_token audience: " + jwt.getAudience()); + throw new BadRequestException(INVALID_ID_TOKEN_AUDIENCE); + } + + return jwt.getKeyId(); // kid 반환 + } catch (Exception e) { + throw new BadRequestException(APPLE_VALIDATED_ERROR); + } + } + + public AppleInfoResponse getOidcTokenBody(String token) { // 공개 키를 사용하여 id_token 서명 검증 및 디코딩 + try { + DecodedJWT jwt = JWT.decode(token); + + // 1) kid 값으로 공개 키 가져오기 + Jwk jwk = jwkProvider.get(jwt.getKeyId()); + RSAPublicKey publicKey = (RSAPublicKey) jwk.getPublicKey(); + + // 2) 알고리즘 검증 및 id_token 서명 검증 + Algorithm algorithm = Algorithm.RSA256(publicKey, null); + jwt = JWT.require(algorithm) + .withIssuer(APPLE_ISSUER) // 애플에서 발급된 토큰인지 재검증 + .build() + .verify(token); + + // 3) 사용자 정보 추출 + String sub = jwt.getSubject(); + + return new AppleInfoResponse(sub); + } catch (Exception e) { + throw new BadRequestException(APPLE_VALIDATED_ERROR); + } + } +} diff --git a/src/main/java/com/pawwithu/connectdog/domain/oauth/service/RequestOAuthInfoService.java b/src/main/java/com/pawwithu/connectdog/domain/oauth/service/RequestOAuthInfoService.java index 51898762..8d94bf25 100644 --- a/src/main/java/com/pawwithu/connectdog/domain/oauth/service/RequestOAuthInfoService.java +++ b/src/main/java/com/pawwithu/connectdog/domain/oauth/service/RequestOAuthInfoService.java @@ -23,7 +23,7 @@ public RequestOAuthInfoService(List clients) { public OAuthInfoResponse request(SocialLoginRequest request) { OAuthApiClient client = clients.get(request.provider()); - String accessToken = request.accessToken(); - return client.requestOauthInfo(accessToken); + String socialToken = request.socialToken(); + return client.requestOauthInfo(socialToken); } } diff --git a/src/main/java/com/pawwithu/connectdog/domain/volunteer/entity/SocialType.java b/src/main/java/com/pawwithu/connectdog/domain/volunteer/entity/SocialType.java index 172821de..ebe849b1 100644 --- a/src/main/java/com/pawwithu/connectdog/domain/volunteer/entity/SocialType.java +++ b/src/main/java/com/pawwithu/connectdog/domain/volunteer/entity/SocialType.java @@ -6,7 +6,7 @@ import static com.pawwithu.connectdog.error.ErrorCode.UNKNOWN_PROVIDER; public enum SocialType { - KAKAO, NAVER; + KAKAO, NAVER, APPLE; @JsonCreator // 이 어노테이션은 Jackson이 JSON에서 객체로 변환할 때 사용 public static SocialType fromString(String value) { diff --git a/src/main/java/com/pawwithu/connectdog/domain/volunteer/entity/Volunteer.java b/src/main/java/com/pawwithu/connectdog/domain/volunteer/entity/Volunteer.java index caa916a4..d4202284 100644 --- a/src/main/java/com/pawwithu/connectdog/domain/volunteer/entity/Volunteer.java +++ b/src/main/java/com/pawwithu/connectdog/domain/volunteer/entity/Volunteer.java @@ -25,7 +25,7 @@ public class Volunteer extends BaseTimeEntity { @Enumerated(EnumType.STRING) private VolunteerRole role; // 권한 @Enumerated(EnumType.STRING) - private SocialType socialType; // KAKAO, NAVER + private SocialType socialType; // KAKAO, NAVER, APPLE private String socialId; // 로그인한 소셜 타입 식별자 값 (일반 로그인의 경우 null) private Boolean isOptionAgr; // 선택 이용약관 체크 여부 private Boolean notification; // 알림 true, false diff --git a/src/main/java/com/pawwithu/connectdog/error/ErrorCode.java b/src/main/java/com/pawwithu/connectdog/error/ErrorCode.java index 47cc12b3..861f4faf 100644 --- a/src/main/java/com/pawwithu/connectdog/error/ErrorCode.java +++ b/src/main/java/com/pawwithu/connectdog/error/ErrorCode.java @@ -11,12 +11,15 @@ public enum ErrorCode { ALREADY_EXIST_NICKNAME("A2", "이미 사용 중인 닉네임입니다."), ALREADY_LOGOUT_MEMBER("A3", "이미 로그아웃한 회원입니다"), EMAIL_SEND_ERROR("A4", "이메일 인증 코드 전송을 실패했습니다."), - UNKNOWN_PROVIDER("A5", "provider 값이 KAKAO 또는 NAVER가 아닙니다."), + UNKNOWN_PROVIDER("A5", "provider 값이 KAKAO/NAVER/APPLE 중에 없습니다."), NOT_ALLOWED_MEMBER("A6", "해당 요청에 대한 권한이 없습니다."), NOT_AUTHENTICATED_REQUEST("A7", "유효한 JWT 토큰이 없습니다."), ALREADY_EXIST_PHONE("A8", "이미 등록된 전화번호입니다."), ALREADY_EXIST_NAME("A9", "이미 등록된 모집자명입니다."), - + NOT_FOUND_APPLE_PUBLIC_KEY("A10", "애플 공개 키를 찾을 수 없습니다."), + APPLE_VALIDATED_ERROR("A11", "애플 id_token 검증에 실패하였습니다."), + INVALID_ID_TOKEN_ISSUER("A12", "애플에서 발급된 토큰이 아닙니다."), + INVALID_ID_TOKEN_AUDIENCE("A13", "코넥독 앱에서 발급된 토큰이 아닙니다."), VOLUNTEER_NOT_FOUND("M1", "해당 이동봉사자를 찾을 수 없습니다."), // Member -> M (이동봉사자, 이동봉사 중개 통일) INTERMEDIARY_NOT_FOUND("M2", "해당 이동봉사 중개를 찾을 수 없습니다."), diff --git a/src/main/resources/import.sql b/src/main/resources/import.sql index 2ef48ff5..fe84e265 100644 --- a/src/main/resources/import.sql +++ b/src/main/resources/import.sql @@ -1,15 +1,15 @@ -- INSERT INTERMEDIARY INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, real_name, phone, created_date, modified_date) VALUES (1, 'abc1@naver.com', '{bcrypt}$2a$10$Llg2MwZS/oOv/2/ozaice.49CU35kK6W9kYEb.oqyTy6vmh7E4yv2', '이동봉사 중개', 'https://connectdog.site', 'profileImageUrl', '안녕하세요.', '인스타그램: @hoxjeong', 'AUTH_INTERMEDIARY', false, true, '한호정', '01012340000', now(), now()); -INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (2, 'i2@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '천사들의 구름쉼터', 'https://connectdog2.site', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary2.png', '50마리의 아이들이 지내고 있는 천사들의 구름쉼터입니다 :)', '인스타그램 @angel_cloud\n카카오톡 angelcloud02', 'AUTH_INTERMEDIARY', false, true, '안녕하세요~ 천사들의 구름쉼터 입니다. 저희는 따뜻한 봉사자들과 함께 운영하는 봉사단체로 연락이 조금 느릴 수 있지만 최대한 바로 봉사 관련 문의를 전달드리겠습니다 :)', '강승구', '01012340001', now(), now()); +INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (2, 'i2@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '천사들의 구름쉼터', 'https://connectdog2.site', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary2.png', '50마리의 아이들이 지내고 있는 천사들의 구름쉼터입니다 :)', '인스타그램 @angel_cloud\n카카오톡 angelcloud02', 'AUTH_INTERMEDIARY', false, true, '안녕하세요~ 천사들의 구름쉼터 입니다. 저희는 따뜻한 봉사자들과 함께 운영하는 봉사단체로 연락이 조금 느릴 수 있지만 최대한 바로 봉사 관련 문의를 전달드리겠습니다 :)', '강승구', '01012340001', now(), now()); -INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (3, 'i3@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '생명사랑', 'https://connectdog3.site', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary3.png', '[사단법인] 생명사랑, 후원 환영', '인스타그램 @lovelifehappy', 'AUTH_INTERMEDIARY', false, true, '인스타그램 DM으로만 문의 받습니다.\n보호소 봉사의 경우 네이버 카페 생명사랑에서 신청해 주세요:)', '이시윤', '01012340002', now(), now()); +INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (3, 'i3@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '생명사랑', 'https://connectdog3.site', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary3.png', '[사단법인] 생명사랑, 후원 환영', '인스타그램 @lovelifehappy', 'AUTH_INTERMEDIARY', false, true, '인스타그램 DM으로만 문의 받습니다.\n보호소 봉사의 경우 네이버 카페 생명사랑에서 신청해 주세요:)', '이시윤', '01012340002', now(), now()); -INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (4, 'i4@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '아지네 보호소', 'https://connectdog4.site', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary1.png', '강원도에 위치한 작은 보호소 입니다:)', '카카오톡 ajianimalprotect', 'AUTH_INTERMEDIARY', false, true, '초보 봉사자분들도 환영입니다:) 아이들의 이동을 도와주세요.', '민혜린', '01012340003', now(), now()); +INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (4, 'i4@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '아지네 보호소', 'https://connectdog4.site', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary1.png', '강원도에 위치한 작은 보호소 입니다:)', '카카오톡 ajianimalprotect', 'AUTH_INTERMEDIARY', false, true, '초보 봉사자분들도 환영입니다:) 아이들의 이동을 도와주세요.', '민혜린', '01012340003', now(), now()); -INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (5, 'i5@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '프리독멍멍', 'https://connectdog5.site', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary4.png', '이동봉사를 전문적으로 진행하는 개인, 프리독멍멍입니다.', '인스타그램 @freedog__\n이메일 freedog2008@naver.com', 'AUTH_INTERMEDIARY', false, true, '❗봉사자 필독사항❗\n1. 대형견의 경우 SUV 차량 보유자만 신청해 주시기 바랍니다.\n2. 아이들 절대로 켄넬에서 꺼내지 말아주세요. 만약 문제 발생 시 저에게 바로 전화주세요.\n3. 신중하게 신청해주세요. 봉사 취소시, 아이들에게 엄청나게 큰 피해가 갑니다ㅠㅠ 제발 부탁드려요', '민경혁', '01012340004', now(), now()); +INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (5, 'i5@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '프리독멍멍', 'https://connectdog5.site', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary4.png', '이동봉사를 전문적으로 진행하는 개인, 프리독멍멍입니다.', '인스타그램 @freedog__\n이메일 freedog2008@naver.com', 'AUTH_INTERMEDIARY', false, true, '❗봉사자 필독사항❗\n1. 대형견의 경우 SUV 차량 보유자만 신청해 주시기 바랍니다.\n2. 아이들 절대로 켄넬에서 꺼내지 말아주세요. 만약 문제 발생 시 저에게 바로 전화주세요.\n3. 신중하게 신청해주세요. 봉사 취소시, 아이들에게 엄청나게 큰 피해가 갑니다ㅠㅠ 제발 부탁드려요', '민경혁', '01012340004', now(), now()); -INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (6, 'i6@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '천사들의 발자국', 'https://connectdog6.site', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary5.png', '아이들의 한 발자국에 최선을', '전화 010-4739-1908', 'AUTH_INTERMEDIARY', false, true, 'AM 10:00 ~ PM 8:00 에만 연락해 주세요\n보호소 사정상 연락 바로 못 볼 수도 있습니다.', '권예인', '01012340005', now(), now()); +INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (6, 'i6@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '천사들의 발자국', 'https://connectdog6.site', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary5.png', '아이들의 한 발자국에 최선을', '전화 010-4739-1908', 'AUTH_INTERMEDIARY', false, true, 'AM 10:00 ~ PM 8:00 에만 연락해 주세요\n보호소 사정상 연락 바로 못 볼 수도 있습니다.', '권예인', '01012340005', now(), now()); -- INSERT DOG (post status 0 - 모집중) @@ -74,22 +74,22 @@ INSERT INTO post (id, status, departure_loc, arrival_loc, start_date, end_date, -- INSERT POST_IMAGE -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (1, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post1.png', 1, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (2, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post2.png', 2, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (3, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post3.png', 3, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (4, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post4.png', 4, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (5, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post5.png', 5, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (6, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post6.png', 6, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (7, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post7.png', 7, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (8, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post8.png', 8, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (9, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post9.png', 9, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (10, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post10.png', 10, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (11, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post11.png', 11, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (12, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post12.png', 12, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (13, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post13.png', 13, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (14, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post14.png', 14, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (15, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post15.png', 15, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (16, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post16.png', 16, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (1, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post1.png', 1, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (2, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post2.png', 2, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (3, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post3.png', 3, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (4, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post4.png', 4, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (5, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post5.png', 5, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (6, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post6.png', 6, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (7, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post7.png', 7, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (8, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post8.png', 8, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (9, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post9.png', 9, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (10, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post10.png', 10, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (11, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post11.png', 11, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (12, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post12.png', 12, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (13, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post13.png', 13, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (14, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post14.png', 14, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (15, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post15.png', 15, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (16, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post16.png', 16, now(), now()); -- UPDATE POST MAIN IMAGE @@ -134,31 +134,31 @@ INSERT INTO review (id, content, post_id, volunteer_id, created_date, modified_d -- INSERT REVIEW_IMAGE -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (1, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review12.png', 1, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (2, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review13.png', 2, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (3, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review14.png', 3, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (4, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review15.png', 4, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (5, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review16.png', 5, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (6, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review12.png', 1, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (7, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review13.png', 2, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (8, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review14.png', 3, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (9, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review15.png', 4, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (10, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review16.png', 5, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (11, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review12.png', 1, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (12, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review13.png', 2, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (13, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review14.png', 3, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (14, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review15.png', 4, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (15, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review16.png', 5, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (16, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review12.png', 1, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (17, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review13.png', 2, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (18, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review14.png', 3, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (19, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review15.png', 4, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (20, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review16.png', 5, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (21, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review12.png', 1, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (22, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review13.png', 2, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (23, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review14.png', 3, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (24, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review15.png', 4, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (25, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review16.png', 5, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (1, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review12.png', 1, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (2, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review13.png', 2, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (3, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review14.png', 3, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (4, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review15.png', 4, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (5, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review16.png', 5, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (6, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review12.png', 1, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (7, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review13.png', 2, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (8, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review14.png', 3, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (9, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review15.png', 4, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (10, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review16.png', 5, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (11, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review12.png', 1, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (12, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review13.png', 2, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (13, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review14.png', 3, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (14, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review15.png', 4, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (15, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review16.png', 5, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (16, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review12.png', 1, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (17, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review13.png', 2, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (18, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review14.png', 3, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (19, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review15.png', 4, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (20, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review16.png', 5, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (21, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review12.png', 1, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (22, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review13.png', 2, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (23, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review14.png', 3, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (24, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review15.png', 4, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (25, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review16.png', 5, now(), now()); -- UPDATE REVIEW MAIN IMAGE @@ -194,18 +194,18 @@ UPDATE dog_status SET main_image_id = 5 WHERE id = 5; -- INSERT BADGE -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (1, '첫 연결의 설렘\n1마리 연결', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge11.png', now(), now()); -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (2, '초심자의 열정\n3마리 연결', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge12.png', now(), now()); -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (3, '소중함을 아니까\n5마리 연결', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge3.svg', now(), now()); -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (4, '신뢰의 시작\n10마리 연결', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge4.svg', now(), now()); -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (5, '열정 봉사자\n20마리 연결', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge5.svg', now(), now()); -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (6, '이동봉사 마스터\n30마리 연결', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge6.svg', now(), now()); -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (7, '첫 기록의 뿌듯함\n1개 등록', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge17.png', now(), now()); -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (8, '제법 쓸 줄 알아요\n3개 등록', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge18.png', now(), now()); -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (9, '봉사 꿀팁 보유자\n5개 등록', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge9.svg', now(), now()); -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (10, '믿음직한 후기\n10개 등록', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge0.svg', now(), now()); -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (11, '성실 기록가\n20개 등록', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge0.svg', now(), now()); -INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (12, '코넥독 후기왕\n30개 등록', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/badge/badge0.svg', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (1, '첫 연결의 설렘\n1마리 연결', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge11.png', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (2, '초심자의 열정\n3마리 연결', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge12.png', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (3, '소중함을 아니까\n5마리 연결', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge3.svg', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (4, '신뢰의 시작\n10마리 연결', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge4.svg', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (5, '열정 봉사자\n20마리 연결', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge5.svg', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (6, '이동봉사 마스터\n30마리 연결', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge6.svg', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (7, '첫 기록의 뿌듯함\n1개 등록', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge17.png', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (8, '제법 쓸 줄 알아요\n3개 등록', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge18.png', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (9, '봉사 꿀팁 보유자\n5개 등록', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge9.svg', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (10, '믿음직한 후기\n10개 등록', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge0.svg', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (11, '성실 기록가\n20개 등록', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge0.svg', now(), now()); +INSERT INTO badge (id, name, image, created_date, modified_date) VALUES (12, '코넥독 후기왕\n30개 등록', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/badge/badge0.svg', now(), now()); -- INSERT VOLUNTEER_BADGE @@ -224,7 +224,7 @@ INSERT INTO bookmark(id, post_id, volunteer_id, created_date, modified_date) VAL -- v2 -- INSERT INTERMEDIARY -INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (7, 'i7@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '감귤시보호소', 'https://connectdog7.site', 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary6.png','감귤시가 운영중인 유기견 보호소입니다', '인스타그램 @gamgull_helper', 'AUTH_INTERMEDIARY', false, true, '감귤시에서 운영하는 감귤시보호소 공식계정입니다. 직원들이 상주하는 평일 9:00~19:0에만 응답이 가능합니다. ', '강승구', '01011112222', now(), now()); +INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (7, 'i7@naver.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '감귤시보호소', 'https://connectdog7.site', 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/intermediary/intermediary6.png','감귤시가 운영중인 유기견 보호소입니다', '인스타그램 @gamgull_helper', 'AUTH_INTERMEDIARY', false, true, '감귤시에서 운영하는 감귤시보호소 공식계정입니다. 직원들이 상주하는 평일 9:00~19:0에만 응답이 가능합니다. ', '강승구', '01011112222', now(), now()); INSERT INTO intermediary (id, email, password, name, url, profile_image, intro, contact, role, is_option_agr, notification, guide, real_name, phone, created_date, modified_date) VALUES (8, 'deletedIntermediary@connectdog.com', '{bcrypt}$2a$10$wkmYUG/qvZFThCzq19yHredRc6u8nAhlAopbDE9p7n6JF6NgtLs8y', '탈퇴한 사용자', null, null, null, null, 'AUTH_INTERMEDIARY', false, true, '탈퇴한 사용자입니다.', '탈퇴한 사용자', '01000000000', now(), now()); @@ -326,34 +326,34 @@ INSERT INTO post (id, status, departure_loc, arrival_loc, start_date, end_date, -- INSERT POST_IMAGE -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (17, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post17.png', 17, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (18, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post18.png', 18, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (19, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post19.png', 19, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (20, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post20.png', 20, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (21, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post21.png', 21, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (22, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post22.png', 22, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (23, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post23.png', 23, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (24, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post24.png', 24, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (25, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post25.png', 25, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (26, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post26.png', 26, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (27, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post27.png', 27, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (28, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post28.png', 28, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (29, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post29.png', 29, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (30, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post29.png', 30, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (31, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post29.png', 31, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (32, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post29.png', 32, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (33, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post30.png', 33, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (34, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post30.png', 34, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (35, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post30.png', 35, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (36, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post30.png', 36, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (37, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post31.png', 37, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (38, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post32.png', 38, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (39, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post33.png', 39, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (40, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post34.png', 40, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (41, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post35.png', 41, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (42, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post36.png', 42, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (43, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post37.png', 43, now(), now()); -INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (44, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/post/post38.png', 44, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (17, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post17.png', 17, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (18, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post18.png', 18, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (19, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post19.png', 19, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (20, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post20.png', 20, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (21, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post21.png', 21, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (22, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post22.png', 22, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (23, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post23.png', 23, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (24, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post24.png', 24, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (25, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post25.png', 25, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (26, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post26.png', 26, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (27, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post27.png', 27, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (28, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post28.png', 28, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (29, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post29.png', 29, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (30, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post29.png', 30, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (31, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post29.png', 31, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (32, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post29.png', 32, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (33, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post30.png', 33, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (34, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post30.png', 34, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (35, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post30.png', 35, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (36, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post30.png', 36, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (37, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post31.png', 37, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (38, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post32.png', 38, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (39, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post33.png', 39, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (40, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post34.png', 40, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (41, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post35.png', 41, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (42, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post36.png', 42, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (43, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post37.png', 43, now(), now()); +INSERT INTO post_image (id, image, post_id, created_date, modified_date) VALUES (44, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/post/post38.png', 44, now(), now()); -- UPDATE POST MAIN IMAGE UPDATE post SET main_image_id = 17 WHERE id = 17; @@ -429,46 +429,46 @@ INSERT INTO review (id, content, post_id, volunteer_id, created_date, modified_d -- INSERT REVIEW_IMAGE -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (26, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review17.png', 6, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (27, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review18.png', 7, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (28, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review19.png', 8, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (29, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review20.png', 9, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (30, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review21.png', 10, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (31, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review22.png', 11, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (32, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review23.png', 12, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (33, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review24.png', 13, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (34, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review17.png', 6, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (35, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review18.png', 7, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (36, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review19.png', 8, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (37, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review20.png', 9, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (38, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review21.png', 10, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (39, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review22.png', 11, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (40, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review23.png', 12, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (41, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review24.png', 13, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (42, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review17.png', 6, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (43, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review18.png', 7, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (44, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review19.png', 8, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (45, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review20.png', 9, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (46, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review21.png', 10, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (47, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review22.png', 11, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (48, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review23.png', 12, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (49, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review24.png', 13, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (51, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review17.png', 6, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (52, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review18.png', 7, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (53, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review19.png', 8, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (54, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review20.png', 9, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (55, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review21.png', 10, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (56, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review22.png', 11, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (57, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review23.png', 12, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (58, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review24.png', 13, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (59, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review17.png', 6, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (60, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review18.png', 7, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (61, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review19.png', 8, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (62, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review20.png', 9, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (63, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review21.png', 10, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (64, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review22.png', 11, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (65, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review23.png', 12, now(), now()); -INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (66, 'https://connectdog-image.s3.ap-northeast-2.amazonaws.com/review/review24.png', 13, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (26, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review17.png', 6, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (27, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review18.png', 7, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (28, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review19.png', 8, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (29, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review20.png', 9, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (30, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review21.png', 10, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (31, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review22.png', 11, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (32, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review23.png', 12, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (33, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review24.png', 13, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (34, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review17.png', 6, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (35, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review18.png', 7, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (36, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review19.png', 8, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (37, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review20.png', 9, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (38, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review21.png', 10, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (39, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review22.png', 11, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (40, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review23.png', 12, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (41, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review24.png', 13, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (42, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review17.png', 6, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (43, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review18.png', 7, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (44, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review19.png', 8, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (45, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review20.png', 9, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (46, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review21.png', 10, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (47, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review22.png', 11, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (48, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review23.png', 12, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (49, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review24.png', 13, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (51, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review17.png', 6, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (52, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review18.png', 7, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (53, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review19.png', 8, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (54, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review20.png', 9, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (55, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review21.png', 10, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (56, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review22.png', 11, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (57, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review23.png', 12, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (58, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review24.png', 13, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (59, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review17.png', 6, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (60, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review18.png', 7, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (61, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review19.png', 8, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (62, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review20.png', 9, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (63, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review21.png', 10, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (64, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review22.png', 11, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (65, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review23.png', 12, now(), now()); +INSERT INTO review_image (id, image, review_id, created_date, modified_date) VALUES (66, 'https://pawwithu-image.s3.ap-northeast-2.amazonaws.com/review/review24.png', 13, now(), now()); -- UPDATE REVIEW MAIN IMAGE