@audius/sdk 15.0.1 → 15.3.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/.turbo/turbo-build.log +8 -9
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +24 -23
- package/.turbo/turbo-typecheck.log +1 -1
- package/CHANGELOG.md +35 -0
- package/package.json +22 -8
- package/rollup.config.ts +23 -3
- package/src/sdk/api/chats/ChatsApi.ts +1 -1
- package/src/sdk/api/comments/CommentsAPI.ts +214 -13
- package/src/sdk/api/comments/types.ts +61 -8
- package/src/sdk/api/developer-apps/types.ts +2 -20
- package/src/sdk/api/events/EventsApi.ts +96 -4
- package/src/sdk/api/events/types.ts +17 -0
- package/src/sdk/api/generated/default/.openapi-generator/FILES +14 -0
- package/src/sdk/api/generated/default/apis/ChallengesApi.ts +10 -6
- package/src/sdk/api/generated/default/apis/CommentsApi.ts +61 -43
- package/src/sdk/api/generated/default/apis/DeveloperAppsApi.ts +7 -5
- package/src/sdk/api/generated/default/apis/EventsApi.ts +451 -9
- package/src/sdk/api/generated/default/apis/ExploreApi.ts +5 -3
- package/src/sdk/api/generated/default/apis/FanClubApi.ts +152 -0
- package/src/sdk/api/generated/default/apis/NotificationsApi.ts +4 -1
- package/src/sdk/api/generated/default/apis/PlaylistsApi.ts +151 -61
- package/src/sdk/api/generated/default/apis/SearchApi.ts +15 -9
- package/src/sdk/api/generated/default/apis/TipsApi.ts +5 -3
- package/src/sdk/api/generated/default/apis/TracksApi.ts +285 -144
- package/src/sdk/api/generated/default/apis/UsersApi.ts +386 -206
- package/src/sdk/api/generated/default/apis/index.ts +1 -0
- package/src/sdk/api/generated/default/models/AnnouncementNotificationActionData.ts +8 -0
- package/src/sdk/api/generated/default/models/Comment.ts +16 -0
- package/src/sdk/api/generated/default/models/CommentEntityType.ts +3 -1
- package/src/sdk/api/generated/default/models/CreateCommentRequestBody.ts +8 -0
- package/src/sdk/api/generated/default/models/EventFollowState.ts +75 -0
- package/src/sdk/api/generated/default/models/EventFollowStateResponse.ts +72 -0
- package/src/sdk/api/generated/default/models/FanClubTextPostNotification.ts +108 -0
- package/src/sdk/api/generated/default/models/FanClubTextPostNotificationAction.ts +100 -0
- package/src/sdk/api/generated/default/models/FanClubTextPostNotificationActionData.ts +75 -0
- package/src/sdk/api/generated/default/models/FanRemixContestSubmissionNotification.ts +108 -0
- package/src/sdk/api/generated/default/models/FanRemixContestSubmissionNotificationAction.ts +100 -0
- package/src/sdk/api/generated/default/models/FanRemixContestSubmissionNotificationActionData.ts +102 -0
- package/src/sdk/api/generated/default/models/Notification.ts +34 -1
- package/src/sdk/api/generated/default/models/RemixContestUpdateNotification.ts +108 -0
- package/src/sdk/api/generated/default/models/RemixContestUpdateNotificationAction.ts +100 -0
- package/src/sdk/api/generated/default/models/RemixContestUpdateNotificationActionData.ts +93 -0
- package/src/sdk/api/generated/default/models/RemixContestsRelated.ts +94 -0
- package/src/sdk/api/generated/default/models/RemixContestsResponse.ts +86 -0
- package/src/sdk/api/generated/default/models/ReplyComment.ts +8 -0
- package/src/sdk/api/generated/default/models/UserCoin.ts +15 -0
- package/src/sdk/api/generated/default/models/index.ts +13 -0
- package/src/sdk/api/generated/default/runtime.ts +2 -2
- package/src/sdk/api/generator/{gen.cjs → gen.js} +1 -0
- package/src/sdk/api/generator/templates/typescript-fetch/apis.mustache +7 -5
- package/src/sdk/api/generator/templates/typescript-fetch/runtime.mustache +2 -2
- package/src/sdk/api/playlists/PlaylistsApi.ts +5 -5
- package/src/sdk/api/tracks/types.ts +1 -0
- package/src/sdk/createSdk.ts +24 -5
- package/src/sdk/createSdkWithServices.ts +39 -9
- package/src/sdk/index.ts +1 -0
- package/src/sdk/middleware/addSolanaWalletSignatureMiddleware.ts +44 -0
- package/src/sdk/middleware/index.ts +1 -0
- package/src/sdk/oauth/OAuth.test.ts +110 -4
- package/src/sdk/oauth/OAuth.ts +51 -12
- package/src/sdk/oauth/TokenStoreAsyncStorage.ts +48 -4
- package/src/sdk/oauth/TokenStoreLocalStorage.ts +48 -1
- package/src/sdk/oauth/TokenStoreMemory.ts +22 -1
- package/src/sdk/oauth/tokenStore.test.ts +32 -3
- package/src/sdk/oauth/tokenStore.ts +10 -1
- package/src/sdk/oauth/tokenStoreAsyncStorage.test.ts +130 -0
- package/src/sdk/oauth/tokenStoreLocalStorage.test.ts +45 -1
- package/src/sdk/scripts/generateServicesConfig.ts +1 -2
- package/src/sdk/services/EntityManager/EntityManagerClient.ts +27 -4
- package/src/sdk/services/EntityManager/types.ts +8 -0
- package/src/sdk/services/Solana/programs/ClaimableTokensClient/ClaimableTokensClient.ts +92 -12
- package/src/sdk/services/Solana/programs/ClaimableTokensClient/types.ts +5 -1
- package/src/sdk/services/Storage/Storage.ts +12 -1
- package/src/sdk/solanaWallet/SolanaWallet.ts +61 -0
- package/src/sdk/solanaWallet/index.ts +8 -0
- package/src/sdk/utils/mergeConfigs.ts +55 -11
- package/src/sdk/utils/objectUtils.ts +30 -0
- package/dist/browser-15461226.js +0 -2732
- package/dist/browser-15461226.js.map +0 -1
- package/dist/index.browser.esm.js +0 -51254
- package/dist/index.browser.esm.js.map +0 -1
- package/dist/index.d.ts +0 -52
- package/dist/index.esm.js +0 -48732
- package/dist/index.esm.js.map +0 -1
- package/dist/index.native.d.ts +0 -15
- package/dist/index.native.js +0 -48803
- package/dist/index.native.js.map +0 -1
- package/dist/sdk/api/ResolveApi.d.ts +0 -24
- package/dist/sdk/api/albums/AlbumsApi.d.ts +0 -71
- package/dist/sdk/api/albums/AlbumsApi.test.d.ts +0 -1
- package/dist/sdk/api/albums/types.d.ts +0 -3109
- package/dist/sdk/api/challenges/types.d.ts +0 -26
- package/dist/sdk/api/chats/ChatsApi.d.ts +0 -233
- package/dist/sdk/api/chats/clientTypes.d.ts +0 -270
- package/dist/sdk/api/chats/serverTypes.d.ts +0 -199
- package/dist/sdk/api/comments/CommentsAPI.d.ts +0 -58
- package/dist/sdk/api/comments/types.d.ts +0 -118
- package/dist/sdk/api/dashboard-wallet-users/DashboardWalletUsersApi.d.ts +0 -19
- package/dist/sdk/api/dashboard-wallet-users/types.d.ts +0 -87
- package/dist/sdk/api/developer-apps/DeveloperAppsApi.d.ts +0 -62
- package/dist/sdk/api/developer-apps/types.d.ts +0 -59
- package/dist/sdk/api/events/EventsApi.d.ts +0 -19
- package/dist/sdk/api/events/types.d.ts +0 -124
- package/dist/sdk/api/generated/default/apis/ChallengesApi.d.ts +0 -64
- package/dist/sdk/api/generated/default/apis/CidDataApi.d.ts +0 -29
- package/dist/sdk/api/generated/default/apis/CoinsApi.d.ts +0 -220
- package/dist/sdk/api/generated/default/apis/CommentsApi.d.ts +0 -162
- package/dist/sdk/api/generated/default/apis/DashboardWalletUsersApi.d.ts +0 -29
- package/dist/sdk/api/generated/default/apis/DeveloperAppsApi.d.ts +0 -130
- package/dist/sdk/api/generated/default/apis/EventsApi.d.ts +0 -112
- package/dist/sdk/api/generated/default/apis/ExploreApi.d.ts +0 -43
- package/dist/sdk/api/generated/default/apis/NotificationsApi.d.ts +0 -94
- package/dist/sdk/api/generated/default/apis/PlaylistsApi.d.ts +0 -296
- package/dist/sdk/api/generated/default/apis/PrizesApi.d.ts +0 -50
- package/dist/sdk/api/generated/default/apis/ReactionsApi.d.ts +0 -30
- package/dist/sdk/api/generated/default/apis/ResolveApi.d.ts +0 -30
- package/dist/sdk/api/generated/default/apis/RewardsApi.d.ts +0 -41
- package/dist/sdk/api/generated/default/apis/SearchApi.d.ts +0 -157
- package/dist/sdk/api/generated/default/apis/TipsApi.d.ts +0 -55
- package/dist/sdk/api/generated/default/apis/TracksApi.d.ts +0 -846
- package/dist/sdk/api/generated/default/apis/TransactionsApi.d.ts +0 -71
- package/dist/sdk/api/generated/default/apis/UsersApi.d.ts +0 -1737
- package/dist/sdk/api/generated/default/apis/WalletApi.d.ts +0 -31
- package/dist/sdk/api/generated/default/apis/index.d.ts +0 -20
- package/dist/sdk/api/generated/default/index.d.ts +0 -3
- package/dist/sdk/api/generated/default/models/Access.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/AccessGate.d.ts +0 -23
- package/dist/sdk/api/generated/default/models/AccessInfoResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/Account.d.ts +0 -51
- package/dist/sdk/api/generated/default/models/AccountCollection.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/AccountCollectionUser.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/Activity.d.ts +0 -56
- package/dist/sdk/api/generated/default/models/AddManagerRequestBody.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/AlbumBacklink.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/AlbumsResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/AnnouncementNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/AnnouncementNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/AnnouncementNotificationActionData.d.ts +0 -54
- package/dist/sdk/api/generated/default/models/ApproveGrantRequestBody.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/ApproveManagerRequestNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/ApproveManagerRequestNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/ApproveManagerRequestNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/ArtistCoinFees.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/ArtistLocker.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/ArtistRemixContestEndedNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/ArtistRemixContestEndedNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/ArtistRemixContestEndedNotificationActionData.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/ArtistRemixContestEndingSoonNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/ArtistRemixContestEndingSoonNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/ArtistRemixContestEndingSoonNotificationActionData.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/ArtistRemixContestSubmissionsNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/ArtistRemixContestSubmissionsNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/ArtistRemixContestSubmissionsNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/Attestation.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/AttestationReponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/AuthorizedApp.d.ts +0 -66
- package/dist/sdk/api/generated/default/models/AuthorizedApps.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/BalanceHistoryDataPoint.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/BalanceHistoryResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/BestSellingItem.d.ts +0 -56
- package/dist/sdk/api/generated/default/models/BestSellingResponse.d.ts +0 -81
- package/dist/sdk/api/generated/default/models/BlobInfo.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/BulkSubscribersResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/ChallengeResponse.d.ts +0 -102
- package/dist/sdk/api/generated/default/models/ChallengeRewardNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/ChallengeRewardNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/ChallengeRewardNotificationActionData.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/CidData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/CidDataResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/ClaimRewardsRequestBody.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/ClaimRewardsResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/ClaimRewardsResponseDataInner.d.ts +0 -54
- package/dist/sdk/api/generated/default/models/ClaimableRewardNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/ClaimableRewardNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/ClaimableRewardNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/ClaimedPrize.d.ts +0 -78
- package/dist/sdk/api/generated/default/models/ClaimedPrizesResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/Coin.d.ts +0 -232
- package/dist/sdk/api/generated/default/models/CoinInsights.d.ts +0 -352
- package/dist/sdk/api/generated/default/models/CoinInsightsDynamicBondingCurve.d.ts +0 -72
- package/dist/sdk/api/generated/default/models/CoinInsightsExtensions.d.ts +0 -54
- package/dist/sdk/api/generated/default/models/CoinInsightsResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/CoinMember.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/CoinMembersCountResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/CoinMembersResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/CoinResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/CoinsResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/CoinsVolumeLeadersResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/CoinsVolumeLeadersResponseDataInner.d.ts +0 -43
- package/dist/sdk/api/generated/default/models/Collectibles.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/CollectiblesResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/CollectionActivityWithoutTracks.d.ts +0 -45
- package/dist/sdk/api/generated/default/models/CollectionLibraryResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/Comment.d.ts +0 -135
- package/dist/sdk/api/generated/default/models/CommentEntityType.d.ts +0 -21
- package/dist/sdk/api/generated/default/models/CommentMention.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/CommentMentionNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/CommentMentionNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/CommentMentionNotificationActionData.d.ts +0 -63
- package/dist/sdk/api/generated/default/models/CommentNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/CommentNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/CommentNotificationActionData.d.ts +0 -57
- package/dist/sdk/api/generated/default/models/CommentNotificationSetting.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/CommentReactionNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/CommentReactionNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/CommentReactionNotificationActionData.d.ts +0 -63
- package/dist/sdk/api/generated/default/models/CommentRepliesResponse.d.ts +0 -81
- package/dist/sdk/api/generated/default/models/CommentResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/CommentThreadNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/CommentThreadNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/CommentThreadNotificationActionData.d.ts +0 -63
- package/dist/sdk/api/generated/default/models/ConnectedWallets.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/ConnectedWalletsResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/CosignNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/CosignNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/CosignNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/CoverArt.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/CoverPhoto.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/CreateAccessKeyResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/CreateCoinRequest.d.ts +0 -90
- package/dist/sdk/api/generated/default/models/CreateCoinResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/CreateCoinResponseData.d.ts +0 -102
- package/dist/sdk/api/generated/default/models/CreateCommentRequestBody.d.ts +0 -67
- package/dist/sdk/api/generated/default/models/CreateCommentResponse.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/CreateDeveloperAppRequestBody.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/CreateDeveloperAppResponse.d.ts +0 -60
- package/dist/sdk/api/generated/default/models/CreateGrantRequestBody.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/CreateNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/CreateNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/CreateNotificationActionData.d.ts +0 -21
- package/dist/sdk/api/generated/default/models/CreatePlaylistNotificationActionData.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/CreatePlaylistRequestBody.d.ts +0 -171
- package/dist/sdk/api/generated/default/models/CreatePlaylistRequestBodyCopyrightLine.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/CreatePlaylistRequestBodyProducerCopyrightLine.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/CreatePlaylistResponse.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/CreateRewardCodeRequest.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/CreateRewardCodeResponse.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/CreateTrackNotificationActionData.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/CreateTrackRequestBody.d.ts +0 -292
- package/dist/sdk/api/generated/default/models/CreateTrackResponse.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/CreateUserRequestBody.d.ts +0 -153
- package/dist/sdk/api/generated/default/models/CreateUserResponse.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/DashboardWalletUser.d.ts +0 -37
- package/dist/sdk/api/generated/default/models/DashboardWalletUsersResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/DataAndType.d.ts +0 -37
- package/dist/sdk/api/generated/default/models/DdexCopyright.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/DdexResourceContributor.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/DdexRightsController.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/DeactivateAccessKeyRequestBody.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/DeactivateAccessKeyResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/DecodedUserToken.d.ts +0 -79
- package/dist/sdk/api/generated/default/models/DeveloperApp.d.ts +0 -60
- package/dist/sdk/api/generated/default/models/DeveloperAppResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/DeveloperAppsResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/DynamicBondingCurveInsights.d.ts +0 -72
- package/dist/sdk/api/generated/default/models/EmailAccess.d.ts +0 -72
- package/dist/sdk/api/generated/default/models/EmailAccessResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/Event.d.ts +0 -102
- package/dist/sdk/api/generated/default/models/EventsResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/ExtendedAccessGate.d.ts +0 -23
- package/dist/sdk/api/generated/default/models/ExtendedPaymentSplit.d.ts +0 -54
- package/dist/sdk/api/generated/default/models/ExtendedPurchaseGate.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/ExtendedTokenGate.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/ExtendedUsdcGate.d.ts +0 -37
- package/dist/sdk/api/generated/default/models/FanRemixContestEndedNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/FanRemixContestEndedNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/FanRemixContestEndedNotificationActionData.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/FanRemixContestEndingSoonNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/FanRemixContestEndingSoonNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/FanRemixContestEndingSoonNotificationActionData.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/FanRemixContestStartedNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/FanRemixContestStartedNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/FanRemixContestStartedNotificationActionData.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/FanRemixContestWinnersSelectedNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/FanRemixContestWinnersSelectedNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/FanRemixContestWinnersSelectedNotificationActionData.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/Favorite.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/FavoriteRequestBody.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/FavoritesResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/FieldVisibility.d.ts +0 -60
- package/dist/sdk/api/generated/default/models/FollowGate.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/FollowNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/FollowNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/FollowNotificationActionData.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/FollowersResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/FollowingResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/Genre.d.ts +0 -71
- package/dist/sdk/api/generated/default/models/GetChallenges.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/GetSupportedUsers.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/GetSupporter.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/GetSupporters.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/GetSupporting.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/GetTipsResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/Grant.d.ts +0 -60
- package/dist/sdk/api/generated/default/models/HistoryResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/ListenCount.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/ListenStreakReminderNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/ListenStreakReminderNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/ListenStreakReminderNotificationActionData.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/ManagedUser.d.ts +0 -38
- package/dist/sdk/api/generated/default/models/ManagedUsersResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/ManagersResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/MilestoneNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/MilestoneNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/MilestoneNotificationActionData.d.ts +0 -22
- package/dist/sdk/api/generated/default/models/MonthlyAggregatePlay.d.ts +0 -43
- package/dist/sdk/api/generated/default/models/Mood.d.ts +0 -43
- package/dist/sdk/api/generated/default/models/MutualFollowersResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/NftCollection.d.ts +0 -76
- package/dist/sdk/api/generated/default/models/NftGate.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/Notification.d.ts +0 -141
- package/dist/sdk/api/generated/default/models/Notifications.d.ts +0 -37
- package/dist/sdk/api/generated/default/models/NotificationsResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/PaymentSplit.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/PinCommentRequestBody.d.ts +0 -37
- package/dist/sdk/api/generated/default/models/Playlist.d.ts +0 -272
- package/dist/sdk/api/generated/default/models/PlaylistAddedTimestamp.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/PlaylistArtwork.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/PlaylistFeedItem.d.ts +0 -37
- package/dist/sdk/api/generated/default/models/PlaylistLibrary.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/PlaylistLibraryExplorePlaylistIdentifier.d.ts +0 -43
- package/dist/sdk/api/generated/default/models/PlaylistLibraryFolder.d.ts +0 -56
- package/dist/sdk/api/generated/default/models/PlaylistLibraryPlaylistIdentifier.d.ts +0 -43
- package/dist/sdk/api/generated/default/models/PlaylistMilestoneNotificationActionData.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/PlaylistResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/PlaylistSearchResult.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/PlaylistTracksResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/PlaylistUpdate.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/PlaylistUpdates.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/PlaylistUpdatesResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/PlaylistWithoutTracks.d.ts +0 -272
- package/dist/sdk/api/generated/default/models/PlaylistsResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/PrizeClaimRequestBody.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/PrizeClaimResponse.d.ts +0 -56
- package/dist/sdk/api/generated/default/models/PrizePublic.d.ts +0 -56
- package/dist/sdk/api/generated/default/models/PrizesResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/ProfilePicture.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/Purchase.d.ts +0 -97
- package/dist/sdk/api/generated/default/models/PurchaseGate.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/PurchaseSplit.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/PurchasersCountResponse.d.ts +0 -73
- package/dist/sdk/api/generated/default/models/PurchasersResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/PurchasesCountResponse.d.ts +0 -73
- package/dist/sdk/api/generated/default/models/PurchasesResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/ReactCommentRequestBody.d.ts +0 -37
- package/dist/sdk/api/generated/default/models/Reaction.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/ReactionNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/ReactionNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/ReactionNotificationActionData.d.ts +0 -66
- package/dist/sdk/api/generated/default/models/Reactions.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/ReceiveTipNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/ReceiveTipNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/ReceiveTipNotificationActionData.d.ts +0 -54
- package/dist/sdk/api/generated/default/models/RedeemAmountResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/RegisterApiKeyRequestBody.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/RegisterApiKeyResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/Related.d.ts +0 -45
- package/dist/sdk/api/generated/default/models/RelatedArtistResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/Remix.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/RemixNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/RemixNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/RemixNotificationActionData.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/RemixParent.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/RemixParentWrite.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/RemixablesResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/RemixedTrackAggregate.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/RemixersCountResponse.d.ts +0 -73
- package/dist/sdk/api/generated/default/models/RemixersResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/RemixesResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/RemixesResponseData.d.ts +0 -37
- package/dist/sdk/api/generated/default/models/RemixingResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/ReplyComment.d.ts +0 -110
- package/dist/sdk/api/generated/default/models/Repost.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/RepostNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/RepostNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/RepostNotificationActionData.d.ts +0 -51
- package/dist/sdk/api/generated/default/models/RepostOfRepostNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/RepostOfRepostNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/RepostOfRepostNotificationActionData.d.ts +0 -51
- package/dist/sdk/api/generated/default/models/RepostRequestBody.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/Reposts.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/RequestManagerNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/RequestManagerNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/RequestManagerNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/RewardCodeErrorResponse.d.ts +0 -38
- package/dist/sdk/api/generated/default/models/RewardCodeResponse.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/RewardPool.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/SaleJson.d.ts +0 -108
- package/dist/sdk/api/generated/default/models/SalesAggregate.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/SalesAggregateResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/SalesJsonContent.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/SalesJsonResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/SaveNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/SaveNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/SaveNotificationActionData.d.ts +0 -51
- package/dist/sdk/api/generated/default/models/SaveOfRepostNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/SaveOfRepostNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/SaveOfRepostNotificationActionData.d.ts +0 -51
- package/dist/sdk/api/generated/default/models/SearchAutocompleteResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/SearchModel.d.ts +0 -75
- package/dist/sdk/api/generated/default/models/SearchPlaylist.d.ts +0 -272
- package/dist/sdk/api/generated/default/models/SearchResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/SearchTrack.d.ts +0 -520
- package/dist/sdk/api/generated/default/models/SendTipNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/SendTipNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/SendTipNotificationActionData.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/Stem.d.ts +0 -66
- package/dist/sdk/api/generated/default/models/StemParent.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/StemsResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/StreamUrlResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/SubscribersResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/Supporter.d.ts +0 -43
- package/dist/sdk/api/generated/default/models/SupporterDethronedNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/SupporterDethronedNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/SupporterDethronedNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/SupporterRankUpNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/SupporterRankUpNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/SupporterRankUpNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/SupporterReference.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/Supporting.d.ts +0 -43
- package/dist/sdk/api/generated/default/models/TagsResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/TastemakerNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/TastemakerNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/TastemakerNotificationActionData.d.ts +0 -54
- package/dist/sdk/api/generated/default/models/TierChangeNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/TierChangeNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/TierChangeNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/Tip.d.ts +0 -68
- package/dist/sdk/api/generated/default/models/TipGate.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/TokenGate.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/TopGenreUsersResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/TopListener.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/TopUsersResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/Track.d.ts +0 -526
- package/dist/sdk/api/generated/default/models/TrackAccessInfo.d.ts +0 -68
- package/dist/sdk/api/generated/default/models/TrackActivity.d.ts +0 -45
- package/dist/sdk/api/generated/default/models/TrackAddedToPlaylistNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/TrackAddedToPlaylistNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/TrackAddedToPlaylistNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/TrackAddedToPurchasedAlbumNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/TrackAddedToPurchasedAlbumNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/TrackAddedToPurchasedAlbumNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/TrackArtwork.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/TrackCommentCountResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/TrackCommentNotificationResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/TrackCommentsResponse.d.ts +0 -81
- package/dist/sdk/api/generated/default/models/TrackDownloadCountResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/TrackDownloadCountResponseData.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/TrackDownloadCountsResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/TrackDownloadRequestBody.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/TrackElementWrite.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/TrackFavoritesResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/TrackFeedItem.d.ts +0 -37
- package/dist/sdk/api/generated/default/models/TrackId.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/TrackInspect.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/TrackInspectList.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/TrackLibraryResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/TrackMilestoneNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/TrackRepostsResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/TrackResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/TrackSearch.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/TrackSegment.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/Tracks.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/TracksCountResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/TracksResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/TransactionDetails.d.ts +0 -72
- package/dist/sdk/api/generated/default/models/TransactionHistoryCountResponse.d.ts +0 -73
- package/dist/sdk/api/generated/default/models/TransactionHistoryResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/TrendingIdsResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/TrendingNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/TrendingNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/TrendingNotificationActionData.d.ts +0 -57
- package/dist/sdk/api/generated/default/models/TrendingPlaylistNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/TrendingPlaylistNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/TrendingPlaylistNotificationActionData.d.ts +0 -57
- package/dist/sdk/api/generated/default/models/TrendingPlaylistsResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/TrendingTimesIds.d.ts +0 -43
- package/dist/sdk/api/generated/default/models/TrendingUndergroundNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/TrendingUndergroundNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/TrendingUndergroundNotificationActionData.d.ts +0 -57
- package/dist/sdk/api/generated/default/models/UnclaimedIdResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/UndisbursedChallenge.d.ts +0 -84
- package/dist/sdk/api/generated/default/models/UndisbursedChallenges.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/UpdateCoinRequest.d.ts +0 -60
- package/dist/sdk/api/generated/default/models/UpdateCoinResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/UpdateCommentRequestBody.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/UpdateDeveloperAppRequestBody.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/UpdatePlaylistRequestBody.d.ts +0 -165
- package/dist/sdk/api/generated/default/models/UpdateTrackRequestBody.d.ts +0 -210
- package/dist/sdk/api/generated/default/models/UpdateUserRequestBody.d.ts +0 -159
- package/dist/sdk/api/generated/default/models/UpdateUserRequestBodyEvents.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/UrlWithMirrors.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/UsdcGate.d.ts +0 -37
- package/dist/sdk/api/generated/default/models/UsdcPurchaseBuyerNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/UsdcPurchaseBuyerNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/UsdcPurchaseBuyerNotificationActionData.d.ts +0 -60
- package/dist/sdk/api/generated/default/models/UsdcPurchaseSellerNotification.d.ts +0 -55
- package/dist/sdk/api/generated/default/models/UsdcPurchaseSellerNotificationAction.d.ts +0 -49
- package/dist/sdk/api/generated/default/models/UsdcPurchaseSellerNotificationActionData.d.ts +0 -60
- package/dist/sdk/api/generated/default/models/User.d.ts +0 -388
- package/dist/sdk/api/generated/default/models/UserAccountResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/UserArtistCoinBadge.d.ts +0 -48
- package/dist/sdk/api/generated/default/models/UserCoin.d.ts +0 -78
- package/dist/sdk/api/generated/default/models/UserCoinAccount.d.ts +0 -54
- package/dist/sdk/api/generated/default/models/UserCoinResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/UserCoinWithAccounts.d.ts +0 -67
- package/dist/sdk/api/generated/default/models/UserCoinsResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/UserCommentsResponse.d.ts +0 -81
- package/dist/sdk/api/generated/default/models/UserFeedItem.d.ts +0 -25
- package/dist/sdk/api/generated/default/models/UserFeedResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/UserIdAddress.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/UserIdsAddressesResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/UserManager.d.ts +0 -38
- package/dist/sdk/api/generated/default/models/UserMilestoneNotificationActionData.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/UserPlaylistLibrary.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/UserPlaylistLibraryContentsInner.d.ts +0 -22
- package/dist/sdk/api/generated/default/models/UserResponse.d.ts +0 -74
- package/dist/sdk/api/generated/default/models/UserResponseSingle.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/UserSearch.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/UserSubscribers.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/UserTrackListenCountsResponse.d.ts +0 -33
- package/dist/sdk/api/generated/default/models/UserTracksDownloadCountResponse.d.ts +0 -30
- package/dist/sdk/api/generated/default/models/UserTracksRemixedResponse.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/VerifyToken.d.ts +0 -31
- package/dist/sdk/api/generated/default/models/VersionMetadata.d.ts +0 -36
- package/dist/sdk/api/generated/default/models/WriteResponse.d.ts +0 -42
- package/dist/sdk/api/generated/default/models/index.d.ts +0 -401
- package/dist/sdk/api/generated/default/runtime.d.ts +0 -172
- package/dist/sdk/api/grants/GrantsApi.d.ts +0 -19
- package/dist/sdk/api/grants/types.d.ts +0 -65
- package/dist/sdk/api/notifications/NotificationsApi.d.ts +0 -14
- package/dist/sdk/api/notifications/NotificationsApi.test.d.ts +0 -1
- package/dist/sdk/api/notifications/types.d.ts +0 -32
- package/dist/sdk/api/playlists/PlaylistsApi.d.ts +0 -106
- package/dist/sdk/api/playlists/PlaylistsApi.test.d.ts +0 -1
- package/dist/sdk/api/playlists/types.d.ts +0 -3942
- package/dist/sdk/api/tracks/TrackUploadHelper.d.ts +0 -133
- package/dist/sdk/api/tracks/TracksApi.d.ts +0 -122
- package/dist/sdk/api/tracks/TracksApi.test.d.ts +0 -1
- package/dist/sdk/api/tracks/constants.d.ts +0 -2
- package/dist/sdk/api/tracks/types.d.ts +0 -4431
- package/dist/sdk/api/uploads/UploadsApi.d.ts +0 -49
- package/dist/sdk/api/uploads/types.d.ts +0 -4
- package/dist/sdk/api/users/UsersApi.d.ts +0 -134
- package/dist/sdk/api/users/UsersApi.test.d.ts +0 -1
- package/dist/sdk/api/users/types.d.ts +0 -1009
- package/dist/sdk/config/development.d.ts +0 -2
- package/dist/sdk/config/production.d.ts +0 -2
- package/dist/sdk/config/types.d.ts +0 -45
- package/dist/sdk/createSdk.d.ts +0 -26
- package/dist/sdk/createSdkWithServices.d.ts +0 -50
- package/dist/sdk/errors.d.ts +0 -3
- package/dist/sdk/index.d.ts +0 -40
- package/dist/sdk/middleware/addAppInfoMiddleware.d.ts +0 -16
- package/dist/sdk/middleware/addRequestSignatureMiddleware.d.ts +0 -12
- package/dist/sdk/middleware/addRequestSignatureMiddleware.test.d.ts +0 -1
- package/dist/sdk/middleware/addTokenRefreshMiddleware.d.ts +0 -16
- package/dist/sdk/middleware/addTokenRefreshMiddleware.test.d.ts +0 -1
- package/dist/sdk/middleware/index.d.ts +0 -3
- package/dist/sdk/oauth/OAuth.d.ts +0 -131
- package/dist/sdk/oauth/OAuth.test.d.ts +0 -1
- package/dist/sdk/oauth/TokenStoreAsyncStorage.d.ts +0 -7
- package/dist/sdk/oauth/TokenStoreLocalStorage.d.ts +0 -11
- package/dist/sdk/oauth/TokenStoreMemory.d.ts +0 -18
- package/dist/sdk/oauth/index.d.ts +0 -3
- package/dist/sdk/oauth/pkce.d.ts +0 -18
- package/dist/sdk/oauth/pkce.test.d.ts +0 -1
- package/dist/sdk/oauth/tokenStore.d.ts +0 -11
- package/dist/sdk/oauth/tokenStore.test.d.ts +0 -1
- package/dist/sdk/oauth/tokenStoreLocalStorage.test.d.ts +0 -1
- package/dist/sdk/oauth/types.d.ts +0 -5
- package/dist/sdk/scripts/generateServicesConfig.d.ts +0 -1
- package/dist/sdk/scripts/manageRewardsLookupTable.d.ts +0 -1
- package/dist/sdk/scripts/verifyUser.d.ts +0 -1
- package/dist/sdk/sdk.d.ts +0 -5
- package/dist/sdk/sdkBrowserDist.d.ts +0 -51
- package/dist/sdk/services/AntiAbuseOracle/AntiAbuseOracle.d.ts +0 -10
- package/dist/sdk/services/AntiAbuseOracle/index.d.ts +0 -2
- package/dist/sdk/services/AntiAbuseOracle/types.d.ts +0 -70
- package/dist/sdk/services/AntiAbuseOracleSelector/AntiAbuseOracleSelector.d.ts +0 -26
- package/dist/sdk/services/AntiAbuseOracleSelector/AntiAbuseOracleSelector.test.d.ts +0 -1
- package/dist/sdk/services/AntiAbuseOracleSelector/getDefaultConfig.d.ts +0 -3
- package/dist/sdk/services/AntiAbuseOracleSelector/index.d.ts +0 -3
- package/dist/sdk/services/AntiAbuseOracleSelector/types.d.ts +0 -37
- package/dist/sdk/services/Archiver/Archiver.d.ts +0 -21
- package/dist/sdk/services/Archiver/index.d.ts +0 -1
- package/dist/sdk/services/AudiusWalletClient/actions/getSharedSecret.d.ts +0 -7
- package/dist/sdk/services/AudiusWalletClient/actions/sign.d.ts +0 -7
- package/dist/sdk/services/AudiusWalletClient/createAppWalletClient.d.ts +0 -5
- package/dist/sdk/services/AudiusWalletClient/createHedgehogWalletClient.d.ts +0 -9
- package/dist/sdk/services/AudiusWalletClient/decorators/audiusWallet.d.ts +0 -184
- package/dist/sdk/services/AudiusWalletClient/index.d.ts +0 -4
- package/dist/sdk/services/AudiusWalletClient/localTransport.d.ts +0 -10
- package/dist/sdk/services/AudiusWalletClient/privateKeyToAudiusAccount.d.ts +0 -6
- package/dist/sdk/services/AudiusWalletClient/types.d.ts +0 -24
- package/dist/sdk/services/AudiusWalletClient/utils.d.ts +0 -7
- package/dist/sdk/services/Encryption/EmailEncryptionService.d.ts +0 -107
- package/dist/sdk/services/Encryption/index.d.ts +0 -2
- package/dist/sdk/services/Encryption/types.d.ts +0 -13
- package/dist/sdk/services/EntityManager/EntityManager.test.d.ts +0 -1
- package/dist/sdk/services/EntityManager/EntityManagerClient.d.ts +0 -48
- package/dist/sdk/services/EntityManager/contract/EntityManagerContract.d.ts +0 -168
- package/dist/sdk/services/EntityManager/contract/abi.d.ts +0 -131
- package/dist/sdk/services/EntityManager/getDefaultConfig.d.ts +0 -3
- package/dist/sdk/services/EntityManager/index.d.ts +0 -5
- package/dist/sdk/services/EntityManager/types.d.ts +0 -131
- package/dist/sdk/services/Ethereum/ethereum.d.ts +0 -86
- package/dist/sdk/services/Ethereum/getDefaultConfig.d.ts +0 -3
- package/dist/sdk/services/Ethereum/index.d.ts +0 -2
- package/dist/sdk/services/Ethereum/types.d.ts +0 -26
- package/dist/sdk/services/Logger/Logger.d.ts +0 -18
- package/dist/sdk/services/Logger/index.d.ts +0 -2
- package/dist/sdk/services/Logger/types.d.ts +0 -7
- package/dist/sdk/services/Solana/SolanaRelay.d.ts +0 -84
- package/dist/sdk/services/Solana/SolanaRelayWalletAdapter.d.ts +0 -42
- package/dist/sdk/services/Solana/constants.d.ts +0 -3
- package/dist/sdk/services/Solana/index.d.ts +0 -7
- package/dist/sdk/services/Solana/programs/ClaimableTokensClient/ClaimableTokensClient.d.ts +0 -77
- package/dist/sdk/services/Solana/programs/ClaimableTokensClient/getDefaultConfig.d.ts +0 -3
- package/dist/sdk/services/Solana/programs/ClaimableTokensClient/index.d.ts +0 -2
- package/dist/sdk/services/Solana/programs/ClaimableTokensClient/types.d.ts +0 -98
- package/dist/sdk/services/Solana/programs/CustomInstructionError.d.ts +0 -7
- package/dist/sdk/services/Solana/programs/PaymentRouterClient/PaymentRouterClient.d.ts +0 -23
- package/dist/sdk/services/Solana/programs/PaymentRouterClient/getDefaultConfig.d.ts +0 -3
- package/dist/sdk/services/Solana/programs/PaymentRouterClient/index.d.ts +0 -3
- package/dist/sdk/services/Solana/programs/PaymentRouterClient/types.d.ts +0 -136
- package/dist/sdk/services/Solana/programs/RewardManagerClient/RewardManagerClient.d.ts +0 -44
- package/dist/sdk/services/Solana/programs/RewardManagerClient/getDefaultConfig.d.ts +0 -3
- package/dist/sdk/services/Solana/programs/RewardManagerClient/index.d.ts +0 -2
- package/dist/sdk/services/Solana/programs/RewardManagerClient/types.d.ts +0 -113
- package/dist/sdk/services/Solana/programs/SolanaClient.d.ts +0 -47
- package/dist/sdk/services/Solana/programs/getDefaultConfig.d.ts +0 -3
- package/dist/sdk/services/Solana/programs/types.d.ts +0 -276
- package/dist/sdk/services/Solana/types.d.ts +0 -208
- package/dist/sdk/services/Storage/Storage.d.ts +0 -42
- package/dist/sdk/services/Storage/getDefaultConfig.d.ts +0 -3
- package/dist/sdk/services/Storage/index.d.ts +0 -3
- package/dist/sdk/services/Storage/types.d.ts +0 -127
- package/dist/sdk/services/StorageNodeSelector/StorageNodeSelector.d.ts +0 -17
- package/dist/sdk/services/StorageNodeSelector/StorageNodeSelector.test.d.ts +0 -1
- package/dist/sdk/services/StorageNodeSelector/getDefaultConfig.d.ts +0 -3
- package/dist/sdk/services/StorageNodeSelector/getNStorageNodes.d.ts +0 -14
- package/dist/sdk/services/StorageNodeSelector/index.d.ts +0 -3
- package/dist/sdk/services/StorageNodeSelector/types.d.ts +0 -30
- package/dist/sdk/services/index.d.ts +0 -11
- package/dist/sdk/types/ChainAddress.d.ts +0 -21
- package/dist/sdk/types/DDEX.d.ts +0 -37
- package/dist/sdk/types/Env.d.ts +0 -1
- package/dist/sdk/types/EthAddress.d.ts +0 -2
- package/dist/sdk/types/File.d.ts +0 -210
- package/dist/sdk/types/Genre.d.ts +0 -54
- package/dist/sdk/types/HashId.d.ts +0 -5
- package/dist/sdk/types/Hex.d.ts +0 -2
- package/dist/sdk/types/Mood.d.ts +0 -25
- package/dist/sdk/types/SolanaAddress.d.ts +0 -2
- package/dist/sdk/types/StemCategory.d.ts +0 -14
- package/dist/sdk/types/Timeout.d.ts +0 -1
- package/dist/sdk/types.d.ts +0 -267
- package/dist/sdk/utils/EventEmitterTarget.d.ts +0 -6
- package/dist/sdk/utils/apiKey.d.ts +0 -1
- package/dist/sdk/utils/cid.d.ts +0 -2
- package/dist/sdk/utils/crypto.d.ts +0 -26
- package/dist/sdk/utils/deepPartial.d.ts +0 -3
- package/dist/sdk/utils/errors.d.ts +0 -8
- package/dist/sdk/utils/fetch.d.ts +0 -16
- package/dist/sdk/utils/getPathFromUrl.d.ts +0 -4
- package/dist/sdk/utils/hashId.d.ts +0 -8
- package/dist/sdk/utils/hashId.test.d.ts +0 -1
- package/dist/sdk/utils/localStorage.d.ts +0 -6
- package/dist/sdk/utils/location.d.ts +0 -16
- package/dist/sdk/utils/mergeConfigs.d.ts +0 -7
- package/dist/sdk/utils/mergeConfigs.test.d.ts +0 -1
- package/dist/sdk/utils/oauthScope.d.ts +0 -1
- package/dist/sdk/utils/object.d.ts +0 -4
- package/dist/sdk/utils/parseMint.d.ts +0 -10
- package/dist/sdk/utils/parseParams.d.ts +0 -13
- package/dist/sdk/utils/preparePaymentSplits.d.ts +0 -19
- package/dist/sdk/utils/prettify.d.ts +0 -3
- package/dist/sdk/utils/promiseAny.d.ts +0 -6
- package/dist/sdk/utils/reactionsMap.d.ts +0 -11
- package/dist/sdk/utils/rendezvous.d.ts +0 -12
- package/dist/sdk/utils/retry.d.ts +0 -4
- package/dist/sdk/utils/signatureSchemas.d.ts +0 -54
- package/dist/sdk/utils/uuid.d.ts +0 -1
- package/dist/sdk/utils/wait.d.ts +0 -1
- package/dist/sdk.browser.esm.html +0 -5000
- package/dist/sdk.min.js +0 -30
- package/dist/sdk.min.js.map +0 -1
|
@@ -493,11 +493,15 @@ describe('OAuth._receiveMessage (popup parent handler)', () => {
|
|
|
493
493
|
// ---------------------------------------------------------------------------
|
|
494
494
|
|
|
495
495
|
describe('OAuth.isAuthenticated / hasRefreshToken', () => {
|
|
496
|
-
|
|
496
|
+
afterEach(() => {
|
|
497
|
+
vi.restoreAllMocks()
|
|
498
|
+
})
|
|
499
|
+
|
|
500
|
+
it('isAuthenticated is false when no tokens are stored', async () => {
|
|
497
501
|
expect(await makeOAuth().isAuthenticated()).toBe(false)
|
|
498
502
|
})
|
|
499
503
|
|
|
500
|
-
it('isAuthenticated is false when token store has no access token', async () => {
|
|
504
|
+
it('isAuthenticated is false when token store has no access token and no refresh token', async () => {
|
|
501
505
|
const tokenStore = new TokenStoreMemory()
|
|
502
506
|
expect(await makeOAuth({ tokenStore }).isAuthenticated()).toBe(false)
|
|
503
507
|
})
|
|
@@ -508,6 +512,60 @@ describe('OAuth.isAuthenticated / hasRefreshToken', () => {
|
|
|
508
512
|
expect(await makeOAuth({ tokenStore }).isAuthenticated()).toBe(true)
|
|
509
513
|
})
|
|
510
514
|
|
|
515
|
+
it('isAuthenticated is true when access token is missing but refresh token exists', async () => {
|
|
516
|
+
const tokenStore = new TokenStoreMemory()
|
|
517
|
+
await tokenStore.setTokens('at', 'rt')
|
|
518
|
+
// Simulate cleared access token but refresh token remains
|
|
519
|
+
;(tokenStore as any)._accessToken = null
|
|
520
|
+
expect(await makeOAuth({ tokenStore }).isAuthenticated()).toBe(true)
|
|
521
|
+
})
|
|
522
|
+
|
|
523
|
+
it('isAuthenticated attempts refresh when access token is expired', async () => {
|
|
524
|
+
const tokenStore = new TokenStoreMemory()
|
|
525
|
+
// Set tokens with 1-second expiry, then backdate
|
|
526
|
+
await tokenStore.setTokens('at', 'rt', 1)
|
|
527
|
+
;(tokenStore as any)._accessTokenExpiry = Date.now() - 1000
|
|
528
|
+
|
|
529
|
+
vi.stubGlobal(
|
|
530
|
+
'fetch',
|
|
531
|
+
vi.fn().mockResolvedValueOnce(
|
|
532
|
+
new Response(
|
|
533
|
+
JSON.stringify({
|
|
534
|
+
access_token: 'new-at',
|
|
535
|
+
refresh_token: 'new-rt',
|
|
536
|
+
expires_in: 3600
|
|
537
|
+
}),
|
|
538
|
+
{ status: 200 }
|
|
539
|
+
)
|
|
540
|
+
)
|
|
541
|
+
)
|
|
542
|
+
|
|
543
|
+
const oauth = makeOAuth({ tokenStore })
|
|
544
|
+
expect(await oauth.isAuthenticated()).toBe(true)
|
|
545
|
+
expect(await tokenStore.getAccessToken()).toBe('new-at')
|
|
546
|
+
})
|
|
547
|
+
|
|
548
|
+
it('isAuthenticated returns false when access token expired and refresh fails', async () => {
|
|
549
|
+
const tokenStore = new TokenStoreMemory()
|
|
550
|
+
await tokenStore.setTokens('at', 'rt', 1)
|
|
551
|
+
;(tokenStore as any)._accessTokenExpiry = Date.now() - 1000
|
|
552
|
+
|
|
553
|
+
vi.stubGlobal(
|
|
554
|
+
'fetch',
|
|
555
|
+
vi.fn().mockResolvedValueOnce(new Response(null, { status: 401 }))
|
|
556
|
+
)
|
|
557
|
+
|
|
558
|
+
expect(await makeOAuth({ tokenStore }).isAuthenticated()).toBe(false)
|
|
559
|
+
})
|
|
560
|
+
|
|
561
|
+
it('isAuthenticated returns false when refresh token is expired', async () => {
|
|
562
|
+
const tokenStore = new TokenStoreMemory()
|
|
563
|
+
await tokenStore.setTokens('at', 'rt', 3600, 1)
|
|
564
|
+
;(tokenStore as any)._refreshTokenExpiry = Date.now() - 1000
|
|
565
|
+
|
|
566
|
+
expect(await makeOAuth({ tokenStore }).isAuthenticated()).toBe(false)
|
|
567
|
+
})
|
|
568
|
+
|
|
511
569
|
it('hasRefreshToken is false when no token store is configured', async () => {
|
|
512
570
|
expect(await makeOAuth().hasRefreshToken()).toBe(false)
|
|
513
571
|
})
|
|
@@ -568,11 +626,59 @@ describe('OAuth.getUser', () => {
|
|
|
568
626
|
)
|
|
569
627
|
})
|
|
570
628
|
|
|
571
|
-
it('
|
|
629
|
+
it('retries after refreshing token on 401', async () => {
|
|
630
|
+
const tokenStore = new TokenStoreMemory()
|
|
631
|
+
await tokenStore.setTokens('expired-at', 'valid-rt')
|
|
632
|
+
const oauth = makeOAuth({ tokenStore })
|
|
633
|
+
const userData = { id: '1', handle: 'foo' }
|
|
634
|
+
const fetchSpy = vi
|
|
635
|
+
.fn()
|
|
636
|
+
// First call: 401
|
|
637
|
+
.mockResolvedValueOnce(new Response(null, { status: 401 }))
|
|
638
|
+
// Refresh call: success
|
|
639
|
+
.mockResolvedValueOnce(
|
|
640
|
+
new Response(
|
|
641
|
+
JSON.stringify({
|
|
642
|
+
access_token: 'new-at',
|
|
643
|
+
refresh_token: 'new-rt',
|
|
644
|
+
expires_in: 3600
|
|
645
|
+
}),
|
|
646
|
+
{ status: 200 }
|
|
647
|
+
)
|
|
648
|
+
)
|
|
649
|
+
// Retry call: success
|
|
650
|
+
.mockResolvedValueOnce(
|
|
651
|
+
new Response(JSON.stringify({ data: userData }), { status: 200 })
|
|
652
|
+
)
|
|
653
|
+
vi.stubGlobal('fetch', fetchSpy)
|
|
654
|
+
|
|
655
|
+
const result = await oauth.getUser()
|
|
656
|
+
expect(result).toEqual(userData)
|
|
657
|
+
expect(fetchSpy).toHaveBeenCalledTimes(3)
|
|
658
|
+
})
|
|
659
|
+
|
|
660
|
+
it('throws ResponseError on non-2xx response when refresh also fails', async () => {
|
|
661
|
+
const tokenStore = new TokenStoreMemory()
|
|
662
|
+
await tokenStore.setTokens('expired-at', 'bad-rt')
|
|
663
|
+
const oauth = makeOAuth({ tokenStore })
|
|
664
|
+
vi.stubGlobal(
|
|
665
|
+
'fetch',
|
|
666
|
+
vi
|
|
667
|
+
.fn()
|
|
668
|
+
// First call: 401
|
|
669
|
+
.mockResolvedValueOnce(new Response(null, { status: 401 }))
|
|
670
|
+
// Refresh call: fails
|
|
671
|
+
.mockResolvedValueOnce(new Response(null, { status: 401 }))
|
|
672
|
+
)
|
|
673
|
+
|
|
674
|
+
await expect(oauth.getUser()).rejects.toBeInstanceOf(ResponseError)
|
|
675
|
+
})
|
|
676
|
+
|
|
677
|
+
it('throws ResponseError on non-401 error without retrying', async () => {
|
|
572
678
|
const oauth = makeOAuth()
|
|
573
679
|
vi.stubGlobal(
|
|
574
680
|
'fetch',
|
|
575
|
-
vi.fn().mockResolvedValueOnce(new Response(null, { status:
|
|
681
|
+
vi.fn().mockResolvedValueOnce(new Response(null, { status: 500 }))
|
|
576
682
|
)
|
|
577
683
|
|
|
578
684
|
await expect(oauth.getUser()).rejects.toBeInstanceOf(ResponseError)
|
package/src/sdk/oauth/OAuth.ts
CHANGED
|
@@ -294,11 +294,34 @@ export class OAuth {
|
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
/**
|
|
297
|
-
* Returns true if the user
|
|
298
|
-
*
|
|
297
|
+
* Returns true if the user has a valid session. Checks the access token
|
|
298
|
+
* expiry when available — if the token has expired but a refresh token
|
|
299
|
+
* exists, a silent refresh is attempted. Returns false only when no
|
|
300
|
+
* usable session remains.
|
|
299
301
|
*/
|
|
300
302
|
async isAuthenticated(): Promise<boolean> {
|
|
301
|
-
|
|
303
|
+
const store = this.config.tokenStore
|
|
304
|
+
|
|
305
|
+
// If the refresh token is known-expired, the session is dead
|
|
306
|
+
const refreshExpiry = await store.getRefreshTokenExpiry()
|
|
307
|
+
if (refreshExpiry != null && Date.now() >= refreshExpiry) {
|
|
308
|
+
return false
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
const accessToken = await store.getAccessToken()
|
|
312
|
+
if (!accessToken) {
|
|
313
|
+
// No access token but we may still have a valid refresh token
|
|
314
|
+
return !!(await store.getRefreshToken())
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
const accessExpiry = await store.getAccessTokenExpiry()
|
|
318
|
+
if (accessExpiry != null && Date.now() >= accessExpiry) {
|
|
319
|
+
// Access token expired — try a silent refresh
|
|
320
|
+
const refreshed = await this.refreshAccessToken()
|
|
321
|
+
return refreshed != null
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
return true
|
|
302
325
|
}
|
|
303
326
|
|
|
304
327
|
/**
|
|
@@ -315,30 +338,42 @@ export class OAuth {
|
|
|
315
338
|
* current server-side state (useful for detecting revoked sessions or
|
|
316
339
|
* refreshing stale profile data on page load).
|
|
317
340
|
*
|
|
341
|
+
* If the access token has expired, a single token refresh is attempted
|
|
342
|
+
* before failing.
|
|
343
|
+
*
|
|
318
344
|
* Throws `ResponseError` if the server returns a non-2xx response (e.g. 401
|
|
319
345
|
* if no token is stored or the token has expired), or `FetchError` if the
|
|
320
346
|
* request fails at the network level.
|
|
321
347
|
*/
|
|
322
348
|
async getUser(): Promise<User> {
|
|
349
|
+
let res = await this._fetchMe()
|
|
350
|
+
if (res.status === 401) {
|
|
351
|
+
const newToken = await this.refreshAccessToken()
|
|
352
|
+
if (newToken) {
|
|
353
|
+
res = await this._fetchMe()
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
if (!res.ok) {
|
|
357
|
+
throw new ResponseError(res, 'Failed to fetch user profile.')
|
|
358
|
+
}
|
|
359
|
+
const json = await res.json()
|
|
360
|
+
return UserFromJSON(json.data)
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
private async _fetchMe(): Promise<Response> {
|
|
323
364
|
const accessToken = await this.config.tokenStore.getAccessToken()
|
|
324
365
|
const headers: Record<string, string> = {}
|
|
325
366
|
if (accessToken) {
|
|
326
367
|
headers.Authorization = `Bearer ${accessToken}`
|
|
327
368
|
}
|
|
328
|
-
let res: Response
|
|
329
369
|
try {
|
|
330
|
-
|
|
370
|
+
return await fetch(`${this.config.basePath}/me`, { headers })
|
|
331
371
|
} catch (e) {
|
|
332
372
|
throw new FetchError(
|
|
333
373
|
e instanceof Error ? e : new Error(String(e)),
|
|
334
374
|
'Failed to fetch user profile.'
|
|
335
375
|
)
|
|
336
376
|
}
|
|
337
|
-
if (!res.ok) {
|
|
338
|
-
throw new ResponseError(res, 'Failed to fetch user profile.')
|
|
339
|
-
}
|
|
340
|
-
const json = await res.json()
|
|
341
|
-
return UserFromJSON(json.data)
|
|
342
377
|
}
|
|
343
378
|
|
|
344
379
|
/**
|
|
@@ -369,7 +404,9 @@ export class OAuth {
|
|
|
369
404
|
if (tokens.access_token && tokens.refresh_token) {
|
|
370
405
|
await this.config.tokenStore.setTokens(
|
|
371
406
|
tokens.access_token,
|
|
372
|
-
tokens.refresh_token
|
|
407
|
+
tokens.refresh_token,
|
|
408
|
+
tokens.expires_in,
|
|
409
|
+
tokens.refresh_expires_in
|
|
373
410
|
)
|
|
374
411
|
return tokens.access_token
|
|
375
412
|
}
|
|
@@ -433,7 +470,9 @@ export class OAuth {
|
|
|
433
470
|
const tokens = await tokenRes.json()
|
|
434
471
|
await this.config.tokenStore.setTokens(
|
|
435
472
|
tokens.access_token,
|
|
436
|
-
tokens.refresh_token
|
|
473
|
+
tokens.refresh_token,
|
|
474
|
+
tokens.expires_in,
|
|
475
|
+
tokens.refresh_expires_in
|
|
437
476
|
)
|
|
438
477
|
}
|
|
439
478
|
|
|
@@ -4,6 +4,8 @@ import type { OAuthTokenStore } from './tokenStore'
|
|
|
4
4
|
|
|
5
5
|
const AS_ACCESS_TOKEN_KEY = 'audius_access_token'
|
|
6
6
|
const AS_REFRESH_TOKEN_KEY = 'audius_refresh_token'
|
|
7
|
+
const AS_ACCESS_TOKEN_EXPIRY_KEY = 'audius_access_token_expiry'
|
|
8
|
+
const AS_REFRESH_TOKEN_EXPIRY_KEY = 'audius_refresh_token_expiry'
|
|
7
9
|
|
|
8
10
|
export class TokenStoreAsyncStorage implements OAuthTokenStore {
|
|
9
11
|
getAccessToken(): Promise<string | null> {
|
|
@@ -14,17 +16,59 @@ export class TokenStoreAsyncStorage implements OAuthTokenStore {
|
|
|
14
16
|
return AsyncStorage.getItem(AS_REFRESH_TOKEN_KEY)
|
|
15
17
|
}
|
|
16
18
|
|
|
17
|
-
async
|
|
18
|
-
await
|
|
19
|
+
async getAccessTokenExpiry(): Promise<number | null> {
|
|
20
|
+
const raw = await AsyncStorage.getItem(AS_ACCESS_TOKEN_EXPIRY_KEY)
|
|
21
|
+
if (raw == null) return null
|
|
22
|
+
const n = Number(raw)
|
|
23
|
+
return Number.isFinite(n) ? n : null
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async getRefreshTokenExpiry(): Promise<number | null> {
|
|
27
|
+
const raw = await AsyncStorage.getItem(AS_REFRESH_TOKEN_EXPIRY_KEY)
|
|
28
|
+
if (raw == null) return null
|
|
29
|
+
const n = Number(raw)
|
|
30
|
+
return Number.isFinite(n) ? n : null
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async setTokens(
|
|
34
|
+
access: string,
|
|
35
|
+
refresh: string,
|
|
36
|
+
expiresIn?: number,
|
|
37
|
+
refreshExpiresIn?: number
|
|
38
|
+
): Promise<void> {
|
|
39
|
+
const ops: Array<Promise<void>> = [
|
|
19
40
|
AsyncStorage.setItem(AS_ACCESS_TOKEN_KEY, access),
|
|
20
41
|
AsyncStorage.setItem(AS_REFRESH_TOKEN_KEY, refresh)
|
|
21
|
-
]
|
|
42
|
+
]
|
|
43
|
+
if (expiresIn != null) {
|
|
44
|
+
ops.push(
|
|
45
|
+
AsyncStorage.setItem(
|
|
46
|
+
AS_ACCESS_TOKEN_EXPIRY_KEY,
|
|
47
|
+
String(Date.now() + expiresIn * 1000)
|
|
48
|
+
)
|
|
49
|
+
)
|
|
50
|
+
} else {
|
|
51
|
+
ops.push(AsyncStorage.removeItem(AS_ACCESS_TOKEN_EXPIRY_KEY))
|
|
52
|
+
}
|
|
53
|
+
if (refreshExpiresIn != null) {
|
|
54
|
+
ops.push(
|
|
55
|
+
AsyncStorage.setItem(
|
|
56
|
+
AS_REFRESH_TOKEN_EXPIRY_KEY,
|
|
57
|
+
String(Date.now() + refreshExpiresIn * 1000)
|
|
58
|
+
)
|
|
59
|
+
)
|
|
60
|
+
} else {
|
|
61
|
+
ops.push(AsyncStorage.removeItem(AS_REFRESH_TOKEN_EXPIRY_KEY))
|
|
62
|
+
}
|
|
63
|
+
await Promise.all(ops)
|
|
22
64
|
}
|
|
23
65
|
|
|
24
66
|
async clear(): Promise<void> {
|
|
25
67
|
await Promise.all([
|
|
26
68
|
AsyncStorage.removeItem(AS_ACCESS_TOKEN_KEY),
|
|
27
|
-
AsyncStorage.removeItem(AS_REFRESH_TOKEN_KEY)
|
|
69
|
+
AsyncStorage.removeItem(AS_REFRESH_TOKEN_KEY),
|
|
70
|
+
AsyncStorage.removeItem(AS_ACCESS_TOKEN_EXPIRY_KEY),
|
|
71
|
+
AsyncStorage.removeItem(AS_REFRESH_TOKEN_EXPIRY_KEY)
|
|
28
72
|
])
|
|
29
73
|
}
|
|
30
74
|
}
|
|
@@ -2,6 +2,8 @@ import type { OAuthTokenStore } from './tokenStore'
|
|
|
2
2
|
|
|
3
3
|
const LS_ACCESS_TOKEN_KEY = 'audius_access_token'
|
|
4
4
|
const LS_REFRESH_TOKEN_KEY = 'audius_refresh_token'
|
|
5
|
+
const LS_ACCESS_TOKEN_EXPIRY_KEY = 'audius_access_token_expiry'
|
|
6
|
+
const LS_REFRESH_TOKEN_EXPIRY_KEY = 'audius_refresh_token_expiry'
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* Default token store implementation that persists tokens to `localStorage`
|
|
@@ -24,13 +26,58 @@ export class TokenStoreLocalStorage implements OAuthTokenStore {
|
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
28
|
|
|
27
|
-
async
|
|
29
|
+
async getAccessTokenExpiry(): Promise<number | null> {
|
|
30
|
+
try {
|
|
31
|
+
const raw = window.localStorage.getItem(LS_ACCESS_TOKEN_EXPIRY_KEY)
|
|
32
|
+
if (raw == null) return null
|
|
33
|
+
const n = Number(raw)
|
|
34
|
+
return Number.isFinite(n) ? n : null
|
|
35
|
+
} catch {
|
|
36
|
+
return null
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async getRefreshTokenExpiry(): Promise<number | null> {
|
|
41
|
+
try {
|
|
42
|
+
const raw = window.localStorage.getItem(LS_REFRESH_TOKEN_EXPIRY_KEY)
|
|
43
|
+
if (raw == null) return null
|
|
44
|
+
const n = Number(raw)
|
|
45
|
+
return Number.isFinite(n) ? n : null
|
|
46
|
+
} catch {
|
|
47
|
+
return null
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async setTokens(
|
|
52
|
+
access: string,
|
|
53
|
+
refresh: string,
|
|
54
|
+
expiresIn?: number,
|
|
55
|
+
refreshExpiresIn?: number
|
|
56
|
+
): Promise<void> {
|
|
28
57
|
window.localStorage.setItem(LS_ACCESS_TOKEN_KEY, access)
|
|
29
58
|
window.localStorage.setItem(LS_REFRESH_TOKEN_KEY, refresh)
|
|
59
|
+
if (expiresIn != null) {
|
|
60
|
+
window.localStorage.setItem(
|
|
61
|
+
LS_ACCESS_TOKEN_EXPIRY_KEY,
|
|
62
|
+
String(Date.now() + expiresIn * 1000)
|
|
63
|
+
)
|
|
64
|
+
} else {
|
|
65
|
+
window.localStorage.removeItem(LS_ACCESS_TOKEN_EXPIRY_KEY)
|
|
66
|
+
}
|
|
67
|
+
if (refreshExpiresIn != null) {
|
|
68
|
+
window.localStorage.setItem(
|
|
69
|
+
LS_REFRESH_TOKEN_EXPIRY_KEY,
|
|
70
|
+
String(Date.now() + refreshExpiresIn * 1000)
|
|
71
|
+
)
|
|
72
|
+
} else {
|
|
73
|
+
window.localStorage.removeItem(LS_REFRESH_TOKEN_EXPIRY_KEY)
|
|
74
|
+
}
|
|
30
75
|
}
|
|
31
76
|
|
|
32
77
|
async clear(): Promise<void> {
|
|
33
78
|
window.localStorage.removeItem(LS_ACCESS_TOKEN_KEY)
|
|
34
79
|
window.localStorage.removeItem(LS_REFRESH_TOKEN_KEY)
|
|
80
|
+
window.localStorage.removeItem(LS_ACCESS_TOKEN_EXPIRY_KEY)
|
|
81
|
+
window.localStorage.removeItem(LS_REFRESH_TOKEN_EXPIRY_KEY)
|
|
35
82
|
}
|
|
36
83
|
}
|
|
@@ -12,6 +12,8 @@ import type { OAuthTokenStore } from './tokenStore'
|
|
|
12
12
|
export class TokenStoreMemory implements OAuthTokenStore {
|
|
13
13
|
private _accessToken: string | null = null
|
|
14
14
|
private _refreshToken: string | null = null
|
|
15
|
+
private _accessTokenExpiry: number | null = null
|
|
16
|
+
private _refreshTokenExpiry: number | null = null
|
|
15
17
|
|
|
16
18
|
async getAccessToken(): Promise<string | null> {
|
|
17
19
|
return this._accessToken
|
|
@@ -21,13 +23,32 @@ export class TokenStoreMemory implements OAuthTokenStore {
|
|
|
21
23
|
return this._refreshToken
|
|
22
24
|
}
|
|
23
25
|
|
|
24
|
-
async
|
|
26
|
+
async getAccessTokenExpiry(): Promise<number | null> {
|
|
27
|
+
return this._accessTokenExpiry
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
async getRefreshTokenExpiry(): Promise<number | null> {
|
|
31
|
+
return this._refreshTokenExpiry
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async setTokens(
|
|
35
|
+
access: string,
|
|
36
|
+
refresh: string,
|
|
37
|
+
expiresIn?: number,
|
|
38
|
+
refreshExpiresIn?: number
|
|
39
|
+
): Promise<void> {
|
|
25
40
|
this._accessToken = access
|
|
26
41
|
this._refreshToken = refresh
|
|
42
|
+
this._accessTokenExpiry =
|
|
43
|
+
expiresIn != null ? Date.now() + expiresIn * 1000 : null
|
|
44
|
+
this._refreshTokenExpiry =
|
|
45
|
+
refreshExpiresIn != null ? Date.now() + refreshExpiresIn * 1000 : null
|
|
27
46
|
}
|
|
28
47
|
|
|
29
48
|
async clear(): Promise<void> {
|
|
30
49
|
this._accessToken = null
|
|
31
50
|
this._refreshToken = null
|
|
51
|
+
this._accessTokenExpiry = null
|
|
52
|
+
this._refreshTokenExpiry = null
|
|
32
53
|
}
|
|
33
54
|
}
|
|
@@ -3,10 +3,12 @@ import { describe, it, expect } from 'vitest'
|
|
|
3
3
|
import { TokenStoreMemory } from './TokenStoreMemory'
|
|
4
4
|
|
|
5
5
|
describe('TokenStoreMemory', () => {
|
|
6
|
-
it('starts with null tokens', async () => {
|
|
6
|
+
it('starts with null tokens and expiries', async () => {
|
|
7
7
|
const store = new TokenStoreMemory()
|
|
8
8
|
expect(await store.getAccessToken()).toBeNull()
|
|
9
9
|
expect(await store.getRefreshToken()).toBeNull()
|
|
10
|
+
expect(await store.getAccessTokenExpiry()).toBeNull()
|
|
11
|
+
expect(await store.getRefreshTokenExpiry()).toBeNull()
|
|
10
12
|
})
|
|
11
13
|
|
|
12
14
|
it('setTokens stores both tokens', async () => {
|
|
@@ -16,11 +18,38 @@ describe('TokenStoreMemory', () => {
|
|
|
16
18
|
expect(await store.getRefreshToken()).toBe('refresh-456')
|
|
17
19
|
})
|
|
18
20
|
|
|
19
|
-
it('
|
|
21
|
+
it('setTokens stores expiry when expiresIn is provided', async () => {
|
|
20
22
|
const store = new TokenStoreMemory()
|
|
21
|
-
|
|
23
|
+
const before = Date.now()
|
|
24
|
+
await store.setTokens('at', 'rt', 3600)
|
|
25
|
+
const expiry = await store.getAccessTokenExpiry()
|
|
26
|
+
expect(expiry).toBeGreaterThanOrEqual(before + 3600 * 1000)
|
|
27
|
+
expect(expiry).toBeLessThanOrEqual(Date.now() + 3600 * 1000)
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
it('setTokens stores refresh expiry when refreshExpiresIn is provided', async () => {
|
|
31
|
+
const store = new TokenStoreMemory()
|
|
32
|
+
const before = Date.now()
|
|
33
|
+
await store.setTokens('at', 'rt', 3600, 2592000)
|
|
34
|
+
const expiry = await store.getRefreshTokenExpiry()
|
|
35
|
+
expect(expiry).toBeGreaterThanOrEqual(before + 2592000 * 1000)
|
|
36
|
+
expect(expiry).toBeLessThanOrEqual(Date.now() + 2592000 * 1000)
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
it('setTokens leaves expiry null when not provided', async () => {
|
|
40
|
+
const store = new TokenStoreMemory()
|
|
41
|
+
await store.setTokens('at', 'rt')
|
|
42
|
+
expect(await store.getAccessTokenExpiry()).toBeNull()
|
|
43
|
+
expect(await store.getRefreshTokenExpiry()).toBeNull()
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
it('clear resets all values to null', async () => {
|
|
47
|
+
const store = new TokenStoreMemory()
|
|
48
|
+
await store.setTokens('a', 'r', 3600, 2592000)
|
|
22
49
|
await store.clear()
|
|
23
50
|
expect(await store.getAccessToken()).toBeNull()
|
|
24
51
|
expect(await store.getRefreshToken()).toBeNull()
|
|
52
|
+
expect(await store.getAccessTokenExpiry()).toBeNull()
|
|
53
|
+
expect(await store.getRefreshTokenExpiry()).toBeNull()
|
|
25
54
|
})
|
|
26
55
|
})
|
|
@@ -6,6 +6,15 @@
|
|
|
6
6
|
export interface OAuthTokenStore {
|
|
7
7
|
getAccessToken(): Promise<string | null>
|
|
8
8
|
getRefreshToken(): Promise<string | null>
|
|
9
|
-
|
|
9
|
+
/** Returns the epoch (ms) at which the access token expires, or null if unknown. */
|
|
10
|
+
getAccessTokenExpiry(): Promise<number | null>
|
|
11
|
+
/** Returns the epoch (ms) at which the refresh token expires, or null if unknown. */
|
|
12
|
+
getRefreshTokenExpiry(): Promise<number | null>
|
|
13
|
+
setTokens(
|
|
14
|
+
access: string,
|
|
15
|
+
refresh: string,
|
|
16
|
+
expiresIn?: number,
|
|
17
|
+
refreshExpiresIn?: number
|
|
18
|
+
): Promise<void>
|
|
10
19
|
clear(): Promise<void>
|
|
11
20
|
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'
|
|
2
|
+
|
|
3
|
+
const mockAsyncStorage = {
|
|
4
|
+
getItem: vi.fn(),
|
|
5
|
+
setItem: vi.fn(),
|
|
6
|
+
removeItem: vi.fn()
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
vi.mock('@react-native-async-storage/async-storage', () => ({
|
|
10
|
+
default: mockAsyncStorage
|
|
11
|
+
}))
|
|
12
|
+
|
|
13
|
+
// Import after mock is registered
|
|
14
|
+
const { TokenStoreAsyncStorage } = await import('./TokenStoreAsyncStorage')
|
|
15
|
+
|
|
16
|
+
describe('TokenStoreAsyncStorage — AsyncStorage persistence', () => {
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
vi.clearAllMocks()
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
afterEach(() => {
|
|
22
|
+
vi.clearAllMocks()
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
it('reads persisted tokens from AsyncStorage', async () => {
|
|
26
|
+
mockAsyncStorage.getItem.mockImplementation(async (key: string) => {
|
|
27
|
+
if (key === 'audius_access_token') return 'persisted-access'
|
|
28
|
+
if (key === 'audius_refresh_token') return 'persisted-refresh'
|
|
29
|
+
return null
|
|
30
|
+
})
|
|
31
|
+
const store = new TokenStoreAsyncStorage()
|
|
32
|
+
expect(await store.getAccessToken()).toBe('persisted-access')
|
|
33
|
+
expect(await store.getRefreshToken()).toBe('persisted-refresh')
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
it('returns null when AsyncStorage is empty', async () => {
|
|
37
|
+
mockAsyncStorage.getItem.mockResolvedValue(null)
|
|
38
|
+
const store = new TokenStoreAsyncStorage()
|
|
39
|
+
expect(await store.getAccessToken()).toBeNull()
|
|
40
|
+
expect(await store.getRefreshToken()).toBeNull()
|
|
41
|
+
expect(await store.getAccessTokenExpiry()).toBeNull()
|
|
42
|
+
expect(await store.getRefreshTokenExpiry()).toBeNull()
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
it('setTokens writes tokens to AsyncStorage', async () => {
|
|
46
|
+
mockAsyncStorage.setItem.mockResolvedValue(undefined)
|
|
47
|
+
mockAsyncStorage.removeItem.mockResolvedValue(undefined)
|
|
48
|
+
const store = new TokenStoreAsyncStorage()
|
|
49
|
+
await store.setTokens('at', 'rt')
|
|
50
|
+
expect(mockAsyncStorage.setItem).toHaveBeenCalledWith(
|
|
51
|
+
'audius_access_token',
|
|
52
|
+
'at'
|
|
53
|
+
)
|
|
54
|
+
expect(mockAsyncStorage.setItem).toHaveBeenCalledWith(
|
|
55
|
+
'audius_refresh_token',
|
|
56
|
+
'rt'
|
|
57
|
+
)
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
it('setTokens writes expiry keys when provided', async () => {
|
|
61
|
+
mockAsyncStorage.setItem.mockResolvedValue(undefined)
|
|
62
|
+
mockAsyncStorage.removeItem.mockResolvedValue(undefined)
|
|
63
|
+
const store = new TokenStoreAsyncStorage()
|
|
64
|
+
await store.setTokens('at', 'rt', 3600, 2592000)
|
|
65
|
+
expect(mockAsyncStorage.setItem).toHaveBeenCalledWith(
|
|
66
|
+
'audius_access_token_expiry',
|
|
67
|
+
expect.any(String)
|
|
68
|
+
)
|
|
69
|
+
expect(mockAsyncStorage.setItem).toHaveBeenCalledWith(
|
|
70
|
+
'audius_refresh_token_expiry',
|
|
71
|
+
expect.any(String)
|
|
72
|
+
)
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
it('setTokens removes expiry keys when not provided', async () => {
|
|
76
|
+
mockAsyncStorage.setItem.mockResolvedValue(undefined)
|
|
77
|
+
mockAsyncStorage.removeItem.mockResolvedValue(undefined)
|
|
78
|
+
const store = new TokenStoreAsyncStorage()
|
|
79
|
+
await store.setTokens('at', 'rt')
|
|
80
|
+
expect(mockAsyncStorage.removeItem).toHaveBeenCalledWith(
|
|
81
|
+
'audius_access_token_expiry'
|
|
82
|
+
)
|
|
83
|
+
expect(mockAsyncStorage.removeItem).toHaveBeenCalledWith(
|
|
84
|
+
'audius_refresh_token_expiry'
|
|
85
|
+
)
|
|
86
|
+
})
|
|
87
|
+
|
|
88
|
+
it('reads persisted expiry from AsyncStorage', async () => {
|
|
89
|
+
const futureMs = String(Date.now() + 3600000)
|
|
90
|
+
mockAsyncStorage.getItem.mockImplementation(async (key: string) => {
|
|
91
|
+
if (key === 'audius_access_token_expiry') return futureMs
|
|
92
|
+
if (key === 'audius_refresh_token_expiry') return futureMs
|
|
93
|
+
return null
|
|
94
|
+
})
|
|
95
|
+
const store = new TokenStoreAsyncStorage()
|
|
96
|
+
expect(await store.getAccessTokenExpiry()).toBe(Number(futureMs))
|
|
97
|
+
expect(await store.getRefreshTokenExpiry()).toBe(Number(futureMs))
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
it('returns null for non-numeric expiry values (NaN safety)', async () => {
|
|
101
|
+
mockAsyncStorage.getItem.mockImplementation(async (key: string) => {
|
|
102
|
+
if (key === 'audius_access_token_expiry') return 'corrupted-value'
|
|
103
|
+
if (key === 'audius_refresh_token_expiry') return 'not-a-number'
|
|
104
|
+
return null
|
|
105
|
+
})
|
|
106
|
+
const store = new TokenStoreAsyncStorage()
|
|
107
|
+
expect(await store.getAccessTokenExpiry()).toBeNull()
|
|
108
|
+
expect(await store.getRefreshTokenExpiry()).toBeNull()
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
it('clear removes all keys from AsyncStorage', async () => {
|
|
112
|
+
mockAsyncStorage.setItem.mockResolvedValue(undefined)
|
|
113
|
+
mockAsyncStorage.removeItem.mockResolvedValue(undefined)
|
|
114
|
+
const store = new TokenStoreAsyncStorage()
|
|
115
|
+
await store.setTokens('at', 'rt')
|
|
116
|
+
await store.clear()
|
|
117
|
+
expect(mockAsyncStorage.removeItem).toHaveBeenCalledWith(
|
|
118
|
+
'audius_access_token'
|
|
119
|
+
)
|
|
120
|
+
expect(mockAsyncStorage.removeItem).toHaveBeenCalledWith(
|
|
121
|
+
'audius_refresh_token'
|
|
122
|
+
)
|
|
123
|
+
expect(mockAsyncStorage.removeItem).toHaveBeenCalledWith(
|
|
124
|
+
'audius_access_token_expiry'
|
|
125
|
+
)
|
|
126
|
+
expect(mockAsyncStorage.removeItem).toHaveBeenCalledWith(
|
|
127
|
+
'audius_refresh_token_expiry'
|
|
128
|
+
)
|
|
129
|
+
})
|
|
130
|
+
})
|