rehive 3.1.4 → 4.1.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 -506
- package/dist/admin.d.mts +31507 -0
- package/dist/admin.d.ts +31507 -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-7WQMKBQ6.js +7 -0
- package/dist/chunk-CUQ6U73E.mjs +1 -0
- package/dist/chunk-DRLSOKDI.js +7 -0
- package/dist/chunk-GR5TETAU.js +1 -0
- package/dist/chunk-JK4JOKBZ.js +1 -0
- package/dist/chunk-KQ5BJOW2.mjs +1 -0
- package/dist/chunk-KUM3UI4C.mjs +7 -0
- package/dist/chunk-OEIQFP6T.js +1 -0
- package/dist/chunk-S4QKN5WW.mjs +1 -0
- package/dist/chunk-S5UXBHRU.mjs +1 -0
- package/dist/chunk-UMUOM4B2.mjs +7 -0
- package/dist/chunk-YRYX3G3E.js +1 -0
- package/dist/create-api-client-2vNCP2LN.d.mts +25 -0
- package/dist/create-api-client-D-Z8R83N.d.ts +25 -0
- package/dist/create-auth-CHzmb_8_.d.mts +18570 -0
- package/dist/create-auth-CHzmb_8_.d.ts +18570 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +214 -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 +31428 -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 +214 -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 +19780 -0
- package/src/shared/api-utils.ts +22 -0
- package/src/shared/bind-sdk.ts +48 -0
- package/src/shared/create-api-client.ts +55 -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,543 +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
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
All extension APIs work the same way with automatic token synchronization:
|
|
149
|
-
|
|
150
|
-
```typescript
|
|
151
|
-
// All extensions work the same way - no imports needed
|
|
152
|
-
const conversion = rehive.extensions.conversion();
|
|
153
|
-
await conversion.user.userConversionPairsList({});
|
|
154
|
-
await conversion.admin.adminConversionRatesList({});
|
|
155
|
-
|
|
156
|
-
const rewards = rehive.extensions.rewards();
|
|
157
|
-
await rewards.user.userRewardsList({});
|
|
158
|
-
|
|
159
|
-
const products = rehive.extensions.products();
|
|
160
|
-
await products.user.userProductsList({});
|
|
161
|
-
|
|
162
|
-
const notifications = rehive.extensions.notifications();
|
|
163
|
-
await notifications.user.userNotificationsList({});
|
|
164
|
-
|
|
165
|
-
const app = rehive.extensions.app();
|
|
166
|
-
await app.user.userAppsRetrieve({});
|
|
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).
|
|
167
121
|
|
|
168
|
-
|
|
169
|
-
const stagingConversion = rehive.extensions.conversion({
|
|
170
|
-
baseUrl: 'https://onversion.services.rehive.com/api/'
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
const stagingRewards = rehive.extensions.rewards({
|
|
174
|
-
baseUrl: 'https://rewards.services.rehive.com/api/'
|
|
175
|
-
});
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
### Custom Extensions and Ad-hoc API Calls
|
|
122
|
+
## Extension APIs
|
|
179
123
|
|
|
180
|
-
|
|
124
|
+
All 15 extension APIs follow the same pattern -- import the factory, pass `auth`, call methods:
|
|
181
125
|
|
|
182
126
|
```typescript
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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/",
|
|
198
151
|
});
|
|
199
152
|
```
|
|
200
153
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
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:
|
|
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:
|
|
238
175
|
|
|
239
176
|
```typescript
|
|
240
|
-
import {
|
|
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);
|
|
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
|
|
271
186
|
}
|
|
272
187
|
}
|
|
273
188
|
```
|
|
274
189
|
|
|
275
|
-
|
|
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
|
-
}
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
### Authentication Error Handling
|
|
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
|
-
}
|
|
510
|
-
```
|
|
511
|
-
|
|
512
|
-
### Error Handling
|
|
513
|
-
|
|
514
|
-
```typescript
|
|
515
|
-
// Subscribe to auth errors
|
|
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
|
-
});
|
|
522
|
-
|
|
523
|
-
// Subscribe to session changes
|
|
524
|
-
const unsubscribeSession = rehive.auth.subscribeToSession((session) => {
|
|
525
|
-
if (session) {
|
|
526
|
-
console.log('User logged in:', session.user.email);
|
|
527
|
-
} else {
|
|
528
|
-
console.log('User logged out');
|
|
529
|
-
}
|
|
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
|
+
},
|
|
530
242
|
});
|
|
531
243
|
```
|
|
532
244
|
|
|
533
|
-
|
|
245
|
+
## Auth Configuration
|
|
534
246
|
|
|
535
247
|
```typescript
|
|
536
|
-
import {
|
|
248
|
+
import { createAuth, type AuthConfig } from "rehive/auth";
|
|
537
249
|
|
|
538
|
-
const
|
|
539
|
-
baseUrl:
|
|
540
|
-
storage:
|
|
541
|
-
|
|
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)
|
|
542
255
|
});
|
|
543
256
|
```
|
|
544
257
|
|
|
545
|
-
##
|
|
546
|
-
|
|
547
|
-
The SDK is fully typed with TypeScript support:
|
|
548
|
-
|
|
549
|
-
```typescript
|
|
550
|
-
import { RehiveClient, type RehiveConfig, type UserSession } from 'rehive';
|
|
551
|
-
|
|
552
|
-
const config: RehiveConfig = {
|
|
553
|
-
baseUrl: 'https://api.rehive.com',
|
|
554
|
-
token: 'optional-permanent-token'
|
|
555
|
-
};
|
|
556
|
-
|
|
557
|
-
const rehive = new RehiveClient(config);
|
|
258
|
+
## Architecture
|
|
558
259
|
|
|
559
|
-
// Full type safety on all API methods
|
|
560
|
-
const session: UserSession = await rehive.auth.login({
|
|
561
|
-
user: 'email@example.com',
|
|
562
|
-
password: 'password',
|
|
563
|
-
company: 'company-name'
|
|
564
|
-
});
|
|
565
260
|
```
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
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
|
|
573
268
|
```
|
|
574
269
|
|
|
575
|
-
|
|
270
|
+
Each module is a separate entry point with its own bundle. Import only the factories you need for optimal tree-shaking.
|
|
576
271
|
|
|
577
|
-
|
|
272
|
+
### How it works
|
|
578
273
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
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 }`
|
|
582
278
|
|
|
583
|
-
|
|
584
|
-
```
|
|
279
|
+
## Available APIs
|
|
585
280
|
|
|
586
|
-
|
|
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**
|
|
587
302
|
|
|
588
|
-
|
|
303
|
+
## Development
|
|
589
304
|
|
|
590
305
|
```bash
|
|
591
|
-
|
|
592
|
-
|
|
306
|
+
# Build
|
|
307
|
+
npm run build
|
|
593
308
|
|
|
594
|
-
|
|
309
|
+
# Type check
|
|
310
|
+
npm run typecheck
|
|
595
311
|
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
npm version patch # e.g. 3.1.4 → 3.1.5
|
|
599
|
-
npm version minor # e.g. 3.1.4 → 3.2.0
|
|
600
|
-
npm version major # e.g. 3.1.4 → 4.0.0
|
|
312
|
+
# Run tests
|
|
313
|
+
npm test
|
|
601
314
|
|
|
602
|
-
#
|
|
603
|
-
npm
|
|
315
|
+
# Regenerate API clients from OpenAPI specs
|
|
316
|
+
npm run codegen:openapi-ts
|
|
604
317
|
```
|
|
605
318
|
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
- **[API Methods Overview](./docs/api-methods-overview.md)** - Complete list of all available API methods
|
|
609
|
-
- **[Code Generation Workflow](./CODEGEN.md)** - How to update generated API clients
|
|
610
|
-
- **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.
|
|
611
320
|
|
|
612
321
|
## License
|
|
613
322
|
|
|
614
323
|
MIT License
|
|
615
|
-
|
|
616
|
-
---
|
|
617
|
-
|
|
618
|
-
This modern SDK design follows current best practices and provides a clean, intuitive developer experience for both server-side and client-side usage.
|