import { ClientProxy } from '@nestjs/microservices'; import { AbstractParam } from '@yolo-croket-dev/core'; import { GetStoreItemsForAdminPayload, GetStoreItemsForAdminResult, UpdateStoreItemSelectionConnectInfosBulkPayload, GetStoreItemSaleStatusBulkPayload, GetStoreItemSaleStatusBulkResult, FilterWordPayload, FilterWordResult } from '@yolo-croket-dev/dto-v2/user-service'; import { GetMembershipsPayload } from '@yolo-croket-dev/dto-v2/user-service/membership/query'; import { GetUsernameByIdPayload, GetUsersForAppPushPayload, GetUsersForAppPushResult } from '@yolo-croket-dev/dto-v2/user-service/user'; import { Membership } from '@yolo-croket-dev/entity'; import { UserPhoneDecodeByPhoneNumberPayloadDto, UserPhoneDecodeByPhoneNumberResultDto } from '@yolo-croket-dev/dto/user-service'; import { NotificationUser, UpdateUserByIdPayload } from './amqp.user-service.types'; import { GetUserInfoByIdPayload, GetUserInfoByIdResult, GetUsersForAdminPayload, GetUsersForAdminResult, GetUsersPayload, GetUsersResult, GetSellerEmailPayload, GetSellerEmailResult, ReversalCreditByPInfoIdPayload, SendNotOpenAppNotificationResult, ConfirmEmailSignupVerificationPayload, ConfirmEmailSignupVerificationResult, CreateEmailSignupPayload, CreateEmailSignupResult, RequestEmailSignupVerificationPayload, RequestEmailSignupVerificationResult, RequestSellerOverseasPhoneVerificationPayload, RequestSellerOverseasPhoneVerificationResult, ConfirmSellerOverseasPhoneVerificationPayload, ConfirmSellerOverseasPhoneVerificationResult } from './dto/user'; export declare class AmqpUserService { private readonly client; private readonly amqpManager; constructor(client: ClientProxy); getUsersForAdmin(payload: GetUsersForAdminPayload, param: AbstractParam): Promise; getStoreItemsForAdminAmqp(payload: GetStoreItemsForAdminPayload, param: AbstractParam): Promise; updateStoreItemSelectionConnectInfosBulkAmqp(payload: UpdateStoreItemSelectionConnectInfosBulkPayload, param: AbstractParam): Promise; getStoreItemSaleStatusBulk(payload: GetStoreItemSaleStatusBulkPayload, param: AbstractParam): Promise; getMemberships(payload: GetMembershipsPayload, param: AbstractParam): Promise[]>; userPhoneDecodeByPhoneNumberAmqp(payload: UserPhoneDecodeByPhoneNumberPayloadDto, param: AbstractParam): Promise; getUsersForAppPush(payload: GetUsersForAppPushPayload, param: AbstractParam): Promise; checkForProhibitedWords(payload: FilterWordPayload, param: AbstractParam): Promise; getUsernameById(payload: GetUsernameByIdPayload, param: AbstractParam): Promise; /** 유저 알림 정보 포함하여 가져오기 */ getUserByIdWithNotification(payload: GetUsernameByIdPayload, param: AbstractParam): Promise; /** 유저 정보 수정 */ updateUserById(payload: UpdateUserByIdPayload, param: AbstractParam): Promise; /** 유저 아이디를 통한 휴대폰 번호 가져오기 (use. notification) */ userPhoneDecodeById(userId: string, param: AbstractParam): Promise; getUserInfoById(payload: GetUserInfoByIdPayload, param: AbstractParam): Promise; getUsers(payload: GetUsersPayload, param: AbstractParam): Promise; getSellerEmail(payload: GetSellerEmailPayload, param: AbstractParam): Promise; getBlockedUserIds(param: AbstractParam): Promise; reversalCreditByPInfoId(payload: ReversalCreditByPInfoIdPayload, param: AbstractParam): Promise; sendNotOpenAppNotification(param: AbstractParam): Promise; /** * @author sj * @description 이메일 전용 가입 인증 메일 발송 * @process 가입 전 인증 상태는 user-service가 소유하고 gateway는 이 RPC 결과만 전달한다. * */ requestEmailSignupVerification(payload: RequestEmailSignupVerificationPayload, param: AbstractParam): Promise; /** * @author sj * @description 이메일 전용 가입 인증번호 확인 * @process 성공 시 User 생성 전에만 사용하는 일회성 token을 반환한다. * */ confirmEmailSignupVerification(payload: ConfirmEmailSignupVerificationPayload, param: AbstractParam): Promise; /** * @author sj * @description 이메일 전용 회원가입 * @process 인증 token 소비와 User 생성을 user-service 단일 경계에서 처리한다. * */ createEmailSignup(payload: CreateEmailSignupPayload, param: AbstractParam): Promise; /** * @author sj * @description 승인 셀러 해외 인증번호 발송 * @process user-service가 승인 상태와 OTP 상태를 검증한다. * */ requestSellerOverseasPhoneVerification(payload: RequestSellerOverseasPhoneVerificationPayload, param: AbstractParam): Promise; /** * @author sj * @description 승인 셀러 해외 인증번호 확인 * @process 성공 시 계정 전화번호를 저장한다. * */ confirmSellerOverseasPhoneVerification(payload: ConfirmSellerOverseasPhoneVerificationPayload, param: AbstractParam): Promise; }