@bootpay/backend-js
Version:
Bootpay Server Side Package for Node.js
82 lines (81 loc) • 3.71 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.OrderModule = void 0;
class OrderModule {
constructor(bootpay) {
this.bootpay = bootpay;
}
/**
* 주문 목록 조회
* @param params 조회 파라미터
*/
list(params) {
return __awaiter(this, void 0, void 0, function* () {
const queryParams = new URLSearchParams();
if (params) {
if (params.page !== undefined)
queryParams.append('page', params.page.toString());
if (params.limit !== undefined)
queryParams.append('limit', params.limit.toString());
if (params.keyword)
queryParams.append('keyword', params.keyword);
if (params.user_id)
queryParams.append('user_id', params.user_id);
if (params.user_group_id)
queryParams.append('user_group_id', params.user_group_id);
if (params.cs_type)
queryParams.append('cs_type', params.cs_type);
if (params.css_at)
queryParams.append('css_at', params.css_at);
if (params.cse_at)
queryParams.append('cse_at', params.cse_at);
if (params.subscription_billing_type !== undefined) {
queryParams.append('subscription_billing_type', params.subscription_billing_type.toString());
}
if (params.status && params.status.length > 0) {
queryParams.append('status', params.status.join(','));
}
if (params.payment_status && params.payment_status.length > 0) {
queryParams.append('payment_status', params.payment_status.join(','));
}
if (params.order_subscription_ids && params.order_subscription_ids.length > 0) {
queryParams.append('order_subscription_ids', params.order_subscription_ids.join(','));
}
}
const query = queryParams.toString();
return this.bootpay.get(`orders${query ? `?${query}` : ''}`);
});
}
/**
* 주문 상세 조회
* @param orderId 주문 ID
*/
detail(orderId) {
return __awaiter(this, void 0, void 0, function* () {
return this.bootpay.get(`orders/${orderId}`);
});
}
/**
* 월별 주문 조회
* @param userGroupId 사용자 그룹 ID
* @param searchDate 검색 날짜 (YYYY-MM 형식)
*/
month(userGroupId, searchDate) {
return __awaiter(this, void 0, void 0, function* () {
const queryParams = new URLSearchParams();
queryParams.append('user_group_id', userGroupId);
queryParams.append('search_date', searchDate);
return this.bootpay.get(`orders/month?${queryParams.toString()}`);
});
}
}
exports.OrderModule = OrderModule;