- Positive Pay on the 12 Oct /pps contract (account number, not account ID): OTP enrollment, cheque submit, saved cheques, detail and stop payment. Full flow passed on the phone against mobile-banking-backend.lincpay. - Statement & Mini Statement guide v1.0 (14 Oct): mini statement JSON on Home and the Statement screen; dated PDF export with the password rule. - Onboarding slides and splash screen, Inter font, shared Icon and TypewriterText components, nearby branches via OpenStreetMap. - Every feature switched on; the 14 Oct switch set is kept in featureConfig.stage-2026-10-14.ts. Loans run on demo data until the backend has /loans routes. - npm run android wraps run-android for shells spawned from VS Code. - OpenProject work packages updated to 14-10-2026 status, with screenshots of Positive Pay, statement, loans and cards. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 lines
768 B
TypeScript
26 lines
768 B
TypeScript
import axios from 'axios';
|
|
|
|
import { env } from '../../config/env';
|
|
import { attachInterceptors } from './interceptors';
|
|
|
|
/**
|
|
* Single client for the CBS backend. The response interceptor unwraps the
|
|
* `{ success, message, data }` envelope, so callers read `response.data` as the
|
|
* endpoint payload and a `success: false` body arrives as a thrown
|
|
* `CbsApiError` carrying the code to switch on.
|
|
*/
|
|
export const apiClient = axios.create({
|
|
baseURL: env.apiBaseUrl,
|
|
timeout: 15000,
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
});
|
|
|
|
attachInterceptors(apiClient);
|
|
|
|
if (__DEV__ && env.devMockBackend) {
|
|
// Required lazily so a release bundle never evaluates the fixtures.
|
|
apiClient.defaults.adapter = require('./devMockAdapter').devMockAdapter;
|
|
}
|