rehive 3.1.3 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +211 -494
- package/dist/admin.d.mts +31284 -0
- package/dist/admin.d.ts +31284 -0
- package/dist/admin.js +1 -0
- package/dist/admin.mjs +1 -0
- package/dist/auth.d.mts +23 -0
- package/dist/auth.d.ts +23 -0
- package/dist/auth.js +1 -0
- package/dist/auth.mjs +1 -0
- package/dist/chunk-53JJUQ4V.js +1 -0
- package/dist/chunk-5MRX4DHT.js +1 -0
- package/dist/chunk-7WWCXCY2.mjs +1 -0
- package/dist/chunk-HF5XDXOU.mjs +1 -0
- package/dist/chunk-NFN3B6SG.mjs +1 -0
- package/dist/chunk-OEIQFP6T.js +1 -0
- package/dist/chunk-Q2ZX3WFY.mjs +7 -0
- package/dist/chunk-QWQ6ZENI.js +1 -0
- package/dist/chunk-RKDIBDG6.js +7 -0
- package/dist/chunk-S4QKN5WW.mjs +1 -0
- package/dist/chunk-UYUMXTPF.js +7 -0
- package/dist/chunk-V277OEVY.mjs +7 -0
- package/dist/create-api-client-BMeX50D6.d.ts +25 -0
- package/dist/create-api-client-BrsH1l8c.d.mts +25 -0
- package/dist/create-auth-UTklIOTc.d.mts +18340 -0
- package/dist/create-auth-UTklIOTc.d.ts +18340 -0
- package/dist/extensions/alchemy.d.mts +1114 -0
- package/dist/extensions/alchemy.d.ts +1114 -0
- package/dist/extensions/alchemy.js +7 -0
- package/dist/extensions/alchemy.mjs +7 -0
- package/dist/extensions/app.d.mts +2042 -0
- package/dist/extensions/app.d.ts +2042 -0
- package/dist/extensions/app.js +7 -0
- package/dist/extensions/app.mjs +7 -0
- package/dist/extensions/billing.d.mts +828 -0
- package/dist/extensions/billing.d.ts +828 -0
- package/dist/extensions/billing.js +7 -0
- package/dist/extensions/billing.mjs +7 -0
- package/dist/extensions/bridge.d.mts +2028 -0
- package/dist/extensions/bridge.d.ts +2028 -0
- package/dist/extensions/bridge.js +7 -0
- package/dist/extensions/bridge.mjs +7 -0
- package/dist/extensions/builder.d.mts +542 -0
- package/dist/extensions/builder.d.ts +542 -0
- package/dist/extensions/builder.js +7 -0
- package/dist/extensions/builder.mjs +7 -0
- package/dist/extensions/business.d.mts +8972 -0
- package/dist/extensions/business.d.ts +8972 -0
- package/dist/extensions/business.js +7 -0
- package/dist/extensions/business.mjs +7 -0
- package/dist/extensions/conversion.d.mts +2786 -0
- package/dist/extensions/conversion.d.ts +2786 -0
- package/dist/extensions/conversion.js +7 -0
- package/dist/extensions/conversion.mjs +7 -0
- package/dist/extensions/mass-send.d.mts +1294 -0
- package/dist/extensions/mass-send.d.ts +1294 -0
- package/dist/extensions/mass-send.js +7 -0
- package/dist/extensions/mass-send.mjs +7 -0
- package/dist/extensions/notifications.d.mts +2035 -0
- package/dist/extensions/notifications.d.ts +2035 -0
- package/dist/extensions/notifications.js +7 -0
- package/dist/extensions/notifications.mjs +7 -0
- package/dist/extensions/payment-requests.d.mts +3746 -0
- package/dist/extensions/payment-requests.d.ts +3746 -0
- package/dist/extensions/payment-requests.js +7 -0
- package/dist/extensions/payment-requests.mjs +7 -0
- package/dist/extensions/products.d.mts +10092 -0
- package/dist/extensions/products.d.ts +10092 -0
- package/dist/extensions/products.js +7 -0
- package/dist/extensions/products.mjs +7 -0
- package/dist/extensions/rain.d.mts +1896 -0
- package/dist/extensions/rain.d.ts +1896 -0
- package/dist/extensions/rain.js +7 -0
- package/dist/extensions/rain.mjs +7 -0
- package/dist/extensions/rewards.d.mts +2038 -0
- package/dist/extensions/rewards.d.ts +2038 -0
- package/dist/extensions/rewards.js +7 -0
- package/dist/extensions/rewards.mjs +7 -0
- package/dist/extensions/stellar-testnet.d.mts +3922 -0
- package/dist/extensions/stellar-testnet.d.ts +3922 -0
- package/dist/extensions/stellar-testnet.js +7 -0
- package/dist/extensions/stellar-testnet.mjs +7 -0
- package/dist/extensions/stellar.d.mts +3922 -0
- package/dist/extensions/stellar.d.ts +3922 -0
- package/dist/extensions/stellar.js +7 -0
- package/dist/extensions/stellar.mjs +7 -0
- package/dist/index.d.mts +6 -61050
- package/dist/index.d.ts +6 -61050
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/react.d.mts +8 -61087
- package/dist/react.d.ts +8 -61087
- package/dist/react.js +1 -1
- package/dist/react.mjs +1 -1
- package/dist/user.d.mts +1347 -0
- package/dist/user.d.ts +1347 -0
- package/dist/user.js +1 -0
- package/dist/user.mjs +1 -0
- package/package.json +99 -32
- package/src/auth/core/storage-adapters.ts +58 -0
- package/src/auth/create-auth.ts +563 -0
- package/src/auth/index.ts +4 -0
- package/src/auth/types/index.ts +28 -0
- package/src/extensions/alchemy/create-api.ts +13 -0
- package/src/extensions/alchemy/index.ts +3 -0
- package/src/extensions/alchemy/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/alchemy/openapi-ts/client/index.ts +25 -0
- package/src/extensions/alchemy/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/alchemy/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/alchemy/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/alchemy/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/alchemy/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/alchemy/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/alchemy/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/alchemy/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/alchemy/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/alchemy/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/alchemy/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/alchemy/openapi-ts/index.ts +4 -0
- package/src/extensions/alchemy/openapi-ts/sdk.gen.ts +179 -0
- package/src/extensions/alchemy/openapi-ts/types.gen.ts +851 -0
- package/src/extensions/app/create-api.ts +13 -0
- package/src/extensions/app/index.ts +3 -0
- package/src/extensions/app/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/app/openapi-ts/client/index.ts +25 -0
- package/src/extensions/app/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/app/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/app/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/app/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/app/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/app/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/app/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/app/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/app/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/app/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/app/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/app/openapi-ts/index.ts +4 -0
- package/src/extensions/app/openapi-ts/sdk.gen.ts +539 -0
- package/src/extensions/app/openapi-ts/types.gen.ts +1702 -0
- package/src/extensions/billing/create-api.ts +13 -0
- package/src/extensions/billing/index.ts +3 -0
- package/src/extensions/billing/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/billing/openapi-ts/client/index.ts +25 -0
- package/src/extensions/billing/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/billing/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/billing/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/billing/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/billing/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/billing/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/billing/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/billing/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/billing/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/billing/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/billing/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/billing/openapi-ts/index.ts +4 -0
- package/src/extensions/billing/openapi-ts/sdk.gen.ts +155 -0
- package/src/extensions/billing/openapi-ts/types.gen.ts +508 -0
- package/src/extensions/bridge/create-api.ts +13 -0
- package/src/extensions/bridge/index.ts +3 -0
- package/src/extensions/bridge/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/bridge/openapi-ts/client/index.ts +25 -0
- package/src/extensions/bridge/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/bridge/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/bridge/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/bridge/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/bridge/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/bridge/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/bridge/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/bridge/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/bridge/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/bridge/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/bridge/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/bridge/openapi-ts/index.ts +4 -0
- package/src/extensions/bridge/openapi-ts/sdk.gen.ts +383 -0
- package/src/extensions/bridge/openapi-ts/types.gen.ts +1855 -0
- package/src/extensions/builder/create-api.ts +13 -0
- package/src/extensions/builder/index.ts +3 -0
- package/src/extensions/builder/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/builder/openapi-ts/client/index.ts +25 -0
- package/src/extensions/builder/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/builder/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/builder/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/builder/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/builder/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/builder/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/builder/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/builder/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/builder/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/builder/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/builder/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/builder/openapi-ts/index.ts +4 -0
- package/src/extensions/builder/openapi-ts/sdk.gen.ts +60 -0
- package/src/extensions/builder/openapi-ts/types.gen.ts +215 -0
- package/src/extensions/business/create-api.ts +13 -0
- package/src/extensions/business/index.ts +3 -0
- package/src/extensions/business/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/business/openapi-ts/client/index.ts +25 -0
- package/src/extensions/business/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/business/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/business/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/business/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/business/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/business/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/business/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/business/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/business/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/business/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/business/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/business/openapi-ts/index.ts +4 -0
- package/src/extensions/business/openapi-ts/sdk.gen.ts +903 -0
- package/src/extensions/business/openapi-ts/types.gen.ts +8718 -0
- package/src/extensions/conversion/create-api.ts +13 -0
- package/src/extensions/conversion/index.ts +3 -0
- package/src/extensions/conversion/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/conversion/openapi-ts/client/index.ts +25 -0
- package/src/extensions/conversion/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/conversion/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/conversion/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/conversion/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/conversion/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/conversion/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/conversion/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/conversion/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/conversion/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/conversion/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/conversion/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/conversion/openapi-ts/index.ts +4 -0
- package/src/extensions/conversion/openapi-ts/sdk.gen.ts +684 -0
- package/src/extensions/conversion/openapi-ts/types.gen.ts +2467 -0
- package/src/extensions/mass-send/create-api.ts +13 -0
- package/src/extensions/mass-send/index.ts +3 -0
- package/src/extensions/mass-send/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/mass-send/openapi-ts/client/index.ts +25 -0
- package/src/extensions/mass-send/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/mass-send/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/mass-send/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/mass-send/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/mass-send/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/mass-send/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/mass-send/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/mass-send/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/mass-send/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/mass-send/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/mass-send/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/mass-send/openapi-ts/index.ts +4 -0
- package/src/extensions/mass-send/openapi-ts/sdk.gen.ts +270 -0
- package/src/extensions/mass-send/openapi-ts/types.gen.ts +988 -0
- package/src/extensions/notifications/create-api.ts +13 -0
- package/src/extensions/notifications/index.ts +3 -0
- package/src/extensions/notifications/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/notifications/openapi-ts/client/index.ts +25 -0
- package/src/extensions/notifications/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/notifications/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/notifications/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/notifications/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/notifications/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/notifications/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/notifications/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/notifications/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/notifications/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/notifications/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/notifications/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/notifications/openapi-ts/index.ts +4 -0
- package/src/extensions/notifications/openapi-ts/sdk.gen.ts +450 -0
- package/src/extensions/notifications/openapi-ts/types.gen.ts +1732 -0
- package/src/extensions/payment-requests/create-api.ts +13 -0
- package/src/extensions/payment-requests/index.ts +3 -0
- package/src/extensions/payment-requests/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/payment-requests/openapi-ts/client/index.ts +25 -0
- package/src/extensions/payment-requests/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/payment-requests/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/payment-requests/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/payment-requests/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/payment-requests/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/payment-requests/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/payment-requests/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/payment-requests/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/payment-requests/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/payment-requests/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/payment-requests/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/payment-requests/openapi-ts/index.ts +4 -0
- package/src/extensions/payment-requests/openapi-ts/sdk.gen.ts +845 -0
- package/src/extensions/payment-requests/openapi-ts/types.gen.ts +3415 -0
- package/src/extensions/products/create-api.ts +13 -0
- package/src/extensions/products/index.ts +3 -0
- package/src/extensions/products/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/products/openapi-ts/client/index.ts +25 -0
- package/src/extensions/products/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/products/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/products/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/products/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/products/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/products/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/products/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/products/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/products/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/products/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/products/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/products/openapi-ts/index.ts +4 -0
- package/src/extensions/products/openapi-ts/sdk.gen.ts +2619 -0
- package/src/extensions/products/openapi-ts/types.gen.ts +9717 -0
- package/src/extensions/rain/create-api.ts +13 -0
- package/src/extensions/rain/index.ts +3 -0
- package/src/extensions/rain/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/rain/openapi-ts/client/index.ts +25 -0
- package/src/extensions/rain/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/rain/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/rain/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/rain/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/rain/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/rain/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/rain/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/rain/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/rain/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/rain/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/rain/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/rain/openapi-ts/index.ts +4 -0
- package/src/extensions/rain/openapi-ts/sdk.gen.ts +227 -0
- package/src/extensions/rain/openapi-ts/types.gen.ts +1660 -0
- package/src/extensions/rewards/create-api.ts +13 -0
- package/src/extensions/rewards/index.ts +3 -0
- package/src/extensions/rewards/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/rewards/openapi-ts/client/index.ts +25 -0
- package/src/extensions/rewards/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/rewards/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/rewards/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/rewards/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/rewards/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/rewards/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/rewards/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/rewards/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/rewards/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/rewards/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/rewards/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/rewards/openapi-ts/index.ts +4 -0
- package/src/extensions/rewards/openapi-ts/sdk.gen.ts +345 -0
- package/src/extensions/rewards/openapi-ts/types.gen.ts +1718 -0
- package/src/extensions/stellar/create-api.ts +13 -0
- package/src/extensions/stellar/index.ts +3 -0
- package/src/extensions/stellar/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/stellar/openapi-ts/client/index.ts +25 -0
- package/src/extensions/stellar/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/stellar/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/stellar/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/stellar/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/stellar/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/stellar/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/stellar/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/stellar/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/stellar/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/stellar/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/stellar/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/stellar/openapi-ts/index.ts +4 -0
- package/src/extensions/stellar/openapi-ts/sdk.gen.ts +1049 -0
- package/src/extensions/stellar/openapi-ts/types.gen.ts +3543 -0
- package/src/extensions/stellar-testnet/create-api.ts +13 -0
- package/src/extensions/stellar-testnet/index.ts +3 -0
- package/src/extensions/stellar-testnet/openapi-ts/client/client.gen.ts +288 -0
- package/src/extensions/stellar-testnet/openapi-ts/client/index.ts +25 -0
- package/src/extensions/stellar-testnet/openapi-ts/client/types.gen.ts +213 -0
- package/src/extensions/stellar-testnet/openapi-ts/client/utils.gen.ts +316 -0
- package/src/extensions/stellar-testnet/openapi-ts/client.gen.ts +16 -0
- package/src/extensions/stellar-testnet/openapi-ts/core/auth.gen.ts +41 -0
- package/src/extensions/stellar-testnet/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/extensions/stellar-testnet/openapi-ts/core/params.gen.ts +169 -0
- package/src/extensions/stellar-testnet/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/extensions/stellar-testnet/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/extensions/stellar-testnet/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/extensions/stellar-testnet/openapi-ts/core/types.gen.ts +104 -0
- package/src/extensions/stellar-testnet/openapi-ts/core/utils.gen.ts +140 -0
- package/src/extensions/stellar-testnet/openapi-ts/index.ts +4 -0
- package/src/extensions/stellar-testnet/openapi-ts/sdk.gen.ts +1049 -0
- package/src/extensions/stellar-testnet/openapi-ts/types.gen.ts +3543 -0
- package/src/platform/admin/create-api.ts +11 -0
- package/src/platform/admin/index.ts +3 -42
- package/src/platform/admin/openapi-ts/client/client.gen.ts +288 -0
- package/src/platform/admin/openapi-ts/client/index.ts +25 -0
- package/src/platform/admin/openapi-ts/client/types.gen.ts +213 -0
- package/src/platform/admin/openapi-ts/client/utils.gen.ts +316 -0
- package/src/platform/admin/openapi-ts/client.gen.ts +16 -0
- package/src/platform/admin/openapi-ts/core/auth.gen.ts +41 -0
- package/src/platform/admin/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/platform/admin/openapi-ts/core/params.gen.ts +169 -0
- package/src/platform/admin/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/platform/admin/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/platform/admin/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/platform/admin/openapi-ts/core/types.gen.ts +104 -0
- package/src/platform/admin/openapi-ts/core/utils.gen.ts +140 -0
- package/src/platform/admin/openapi-ts/index.ts +4 -0
- package/src/platform/admin/openapi-ts/sdk.gen.ts +3975 -0
- package/src/platform/admin/openapi-ts/types.gen.ts +31193 -0
- package/src/platform/user/create-api.ts +11 -0
- package/src/platform/user/index.ts +3 -42
- package/src/platform/user/openapi-ts/client/client.gen.ts +288 -0
- package/src/platform/user/openapi-ts/client/index.ts +25 -0
- package/src/platform/user/openapi-ts/client/types.gen.ts +213 -0
- package/src/platform/user/openapi-ts/client/utils.gen.ts +316 -0
- package/src/platform/user/openapi-ts/client.gen.ts +16 -0
- package/src/platform/user/openapi-ts/core/auth.gen.ts +41 -0
- package/src/platform/user/openapi-ts/core/bodySerializer.gen.ts +84 -0
- package/src/platform/user/openapi-ts/core/params.gen.ts +169 -0
- package/src/platform/user/openapi-ts/core/pathSerializer.gen.ts +171 -0
- package/src/platform/user/openapi-ts/core/queryKeySerializer.gen.ts +117 -0
- package/src/platform/user/openapi-ts/core/serverSentEvents.gen.ts +243 -0
- package/src/platform/user/openapi-ts/core/types.gen.ts +104 -0
- package/src/platform/user/openapi-ts/core/utils.gen.ts +140 -0
- package/src/platform/user/openapi-ts/index.ts +4 -0
- package/src/platform/user/openapi-ts/sdk.gen.ts +2090 -0
- package/src/platform/user/openapi-ts/types.gen.ts +19540 -0
- package/src/shared/api-utils.ts +22 -0
- package/src/shared/bind-sdk.ts +48 -0
- package/src/shared/create-api-client.ts +54 -0
- package/src/extensions/app/http-client.ts +0 -1
- package/src/extensions/app/rehive-app-api.ts +0 -1827
- package/src/extensions/bridge/rehive-bridge-api.ts +0 -1436
- package/src/extensions/business/rehive-business-api.ts +0 -9480
- package/src/extensions/conversion/rehive-conversion-api.ts +0 -3054
- package/src/extensions/mass-send/rehive-mass-send-api.ts +0 -1061
- package/src/extensions/notifications/rehive-notifications-api.ts +0 -1964
- package/src/extensions/payment-requests/rehive-payment-requests-api.ts +0 -4026
- package/src/extensions/products/rehive-products-api.ts +0 -13107
- package/src/extensions/rewards/rehive-rewards-api.ts +0 -2139
- package/src/extensions/stellar/rehive-stellar-api.ts +0 -4219
- package/src/extensions/stellar-testnet/rehive-stellar-testnet-api.ts +0 -4219
- package/src/platform/admin/rehive-platform-admin-api.ts +0 -35075
- package/src/platform/user/rehive-platform-user-api.ts +0 -21554
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Rehive SDK
|
|
2
2
|
|
|
3
|
-
A modern TypeScript SDK for the Rehive platform and extension APIs
|
|
3
|
+
A modern, fully typed TypeScript SDK for the Rehive platform and extension APIs. Tree-shakeable modular imports, shared authentication, and full autocomplete on every method.
|
|
4
4
|
|
|
5
|
-
> **Note:** This is version
|
|
5
|
+
> **Note:** This is version 4 of the Rehive JavaScript SDK -- a major rewrite with a modular architecture. For v3, see the [v3 branch](https://github.com/rehive/rehive-javascript/tree/v3). For v2, see the [v2 branch](https://github.com/rehive/rehive-javascript/tree/v2).
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -12,63 +12,72 @@ npm install rehive
|
|
|
12
12
|
|
|
13
13
|
## Quick Start
|
|
14
14
|
|
|
15
|
-
###
|
|
15
|
+
### Modular API
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Import only what you need. Each module is tree-shakeable and fully typed.
|
|
18
18
|
|
|
19
19
|
```typescript
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
import { createAuth } from "rehive/auth";
|
|
21
|
+
import { createUserApi } from "rehive/user";
|
|
22
|
+
import { createAdminApi } from "rehive/admin";
|
|
23
|
+
import { createConversionApi } from "rehive/extensions/conversion";
|
|
24
|
+
|
|
25
|
+
// Create a shared auth instance
|
|
26
|
+
const auth = createAuth({
|
|
27
|
+
baseUrl: "https://api.rehive.com",
|
|
28
|
+
storage: "local", // "local" | "memory" | custom StorageAdapter
|
|
25
29
|
});
|
|
26
30
|
|
|
27
|
-
//
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
});
|
|
31
|
+
// Create API instances -- each uses auth.getToken() automatically
|
|
32
|
+
const user = createUserApi({ auth });
|
|
33
|
+
const admin = createAdminApi({ auth });
|
|
34
|
+
const conversion = createConversionApi({ auth });
|
|
32
35
|
|
|
33
|
-
//
|
|
34
|
-
await
|
|
35
|
-
email: 'user@example.com',
|
|
36
|
-
first_name: 'John',
|
|
37
|
-
last_name: 'Doe'
|
|
38
|
-
});
|
|
36
|
+
// Authenticate
|
|
37
|
+
await auth.login({ user: "email@example.com", password: "pass", company: "myco" });
|
|
39
38
|
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
// All APIs are now authenticated -- full autocomplete on every method
|
|
40
|
+
await user.userRetrieve();
|
|
41
|
+
await admin.adminUsersList({});
|
|
42
|
+
await conversion.userConversionPairsList({});
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
// Logout
|
|
45
|
+
await auth.logout();
|
|
46
|
+
```
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
### Server-side with permanent token
|
|
47
49
|
|
|
48
50
|
```typescript
|
|
49
|
-
import {
|
|
51
|
+
import { createAuth } from "rehive/auth";
|
|
52
|
+
import { createAdminApi } from "rehive/admin";
|
|
50
53
|
|
|
51
|
-
|
|
52
|
-
const
|
|
54
|
+
const auth = createAuth({ token: "your-permanent-admin-token" });
|
|
55
|
+
const admin = createAdminApi({ auth });
|
|
53
56
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
baseUrl: 'https://api.rehive.com'
|
|
57
|
-
});
|
|
57
|
+
await admin.adminUsersCreate({ body: { email: "user@example.com" } });
|
|
58
|
+
```
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
await rehive.auth.login({
|
|
61
|
-
user: 'user@example.com',
|
|
62
|
-
password: 'secure-password',
|
|
63
|
-
company: 'your-company'
|
|
64
|
-
});
|
|
60
|
+
### Authenticated Fetch (for custom endpoints)
|
|
65
61
|
|
|
66
|
-
|
|
67
|
-
const profile = await rehive.user.userRetrieve();
|
|
68
|
-
const accounts = await rehive.user.userAccountsList({});
|
|
62
|
+
For API endpoints not covered by the generated SDK, use `createAuthenticatedFetch` to get a `fetch` function that automatically injects the auth token:
|
|
69
63
|
|
|
70
|
-
|
|
71
|
-
|
|
64
|
+
```typescript
|
|
65
|
+
import { createAuth } from "rehive/auth";
|
|
66
|
+
import { createAuthenticatedFetch } from "rehive";
|
|
67
|
+
|
|
68
|
+
const auth = createAuth({ storage: "local" });
|
|
69
|
+
await auth.login({ user: "email@example.com", password: "pass", company: "myco" });
|
|
70
|
+
|
|
71
|
+
// Create an authenticated fetch -- handles token refresh automatically
|
|
72
|
+
const authFetch = createAuthenticatedFetch(auth);
|
|
73
|
+
|
|
74
|
+
// Use it like regular fetch, but with auth headers injected
|
|
75
|
+
const response = await authFetch("https://example.services.rehive.com/api/custom-endpoint/", {
|
|
76
|
+
method: "POST",
|
|
77
|
+
headers: { "Content-Type": "application/json" },
|
|
78
|
+
body: JSON.stringify({ data: { /* ... */ } }),
|
|
79
|
+
});
|
|
80
|
+
const data = await response.json();
|
|
72
81
|
```
|
|
73
82
|
|
|
74
83
|
## React Integration
|
|
@@ -76,531 +85,239 @@ await rehive.auth.logout();
|
|
|
76
85
|
For a complete working example, see the [interactive demo](./demo).
|
|
77
86
|
|
|
78
87
|
```typescript
|
|
79
|
-
import {
|
|
80
|
-
import { AuthProvider, useAuth } from 'rehive/react';
|
|
88
|
+
import { AuthProvider, useAuth } from "rehive/react";
|
|
81
89
|
|
|
82
90
|
function App() {
|
|
83
91
|
return (
|
|
84
|
-
<AuthProvider config={{ baseUrl:
|
|
85
|
-
<
|
|
92
|
+
<AuthProvider config={{ baseUrl: "https://api.rehive.com", storage: "local" }}>
|
|
93
|
+
<Dashboard />
|
|
86
94
|
</AuthProvider>
|
|
87
95
|
);
|
|
88
96
|
}
|
|
89
97
|
|
|
90
|
-
function
|
|
91
|
-
const {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
user:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
const fetchUserDetails = async () => {
|
|
104
|
-
setIsLoadingDetails(true);
|
|
105
|
-
try {
|
|
106
|
-
const response = await rehive.user.userRetrieve();
|
|
107
|
-
setUserDetails(response.data);
|
|
108
|
-
} catch (error) {
|
|
109
|
-
console.error('Failed to fetch user details:', error);
|
|
110
|
-
} finally {
|
|
111
|
-
setIsLoadingDetails(false);
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
if (loading) return <div>Loading...</div>;
|
|
116
|
-
|
|
117
|
-
if (!session) {
|
|
118
|
-
return <button onClick={handleLogin}>Login</button>;
|
|
98
|
+
function Dashboard() {
|
|
99
|
+
const { authUser, authLoading, login, logout, auth } = useAuth();
|
|
100
|
+
|
|
101
|
+
if (authLoading) return <div>Loading...</div>;
|
|
102
|
+
|
|
103
|
+
if (!authUser) {
|
|
104
|
+
return (
|
|
105
|
+
<button onClick={() => login({ user: "email@example.com", password: "pass", company: "myco" })}>
|
|
106
|
+
Login
|
|
107
|
+
</button>
|
|
108
|
+
);
|
|
119
109
|
}
|
|
120
110
|
|
|
121
111
|
return (
|
|
122
112
|
<div>
|
|
123
|
-
<
|
|
113
|
+
<p>Logged in as {authUser.user.email}</p>
|
|
124
114
|
<button onClick={logout}>Logout</button>
|
|
125
|
-
|
|
126
|
-
<div>
|
|
127
|
-
<button onClick={fetchUserDetails} disabled={isLoadingDetails}>
|
|
128
|
-
{isLoadingDetails ? 'Loading...' : 'Fetch User Details'}
|
|
129
|
-
</button>
|
|
130
|
-
|
|
131
|
-
{userDetails && (
|
|
132
|
-
<div>
|
|
133
|
-
<h3>User Details</h3>
|
|
134
|
-
<p>ID: {userDetails.id}</p>
|
|
135
|
-
<p>Name: {userDetails.first_name} {userDetails.last_name}</p>
|
|
136
|
-
<p>Status: {userDetails.status}</p>
|
|
137
|
-
<p>Verified: {userDetails.verified ? 'Yes' : 'No'}</p>
|
|
138
|
-
</div>
|
|
139
|
-
)}
|
|
140
|
-
</div>
|
|
141
115
|
</div>
|
|
142
116
|
);
|
|
143
117
|
}
|
|
144
118
|
```
|
|
145
119
|
|
|
120
|
+
The `useAuth` hook provides: `authUser`, `authLoading`, `authError`, `login`, `register`, `registerCompany`, `logout`, `logoutAll`, `refresh`, `getSessions`, `switchToSession`, `clearAllSessions`, `deleteChallenge`, and `auth` (the `Auth` instance for creating modular API clients).
|
|
121
|
+
|
|
146
122
|
## Extension APIs
|
|
147
123
|
|
|
148
|
-
All extension APIs
|
|
124
|
+
All 15 extension APIs follow the same pattern -- import the factory, pass `auth`, call methods:
|
|
149
125
|
|
|
150
126
|
```typescript
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
baseUrl:
|
|
127
|
+
import { createConversionApi } from "rehive/extensions/conversion";
|
|
128
|
+
import { createRewardsApi } from "rehive/extensions/rewards";
|
|
129
|
+
import { createStellarApi } from "rehive/extensions/stellar";
|
|
130
|
+
import { createProductsApi } from "rehive/extensions/products";
|
|
131
|
+
import { createNotificationsApi } from "rehive/extensions/notifications";
|
|
132
|
+
import { createMassSendApi } from "rehive/extensions/mass-send";
|
|
133
|
+
import { createStellarTestnetApi } from "rehive/extensions/stellar-testnet";
|
|
134
|
+
import { createBusinessApi } from "rehive/extensions/business";
|
|
135
|
+
import { createPaymentRequestsApi } from "rehive/extensions/payment-requests";
|
|
136
|
+
import { createBridgeApi } from "rehive/extensions/bridge";
|
|
137
|
+
import { createAppApi } from "rehive/extensions/app";
|
|
138
|
+
import { createBillingApi } from "rehive/extensions/billing";
|
|
139
|
+
import { createBuilderApi } from "rehive/extensions/builder";
|
|
140
|
+
import { createRainApi } from "rehive/extensions/rain";
|
|
141
|
+
import { createAlchemyApi } from "rehive/extensions/alchemy";
|
|
142
|
+
|
|
143
|
+
const conversion = createConversionApi({ auth });
|
|
144
|
+
const rewards = createRewardsApi({ auth });
|
|
145
|
+
const stellar = createStellarApi({ auth });
|
|
146
|
+
|
|
147
|
+
// Each uses its default production base URL, or pass a custom one:
|
|
148
|
+
const conversionStaging = createConversionApi({
|
|
149
|
+
auth,
|
|
150
|
+
baseUrl: "https://staging-conversion.services.rehive.com/api/",
|
|
175
151
|
});
|
|
176
152
|
```
|
|
177
153
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
154
|
+
| Extension | Default Base URL |
|
|
155
|
+
|-----------|-----------------|
|
|
156
|
+
| Conversion | `https://conversion.services.rehive.com/api/` |
|
|
157
|
+
| Mass Send | `https://mass-send.services.rehive.com/api/` |
|
|
158
|
+
| Notifications | `https://notification.services.rehive.com/api/` |
|
|
159
|
+
| Products | `https://product.services.rehive.com/api/` |
|
|
160
|
+
| Rewards | `https://reward.services.rehive.com/api/` |
|
|
161
|
+
| Stellar | `https://stellar.services.rehive.com/api/` |
|
|
162
|
+
| Stellar Testnet | `https://stellar-testnet.services.rehive.com/api/` |
|
|
163
|
+
| Business | `https://business.services.rehive.com/api/` |
|
|
164
|
+
| Payment Requests | `https://payment-requests.services.rehive.com/api/` |
|
|
165
|
+
| Bridge | `https://bridge.services.rehive.com/api/` |
|
|
166
|
+
| App | `https://app.services.rehive.com/api/` |
|
|
167
|
+
| Billing | `https://billing.services.rehive.com/api/` |
|
|
168
|
+
| Builder | `https://builder.services.rehive.com/api/` |
|
|
169
|
+
| Rain | `https://rain.services.rehive.com/api/` |
|
|
170
|
+
| Alchemy | `https://alchemy.services.rehive.com/api/` |
|
|
171
|
+
|
|
172
|
+
## Error Handling
|
|
173
|
+
|
|
174
|
+
The SDK throws `ApiError` on non-200 responses:
|
|
181
175
|
|
|
182
176
|
```typescript
|
|
183
|
-
|
|
184
|
-
const response = await rehive.extensions.fetch('https://my-custom.services.rehive.com/api/users');
|
|
185
|
-
const users = await response.json();
|
|
186
|
-
|
|
187
|
-
// POST request with data
|
|
188
|
-
const response = await rehive.extensions.fetch('https://my-custom.services.rehive.com/api/orders', {
|
|
189
|
-
method: 'POST',
|
|
190
|
-
headers: { 'Content-Type': 'application/json' },
|
|
191
|
-
body: JSON.stringify({ product_id: 123, quantity: 2 })
|
|
192
|
-
});
|
|
193
|
-
|
|
194
|
-
// Works with any HTTP endpoint - automatically handles authentication
|
|
195
|
-
const response = await rehive.extensions.fetch('https://api.external-service.com/data', {
|
|
196
|
-
method: 'GET',
|
|
197
|
-
headers: { 'X-Custom-Header': 'value' }
|
|
198
|
-
});
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
**Key Benefits:**
|
|
202
|
-
- **Automatic authentication**: Attaches current user token to requests
|
|
203
|
-
- **Token refresh**: Automatically refreshes expired tokens
|
|
204
|
-
- **Works anywhere**: Use with any HTTP endpoint, not just Rehive services
|
|
205
|
-
- **Standard fetch API**: Same interface as native `fetch()` with auth handling
|
|
206
|
-
|
|
207
|
-
## API Responses and Error Handling
|
|
208
|
-
|
|
209
|
-
### Response Structure
|
|
210
|
-
|
|
211
|
-
All API methods return responses in a consistent format that matches the Rehive API structure:
|
|
212
|
-
|
|
213
|
-
```typescript
|
|
214
|
-
// API responses have a standard structure
|
|
215
|
-
const user = await rehive.user.authRetrieve();
|
|
216
|
-
console.log(user.data.email); // Access user data
|
|
217
|
-
|
|
218
|
-
const accounts = await rehive.user.userAccountsList({});
|
|
219
|
-
console.log(accounts.data.results); // Access account list
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
**Response Format:**
|
|
223
|
-
```typescript
|
|
224
|
-
{
|
|
225
|
-
status: "success",
|
|
226
|
-
data: {
|
|
227
|
-
// Your actual data here
|
|
228
|
-
id: "user-id",
|
|
229
|
-
email: "user@example.com",
|
|
230
|
-
// ... other properties
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
### Error Handling
|
|
236
|
-
|
|
237
|
-
The SDK provides error handling through the `ApiError` class:
|
|
238
|
-
|
|
239
|
-
```typescript
|
|
240
|
-
import { RehiveClient, ApiError } from 'rehive';
|
|
177
|
+
import { ApiError } from "rehive";
|
|
241
178
|
|
|
242
179
|
try {
|
|
243
|
-
|
|
244
|
-
console.log('User:', user.data.email);
|
|
180
|
+
await user.userRetrieve();
|
|
245
181
|
} catch (error) {
|
|
246
182
|
if (error instanceof ApiError) {
|
|
247
|
-
//
|
|
248
|
-
console.log(
|
|
249
|
-
console.log(
|
|
250
|
-
console.log('Error Details:', error.error); // Full API error response
|
|
251
|
-
|
|
252
|
-
// Handle specific error types
|
|
253
|
-
switch (error.status) {
|
|
254
|
-
case 401:
|
|
255
|
-
console.log('Authentication required');
|
|
256
|
-
// Redirect to login
|
|
257
|
-
break;
|
|
258
|
-
case 400:
|
|
259
|
-
console.log('Bad request:', error.error.data);
|
|
260
|
-
// Show validation errors
|
|
261
|
-
break;
|
|
262
|
-
case 429:
|
|
263
|
-
console.log('Rate limited - retry later');
|
|
264
|
-
break;
|
|
265
|
-
default:
|
|
266
|
-
console.log('API error:', error.message);
|
|
267
|
-
}
|
|
268
|
-
} else {
|
|
269
|
-
// Network errors, timeouts, etc.
|
|
270
|
-
console.error('Network error:', error.message);
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
**Common Error Scenarios:**
|
|
276
|
-
|
|
277
|
-
| Status Code | Description | Common Causes |
|
|
278
|
-
|-------------|-------------|---------------|
|
|
279
|
-
| `400` | Bad Request | Missing required fields, invalid data format |
|
|
280
|
-
| `401` | Unauthorized | Missing or invalid authentication token |
|
|
281
|
-
| `403` | Forbidden | Insufficient permissions for the operation |
|
|
282
|
-
| `404` | Not Found | Resource doesn't exist or user lacks access |
|
|
283
|
-
| `429` | Rate Limited | Too many requests - implement retry logic |
|
|
284
|
-
| `500` | Server Error | Internal server error - retry or contact support |
|
|
285
|
-
|
|
286
|
-
**Error Response Structure:**
|
|
287
|
-
```typescript
|
|
288
|
-
// ApiError properties
|
|
289
|
-
{
|
|
290
|
-
status: 400, // HTTP status code
|
|
291
|
-
message: "Validation failed", // Human-readable message
|
|
292
|
-
error: { // Full API response
|
|
293
|
-
status: "error",
|
|
294
|
-
message: "Validation failed",
|
|
295
|
-
data: {
|
|
296
|
-
email: ["This field is required"],
|
|
297
|
-
password: ["Password too short"]
|
|
298
|
-
}
|
|
183
|
+
console.log("Status:", error.status); // 401, 400, 500, etc.
|
|
184
|
+
console.log("Message:", error.message); // Human-readable message
|
|
185
|
+
console.log("Details:", error.error); // Full API error response
|
|
299
186
|
}
|
|
300
187
|
}
|
|
301
188
|
```
|
|
302
189
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
The SDK provides specialized handlers for authentication flows:
|
|
190
|
+
Subscribe to auth errors for global handling:
|
|
306
191
|
|
|
307
192
|
```typescript
|
|
308
|
-
|
|
309
|
-
const unsubscribe = rehive.auth.subscribeToErrors((error) => {
|
|
193
|
+
const unsubscribe = auth.subscribeToErrors((error) => {
|
|
310
194
|
if (error) {
|
|
311
|
-
console.error(
|
|
312
|
-
|
|
313
|
-
// Handle different auth error types
|
|
314
|
-
if (error.status === 401) {
|
|
315
|
-
// Token expired or invalid
|
|
316
|
-
window.location.href = '/login';
|
|
317
|
-
} else if (error.status === 400) {
|
|
318
|
-
// Invalid credentials
|
|
319
|
-
showErrorMessage('Invalid email or password');
|
|
320
|
-
}
|
|
195
|
+
console.error("Auth error:", error.message);
|
|
321
196
|
}
|
|
322
197
|
});
|
|
323
|
-
|
|
324
|
-
// Subscribe to session changes
|
|
325
|
-
const unsubscribeSession = rehive.auth.subscribeToSession((session) => {
|
|
326
|
-
if (session) {
|
|
327
|
-
console.log('User logged in:', session.user.email);
|
|
328
|
-
// Update UI for authenticated state
|
|
329
|
-
} else {
|
|
330
|
-
console.log('User logged out');
|
|
331
|
-
// Update UI for unauthenticated state
|
|
332
|
-
}
|
|
333
|
-
});
|
|
334
|
-
|
|
335
|
-
// Clean up subscriptions
|
|
336
|
-
unsubscribe();
|
|
337
|
-
unsubscribeSession();
|
|
338
198
|
```
|
|
339
199
|
|
|
340
|
-
##
|
|
200
|
+
## Multi-Session Support
|
|
341
201
|
|
|
342
|
-
|
|
343
|
-
- **Automatic refresh**: Tokens refresh 30 seconds before expiration
|
|
344
|
-
- **Cross-API sync**: All API instances share the same authentication state
|
|
345
|
-
- **Persistent sessions**: Authentication survives page reloads
|
|
346
|
-
- **Cross-tab sync**: Authentication state syncs across browser tabs
|
|
347
|
-
|
|
348
|
-
### ✅ Extension Integration
|
|
349
|
-
- **Factory methods**: Built-in methods for all Rehive extensions
|
|
350
|
-
- **Default URLs**: Production URLs configured by default
|
|
351
|
-
- **Environment flexibility**: Easy to override for staging/development
|
|
352
|
-
- **Same DX**: Extensions get the same token management and response unwrapping
|
|
353
|
-
|
|
354
|
-
## Architecture
|
|
355
|
-
|
|
356
|
-
The SDK includes multiple API clients generated from swagger specifications:
|
|
357
|
-
|
|
358
|
-
```
|
|
359
|
-
src/
|
|
360
|
-
├── platform/
|
|
361
|
-
│ ├── user/ # Platform User API (203 methods)
|
|
362
|
-
│ └── admin/ # Platform Admin API (360 methods)
|
|
363
|
-
├── extensions/ # Service Extensions
|
|
364
|
-
│ ├── conversion/ # 60 methods
|
|
365
|
-
│ ├── mass-send/ # 18 methods
|
|
366
|
-
│ ├── notifications/ # 37 methods
|
|
367
|
-
│ ├── products/ # 241 methods
|
|
368
|
-
│ ├── rewards/ # 30 methods
|
|
369
|
-
│ ├── stellar/ # 101 methods
|
|
370
|
-
│ ├── stellar-testnet/# 101 methods
|
|
371
|
-
│ ├── business/ # 84 methods
|
|
372
|
-
│ ├── payment-requests/# 77 methods
|
|
373
|
-
│ ├── bridge/ # 27 methods
|
|
374
|
-
│ └── app/ # 46 methods
|
|
375
|
-
├── shared/
|
|
376
|
-
│ └── http-client.ts # Shared/customized HTTP client
|
|
377
|
-
└── auth/ # Auth functionality using Platform User API
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
## Available APIs
|
|
381
|
-
|
|
382
|
-
| API | Client Name | Methods | Documentation |
|
|
383
|
-
|-----|-------------|---------|---------------|
|
|
384
|
-
| Platform User API | `platform-user-api` | 203 | [Methods](./docs/api-methods/platform-user-methods.md) |
|
|
385
|
-
| Platform Admin API | `platform-admin-api` | 360 | [Methods](./docs/api-methods/platform-admin-methods.md) |
|
|
386
|
-
| Conversion Extension | `conversion-api` | 60 | [Methods](./docs/api-methods/conversion-methods.md) |
|
|
387
|
-
| Mass Send Extension | `mass-send-api` | 18 | [Methods](./docs/api-methods/mass-send-methods.md) |
|
|
388
|
-
| Notifications Extension | `notifications-api` | 37 | [Methods](./docs/api-methods/notifications-methods.md) |
|
|
389
|
-
| Products Extension | `products-api` | 241 | [Methods](./docs/api-methods/products-methods.md) |
|
|
390
|
-
| Rewards Extension | `rewards-api` | 30 | [Methods](./docs/api-methods/rewards-methods.md) |
|
|
391
|
-
| Stellar Extension | `stellar-api` | 101 | [Methods](./docs/api-methods/stellar-methods.md) |
|
|
392
|
-
| Stellar Testnet Extension | `stellar-testnet-api` | 101 | [Methods](./docs/api-methods/stellar-testnet-methods.md) |
|
|
393
|
-
| Business Extension | `business-api` | 84 | [Methods](./docs/api-methods/business-methods.md) |
|
|
394
|
-
| Payment Requests Extension | `payment-requests-api` | 77 | [Methods](./docs/api-methods/payment-requests-methods.md) |
|
|
395
|
-
| Bridge Extension | `bridge-api` | 27 | [Methods](./docs/api-methods/bridge-methods.md) |
|
|
396
|
-
| App Extension | `app-api` | 46 | [Methods](./docs/api-methods/app-methods.md) |
|
|
397
|
-
|
|
398
|
-
**Total: 1,385 API methods across platform and extensions**
|
|
399
|
-
|
|
400
|
-
📋 [View complete API overview](./docs/api-methods-overview.md)
|
|
401
|
-
|
|
402
|
-
## Advanced Usage
|
|
403
|
-
|
|
404
|
-
### Multi-Company Session Management
|
|
405
|
-
|
|
406
|
-
The SDK supports managing multiple sessions for the same user across different companies. This is useful for applications where users can be authenticated to multiple companies simultaneously.
|
|
202
|
+
The auth module supports multiple concurrent sessions across different companies:
|
|
407
203
|
|
|
408
204
|
```typescript
|
|
409
|
-
// Login to
|
|
410
|
-
await
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
});
|
|
422
|
-
|
|
423
|
-
// Get all active sessions
|
|
424
|
-
const sessions = rehive.auth.getSessions();
|
|
425
|
-
console.log(`You have ${sessions.length} active sessions`);
|
|
426
|
-
|
|
427
|
-
// Get sessions for a specific company
|
|
428
|
-
const companyOneSessions = rehive.auth.getSessionsByCompany('company-one');
|
|
429
|
-
|
|
430
|
-
// Switch between sessions without re-authenticating
|
|
431
|
-
await rehive.auth.switchToSession('user-id', 'company-two');
|
|
432
|
-
|
|
433
|
-
// All subsequent API calls will use the active session
|
|
434
|
-
const profile = await rehive.user.userRetrieve(); // Uses company-two session
|
|
435
|
-
|
|
436
|
-
// Clear all sessions locally (fast, but doesn't invalidate tokens on server)
|
|
437
|
-
await rehive.auth.clearAllSessions();
|
|
438
|
-
|
|
439
|
-
// Logout all sessions on the server (slower, but properly invalidates all tokens)
|
|
440
|
-
await rehive.auth.logoutAll();
|
|
205
|
+
// Login to multiple companies
|
|
206
|
+
await auth.login({ user: "user@example.com", password: "pass", company: "company-one" });
|
|
207
|
+
await auth.login({ user: "user@example.com", password: "pass", company: "company-two" });
|
|
208
|
+
|
|
209
|
+
// List and switch sessions
|
|
210
|
+
const sessions = auth.getSessions(); // All sessions
|
|
211
|
+
const filtered = auth.getSessionsByCompany("company-one"); // By company
|
|
212
|
+
await auth.switchToSession("user-id", "company-two"); // Switch active
|
|
213
|
+
|
|
214
|
+
// Cleanup
|
|
215
|
+
await auth.clearAllSessions(); // Local only
|
|
216
|
+
await auth.logoutAll(); // Invalidates tokens on server
|
|
441
217
|
```
|
|
442
218
|
|
|
443
|
-
|
|
444
|
-
- **Multiple sessions per user**: Maintain separate sessions for different companies
|
|
445
|
-
- **Seamless switching**: Change active session without re-authentication
|
|
446
|
-
- **Automatic token refresh**: Sessions are refreshed automatically when switching
|
|
447
|
-
- **Company tracking**: Each session stores the company identifier for easy lookup
|
|
219
|
+
## Storage Options
|
|
448
220
|
|
|
449
|
-
**React Integration:**
|
|
450
221
|
```typescript
|
|
451
|
-
import {
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
},
|
|
471
|
-
|
|
472
|
-
const handleSwitch = async (userId, company) => {
|
|
473
|
-
await switchToSession(userId, company);
|
|
474
|
-
// UI automatically updates via session listeners
|
|
475
|
-
};
|
|
476
|
-
|
|
477
|
-
const handleClearAll = async () => {
|
|
478
|
-
if (confirm('Clear all sessions locally?')) {
|
|
479
|
-
await clearAllSessions();
|
|
480
|
-
}
|
|
481
|
-
};
|
|
482
|
-
|
|
483
|
-
const handleLogoutAll = async () => {
|
|
484
|
-
if (confirm('Logout all sessions on server?')) {
|
|
485
|
-
await logoutAll();
|
|
486
|
-
}
|
|
487
|
-
};
|
|
488
|
-
|
|
489
|
-
return (
|
|
490
|
-
<div>
|
|
491
|
-
{Object.entries(sessionsByCompany).map(([company, sessions]) => (
|
|
492
|
-
<div key={company}>
|
|
493
|
-
<h3>{company}</h3>
|
|
494
|
-
{sessions.map(session => (
|
|
495
|
-
<button
|
|
496
|
-
key={session.user.id}
|
|
497
|
-
onClick={() => handleSwitch(session.user.id, session.company)}
|
|
498
|
-
>
|
|
499
|
-
{session.user.email}
|
|
500
|
-
</button>
|
|
501
|
-
))}
|
|
502
|
-
</div>
|
|
503
|
-
))}
|
|
504
|
-
|
|
505
|
-
<button onClick={handleClearAll}>Clear All Sessions</button>
|
|
506
|
-
<button onClick={handleLogoutAll}>Logout All Sessions</button>
|
|
507
|
-
</div>
|
|
508
|
-
);
|
|
509
|
-
}
|
|
222
|
+
import { createAuth } from "rehive/auth";
|
|
223
|
+
import { WebStorageAdapter, MemoryStorageAdapter, AsyncStorageAdapter } from "rehive";
|
|
224
|
+
|
|
225
|
+
// localStorage (default in browser, auto-detected)
|
|
226
|
+
const auth = createAuth({ storage: "local" });
|
|
227
|
+
|
|
228
|
+
// In-memory (not persisted -- good for tests)
|
|
229
|
+
const auth = createAuth({ storage: "memory" });
|
|
230
|
+
|
|
231
|
+
// Custom adapter (e.g. React Native AsyncStorage)
|
|
232
|
+
import AsyncStorage from "@react-native-async-storage/async-storage";
|
|
233
|
+
const auth = createAuth({ storage: new AsyncStorageAdapter(AsyncStorage) });
|
|
234
|
+
|
|
235
|
+
// Or implement your own StorageAdapter
|
|
236
|
+
const auth = createAuth({
|
|
237
|
+
storage: {
|
|
238
|
+
getItem: async (key) => { /* ... */ },
|
|
239
|
+
setItem: async (key, value) => { /* ... */ },
|
|
240
|
+
removeItem: async (key) => { /* ... */ },
|
|
241
|
+
},
|
|
242
|
+
});
|
|
510
243
|
```
|
|
511
244
|
|
|
512
|
-
|
|
245
|
+
## Auth Configuration
|
|
513
246
|
|
|
514
247
|
```typescript
|
|
515
|
-
|
|
516
|
-
const unsubscribe = rehive.auth.subscribeToErrors((error) => {
|
|
517
|
-
if (error) {
|
|
518
|
-
console.error('Auth error:', error.message);
|
|
519
|
-
// Handle login redirect, show error message, etc.
|
|
520
|
-
}
|
|
521
|
-
});
|
|
248
|
+
import { createAuth, type AuthConfig } from "rehive/auth";
|
|
522
249
|
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
console.log('User logged out');
|
|
529
|
-
}
|
|
250
|
+
const auth = createAuth({
|
|
251
|
+
baseUrl: "https://api.rehive.com", // API base URL (default: https://api.rehive.com)
|
|
252
|
+
storage: "local", // Storage adapter or shorthand
|
|
253
|
+
token: "permanent-token", // Server-side permanent token
|
|
254
|
+
enableCrossTabSync: true, // Sync auth across browser tabs (default: true)
|
|
530
255
|
});
|
|
531
256
|
```
|
|
532
257
|
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
```typescript
|
|
536
|
-
import { RehiveClient, MemoryStorageAdapter } from 'rehive';
|
|
258
|
+
## Architecture
|
|
537
259
|
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
260
|
+
```
|
|
261
|
+
rehive/
|
|
262
|
+
├── rehive/auth → createAuth()
|
|
263
|
+
├── rehive/user → createUserApi()
|
|
264
|
+
├── rehive/admin → createAdminApi()
|
|
265
|
+
├── rehive/extensions/* → create*Api() for each extension
|
|
266
|
+
├── rehive/react → AuthProvider, useAuth
|
|
267
|
+
└── rehive → re-exports + utilities
|
|
543
268
|
```
|
|
544
269
|
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
The SDK is fully typed with TypeScript support:
|
|
270
|
+
Each module is a separate entry point with its own bundle. Import only the factories you need for optimal tree-shaking.
|
|
548
271
|
|
|
549
|
-
|
|
550
|
-
import { RehiveClient, type RehiveConfig, type UserSession } from 'rehive';
|
|
272
|
+
### How it works
|
|
551
273
|
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
}
|
|
274
|
+
1. `createAuth()` manages sessions, tokens, and refresh internally using its own openapi-ts client
|
|
275
|
+
2. Each API factory (`createUserApi`, `createAdminApi`, etc.) creates an openapi-ts client configured with `auth: () => auth.getToken()`
|
|
276
|
+
3. `bindSdk()` injects the client into every generated SDK function, preserving full type safety
|
|
277
|
+
4. All methods use v4 structured parameters: `{ query, body, path }`
|
|
556
278
|
|
|
557
|
-
|
|
279
|
+
## Available APIs
|
|
558
280
|
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
281
|
+
| API | Import | Methods |
|
|
282
|
+
|-----|--------|---------|
|
|
283
|
+
| Platform User | `rehive/user` | 203 |
|
|
284
|
+
| Platform Admin | `rehive/admin` | 360 |
|
|
285
|
+
| Conversion | `rehive/extensions/conversion` | 60 |
|
|
286
|
+
| Mass Send | `rehive/extensions/mass-send` | 18 |
|
|
287
|
+
| Notifications | `rehive/extensions/notifications` | 37 |
|
|
288
|
+
| Products | `rehive/extensions/products` | 241 |
|
|
289
|
+
| Rewards | `rehive/extensions/rewards` | 30 |
|
|
290
|
+
| Stellar | `rehive/extensions/stellar` | 101 |
|
|
291
|
+
| Stellar Testnet | `rehive/extensions/stellar-testnet` | 101 |
|
|
292
|
+
| Business | `rehive/extensions/business` | 84 |
|
|
293
|
+
| Payment Requests | `rehive/extensions/payment-requests` | 77 |
|
|
294
|
+
| Bridge | `rehive/extensions/bridge` | 27 |
|
|
295
|
+
| App | `rehive/extensions/app` | 46 |
|
|
296
|
+
| Billing | `rehive/extensions/billing` | 13 |
|
|
297
|
+
| Builder | `rehive/extensions/builder` | 5 |
|
|
298
|
+
| Rain | `rehive/extensions/rain` | 26 |
|
|
299
|
+
| Alchemy | `rehive/extensions/alchemy` | 20 |
|
|
300
|
+
|
|
301
|
+
**Total: 1,449 typed API methods across platform and extensions**
|
|
566
302
|
|
|
567
303
|
## Development
|
|
568
304
|
|
|
569
|
-
### Building the SDK
|
|
570
|
-
|
|
571
305
|
```bash
|
|
306
|
+
# Build
|
|
572
307
|
npm run build
|
|
573
|
-
```
|
|
574
|
-
|
|
575
|
-
### Updating API Clients
|
|
576
|
-
|
|
577
|
-
The SDK uses generated API clients from swagger specifications. To update them:
|
|
578
|
-
|
|
579
|
-
```bash
|
|
580
|
-
# Extract current API methods for reference
|
|
581
|
-
node scripts/extract-api-methods.js
|
|
582
|
-
|
|
583
|
-
# Follow the code generation workflow
|
|
584
|
-
```
|
|
585
308
|
|
|
586
|
-
|
|
309
|
+
# Type check
|
|
310
|
+
npm run typecheck
|
|
587
311
|
|
|
588
|
-
|
|
312
|
+
# Run tests
|
|
313
|
+
npm test
|
|
589
314
|
|
|
590
|
-
|
|
591
|
-
npm run
|
|
315
|
+
# Regenerate API clients from OpenAPI specs
|
|
316
|
+
npm run codegen:openapi-ts
|
|
592
317
|
```
|
|
593
318
|
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
- **[API Methods Overview](./docs/api-methods-overview.md)** - Complete list of all available API methods
|
|
597
|
-
- **[Code Generation Workflow](./CODEGEN.md)** - How to update generated API clients
|
|
598
|
-
- **Individual API Documentation** - Detailed method lists for each API in `docs/api-methods/`
|
|
319
|
+
See [CODEGEN.md](./CODEGEN.md) for the full code generation workflow.
|
|
599
320
|
|
|
600
321
|
## License
|
|
601
322
|
|
|
602
323
|
MIT License
|
|
603
|
-
|
|
604
|
-
---
|
|
605
|
-
|
|
606
|
-
This modern SDK design follows current best practices and provides a clean, intuitive developer experience for both server-side and client-side usage.
|