echofi-client
Version:
A TypeScript/Node.js client library for EchoFi services with Level 3 Ultimate API and gRPC-Web clients for music streaming, user management, activity tracking, and authentication.
422 lines • 19.4 kB
TypeScript
/**
* Auto-Generated Unified gRPC-Web Client for EchoFi
* This client provides access to all backend services with proper TypeScript support
*
* Generated automatically from proto files - do not edit manually
* To regenerate: npm run generate-client
*/
import * as grpcWeb from 'grpc-web';
import * as activityListening_history from './activity/listening_history_pb';
import * as activityListening_session from './activity/listening_session_pb';
import * as activityPlaylist from './activity/playlist_pb';
import * as activityRate_param from './activity/rate_param_pb';
import * as activityService from './activity/service_pb';
import * as activityUser_favorite from './activity/user_favorite_pb';
import * as activityUser_point_rate from './activity/user_point_rate_pb';
import * as activityUser_points from './activity/user_points_pb';
import * as authAccount from './auth/account_pb';
import * as authService from './auth/service_pb';
import * as authSession from './auth/session_pb';
import * as authVerification_token from './auth/verification_token_pb';
import * as musicAlbum from './music/album_pb';
import * as musicArtist from './music/artist_pb';
import * as musicGenre from './music/genre_pb';
import * as musicService from './music/service_pb';
import * as musicTrack from './music/track_pb';
import * as statsPoint_boost from './stats/point_boost_pb';
import * as statsService from './stats/service_pb';
import * as statsUser_statistics from './stats/user_statistics_pb';
import * as userService from './user/service_pb';
import * as userUser from './user/user_pb';
export interface EchoFiGrpcWebClientConfig {
host?: string;
port?: number;
secure?: boolean;
credentials?: {
[index: string]: string;
};
options?: {
[index: string]: any;
};
}
export declare const Messages: {
Activity: {
Listening_history: typeof activityListening_history;
Listening_session: typeof activityListening_session;
Playlist: typeof activityPlaylist;
Rate_param: typeof activityRate_param;
Service: typeof activityService;
User_favorite: typeof activityUser_favorite;
User_point_rate: typeof activityUser_point_rate;
User_points: typeof activityUser_points;
};
Auth: {
Account: typeof authAccount;
Service: typeof authService;
Session: typeof authSession;
Verification_token: typeof authVerification_token;
};
Music: {
Album: typeof musicAlbum;
Artist: typeof musicArtist;
Genre: typeof musicGenre;
Service: typeof musicService;
Track: typeof musicTrack;
};
Stats: {
Point_boost: typeof statsPoint_boost;
Service: typeof statsService;
User_statistics: typeof statsUser_statistics;
};
User: {
Service: typeof userService;
User: typeof userUser;
};
};
/**
* Unified EchoFi gRPC-Web Client
* Provides access to all backend services with proper protobuf serialization
*/
export declare class EchoFiGrpcWebClient {
private readonly config;
private readonly hostname;
private readonly _activityClient;
private readonly _authClient;
private readonly _musicClient;
private readonly _statsClient;
private readonly _userClient;
constructor(config?: EchoFiGrpcWebClientConfig);
/**
* Initialize the client (for compatibility with existing code)
*/
initialize(): Promise<void>;
/**
* Check if the client is connected (always true for gRPC-Web)
*/
isConnected(): boolean;
/**
* Get the hostname being used
*/
getHostname(): string;
/**
* Create metadata for authenticated requests
*/
createAuthMetadata(sessionToken: string): grpcWeb.Metadata;
/**
* Create metadata with proper CORS headers
*/
createCorsMetadata(additionalHeaders?: grpcWeb.Metadata): grpcWeb.Metadata;
/**
* GetListeningHistory - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetListeningHistoryRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getListeningHistory(requestOrData: activityService.GetListeningHistoryRequest | {
historyId: number;
}, metadata?: grpcWeb.Metadata): Promise<activityService.GetListeningHistoryResponse>;
/**
* ListListeningHistory - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListListeningHistoryRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listListeningHistory(requestOrData?: activityService.ListListeningHistoryRequest | {
offset?: number;
limit?: number;
userId?: string;
trackId?: number;
}, metadata?: grpcWeb.Metadata): Promise<activityService.ListListeningHistoryResponse>;
/**
* GetUserFavorite - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetUserFavoriteRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getUserFavorite(requestOrData: activityService.GetUserFavoriteRequest | {
favoriteId: number;
}, metadata?: grpcWeb.Metadata): Promise<activityService.GetUserFavoriteResponse>;
/**
* ListUserFavorites - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListUserFavoritesRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listUserFavorites(requestOrData?: activityService.ListUserFavoritesRequest | {
offset?: number;
limit?: number;
userId?: string;
}, metadata?: grpcWeb.Metadata): Promise<activityService.ListUserFavoritesResponse>;
/**
* GetPlaylist - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetPlaylistRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getPlaylist(requestOrData: activityService.GetPlaylistRequest | {
playlistId: number;
}, metadata?: grpcWeb.Metadata): Promise<activityService.GetPlaylistResponse>;
/**
* ListPlaylists - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListPlaylistsRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listPlaylists(requestOrData?: activityService.ListPlaylistsRequest | {
offset?: number;
limit?: number;
createdBy?: string;
isPublic?: boolean;
}, metadata?: grpcWeb.Metadata): Promise<activityService.ListPlaylistsResponse>;
/**
* ListPlaylistTracks - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListPlaylistTracksRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listPlaylistTracks(requestOrData: activityService.ListPlaylistTracksRequest | {
playlistId: number;
offset?: number;
limit?: number;
}, metadata?: grpcWeb.Metadata): Promise<activityService.ListPlaylistTracksResponse>;
/**
* GetUserPointRate - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetUserPointRateRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getUserPointRate(requestOrData: activityService.GetUserPointRateRequest | {
userId: string;
}, metadata?: grpcWeb.Metadata): Promise<activityService.GetUserPointRateResponse>;
/**
* ListUserPointRates - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListUserPointRatesRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listUserPointRates(requestOrData?: activityService.ListUserPointRatesRequest | {
offset?: number;
limit?: number;
}, metadata?: grpcWeb.Metadata): Promise<activityService.ListUserPointRatesResponse>;
/**
* UpdateUserPointRate - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a UpdateUserPointRateRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
updateUserPointRate(requestOrData: activityService.UpdateUserPointRateRequest | {
userId: string;
}, metadata?: grpcWeb.Metadata): Promise<activityService.UpdateUserPointRateResponse>;
/**
* GetRateParam - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetRateParamRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getRateParam(requestOrData: activityService.GetRateParamRequest | {
paramId: number;
}, metadata?: grpcWeb.Metadata): Promise<activityService.GetRateParamResponse>;
/**
* ListRateParams - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListRateParamsRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listRateParams(requestOrData?: activityService.ListRateParamsRequest | {
offset?: number;
limit?: number;
isActive?: boolean;
}, metadata?: grpcWeb.Metadata): Promise<activityService.ListRateParamsResponse>;
/**
* GetListeningSession - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetListeningSessionRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getListeningSession(requestOrData: activityService.GetListeningSessionRequest | {
id: string;
}, metadata?: grpcWeb.Metadata): Promise<activityService.GetListeningSessionResponse>;
/**
* ListListeningSessions - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListListeningSessionsRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listListeningSessions(requestOrData?: activityService.ListListeningSessionsRequest | {
offset?: number;
limit?: number;
userId?: string;
status?: string;
}, metadata?: grpcWeb.Metadata): Promise<activityService.ListListeningSessionsResponse>;
/**
* GetUserPoints - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetUserPointsRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getUserPoints(requestOrData: activityService.GetUserPointsRequest | {
userId: string;
}, metadata?: grpcWeb.Metadata): Promise<activityService.GetUserPointsResponse>;
/**
* ListUserPoints - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListUserPointsRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listUserPoints(requestOrData?: activityService.ListUserPointsRequest | {
offset?: number;
limit?: number;
status?: string;
}, metadata?: grpcWeb.Metadata): Promise<activityService.ListUserPointsResponse>;
/**
* GetUnprocessedListeningRecords - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetUnprocessedListeningRecordsRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getUnprocessedListeningRecords(requestOrData?: activityService.GetUnprocessedListeningRecordsRequest | {
offset?: number;
limit?: number;
}, metadata?: grpcWeb.Metadata): Promise<activityService.GetUnprocessedListeningRecordsResponse>;
/**
* GetUnprocessedListeningDuration - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetUnprocessedListeningDurationRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getUnprocessedListeningDuration(requestOrData?: activityService.GetUnprocessedListeningDurationRequest | {}, metadata?: grpcWeb.Metadata): Promise<activityService.GetUnprocessedListeningDurationResponse>;
/**
* GetSession - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetSessionRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getSession(requestOrData: authService.GetSessionRequest | {
sessionToken: string;
}, metadata?: grpcWeb.Metadata): Promise<authService.GetSessionResponse>;
/**
* CreateSession - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a CreateSessionRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
createSession(requestOrData: authService.CreateSessionRequest | {
session: any;
}, metadata?: grpcWeb.Metadata): Promise<authService.CreateSessionResponse>;
/**
* DeleteSession - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a DeleteSessionRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
deleteSession(requestOrData: authService.DeleteSessionRequest | {
sessionToken: string;
}, metadata?: grpcWeb.Metadata): Promise<authService.DeleteSessionResponse>;
/**
* GetArtist - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetArtistRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getArtist(requestOrData: musicService.GetArtistRequest | {
artistId: number;
}, metadata?: grpcWeb.Metadata): Promise<musicService.GetArtistResponse>;
/**
* ListArtists - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListArtistsRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listArtists(requestOrData?: musicService.ListArtistsRequest | {
offset?: number;
limit?: number;
}, metadata?: grpcWeb.Metadata): Promise<musicService.ListArtistsResponse>;
/**
* GetAlbum - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetAlbumRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getAlbum(requestOrData: musicService.GetAlbumRequest | {
albumId: number;
}, metadata?: grpcWeb.Metadata): Promise<musicService.GetAlbumResponse>;
/**
* ListAlbums - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListAlbumsRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listAlbums(requestOrData?: musicService.ListAlbumsRequest | {
offset?: number;
limit?: number;
artistId?: number;
}, metadata?: grpcWeb.Metadata): Promise<musicService.ListAlbumsResponse>;
/**
* GetTrack - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetTrackRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getTrack(requestOrData: musicService.GetTrackRequest | {
trackId: number;
}, metadata?: grpcWeb.Metadata): Promise<musicService.GetTrackResponse>;
/**
* ListTracks - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListTracksRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listTracks(requestOrData?: musicService.ListTracksRequest | {
offset?: number;
limit?: number;
artistId?: number;
albumId?: number;
genreId?: number;
}, metadata?: grpcWeb.Metadata): Promise<musicService.ListTracksResponse>;
/**
* GetGenre - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetGenreRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getGenre(requestOrData: musicService.GetGenreRequest | {
genreId: number;
}, metadata?: grpcWeb.Metadata): Promise<musicService.GetGenreResponse>;
/**
* ListGenres - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListGenresRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listGenres(requestOrData?: musicService.ListGenresRequest | {
offset?: number;
limit?: number;
}, metadata?: grpcWeb.Metadata): Promise<musicService.ListGenresResponse>;
/**
* GetUserStatistics - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetUserStatisticsRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getUserStatistics(requestOrData: statsService.GetUserStatisticsRequest | {
userId: string;
}, metadata?: grpcWeb.Metadata): Promise<statsService.GetUserStatisticsResponse>;
/**
* ListUserStatistics - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListUserStatisticsRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listUserStatistics(requestOrData?: statsService.ListUserStatisticsRequest | {
offset?: number;
limit?: number;
}, metadata?: grpcWeb.Metadata): Promise<statsService.ListUserStatisticsResponse>;
/**
* GetPointBoost - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetPointBoostRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getPointBoost(requestOrData: statsService.GetPointBoostRequest | {
boostId: number;
}, metadata?: grpcWeb.Metadata): Promise<statsService.GetPointBoostResponse>;
/**
* ListPointBoosts - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListPointBoostsRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listPointBoosts(requestOrData?: statsService.ListPointBoostsRequest | {
offset?: number;
limit?: number;
userId?: string;
isActive?: boolean;
}, metadata?: grpcWeb.Metadata): Promise<statsService.ListPointBoostsResponse>;
/**
* GetUser - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a GetUserRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
getUser(requestOrData: userService.GetUserRequest | {
id: string;
}, metadata?: grpcWeb.Metadata): Promise<userService.GetUserResponse>;
/**
* ListUsers - Enhanced method that accepts both request objects and JSON
* @param requestOrData - Either a ListUsersRequest object or JSON data
* @param metadata - Optional gRPC metadata
*/
listUsers(requestOrData?: userService.ListUsersRequest | {
offset?: number;
limit?: number;
}, metadata?: grpcWeb.Metadata): Promise<userService.ListUsersResponse>;
}
export declare function createEchoFiGrpcWebClient(config?: EchoFiGrpcWebClientConfig): EchoFiGrpcWebClient;
export default EchoFiGrpcWebClient;
//# sourceMappingURL=unified-client.d.ts.map