@copytrade/unified-broker
Version:
Unified broker interface library for Indian stock market brokers with plugin architecture
52 lines • 1.71 kB
JavaScript
;
/**
* Unified Broker Response Interface
* Standardizes all broker module responses to eliminate broker-specific logic in unified flow
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.UnifiedResponseHelper = void 0;
/**
* Helper functions for creating standardized responses
*/
class UnifiedResponseHelper {
static createSuccessResponse(message, accountStatus, authStep, accountInfo, tokenInfo, additionalData) {
return {
success: true,
message,
accountStatus,
authenticationStep: authStep,
accountInfo,
tokenInfo,
data: additionalData
};
}
static createErrorResponse(message, errorType, accountStatus = 'INACTIVE', authStep = 'REAUTH_REQUIRED') {
return {
success: false,
message,
errorType,
accountStatus,
authenticationStep: authStep
};
}
static createOAuthResponse(authUrl, message = 'OAuth authentication required') {
return {
success: false, // OAuth requires user action
message,
accountStatus: 'PROCEED_TO_OAUTH',
authenticationStep: 'OAUTH_REQUIRED',
authUrl,
requiresAuthCode: true
};
}
static createTokenExpiredResponse(canRefresh, message = 'Token has expired') {
return {
isValid: false,
accountStatus: canRefresh ? 'REFRESH_REQUIRED' : 'INACTIVE',
message,
errorType: 'TOKEN_EXPIRED'
};
}
}
exports.UnifiedResponseHelper = UnifiedResponseHelper;
//# sourceMappingURL=UnifiedBrokerResponse.js.map