Skip to content

Repository files navigation

lodestar-sdk

lodestar-sdk 是以 TypeORM 直連 PostgreSQL 的 backend SDK,整合原本 lodestar-app-backendlodestar-server 的核心商業流程(Order、Payment、Auth、Discount、App Settings)。

安裝

npm install

環境變數

  • POSTGRES_URL:PostgreSQL 連線字串
  • JWT_SECRET:SDK 發行 access token 使用

快速開始

import { createLodestarSDK } from 'lodestar-sdk'

const sdk = createLodestarSDK({
  url: process.env.POSTGRES_URL || '',
  jwtSecret: process.env.JWT_SECRET || 'dev-secret',
})

await sdk.initialize()
const appSettings = await sdk.appService.getAppSettings('app-id')
await sdk.destroy()

主要服務

  • appServicegetApp(), getAppSettings()
  • authServiceregisterMember(), login(), verifyAccessToken()
  • orderServicecreateOrder(), getOrderById()
  • paymentServicemarkPaymentSuccess(), getShouldIssueInvoicePaymentLogs(), issueInvoice()
  • discountServiceredeemCoupon(), redeemVoucher()
  • programServicegetProgramById(), getProgramPlanById()
  • podcastServicegetPodcastProgramById(), getPodcastProgramAudios()
  • activityServicegetActivityTicketById(), getActivitySessions()
  • appointmentServicegetAppointmentPlanById(), getAppointmentSchedules()
  • triggerServicemarkOrderProductDelivered(), appendOrderDeliverable()

範例

npm run example:create-order
npm run example:get-app
npm run example:get-order
npm run example:auth
npm run example:discount
npm run examples:develop

範例檔案位於 examples/

  • examples/create-order.ts
  • examples/get-app.ts
  • examples/get-order.ts
  • examples/auth-register-login.ts
  • examples/discount-redeem.ts

examples:develop 會依序執行:

  1. example:create-order
  2. example:get-order
  3. example:auth
  4. example:discount

請先設定 develop DB 連線環境變數(可由 .env.example 載入):

set -a
source .env.example
set +a

測試

npm test

使用 develop DB 進行整合測試

export RUN_INTEGRATION=1
npm run test:integration

說明:

  • 請將 POSTGRES_URL 指向 develop PostgreSQL。
  • 若 develop DB 缺少測試資料,可先執行 npm run db:seed 匯入 seeds/01-core-seed.sql

功能覆蓋報告

npm run parity:report

報告會輸出到 docs/FEATURE_PARITY_REPORT.md,用來追蹤 lodestar-app-backend / lodestar-serverlodestar-sdk 的功能覆蓋差距。

測試涵蓋:

  • 訂單建立流程(order_log/order_product/order_discount/payment_log 關聯)
  • 付款成功狀態更新
  • 會員註冊與登入 token 發行
  • coupon/voucher 核銷流程

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages