Skip to content

Commit d019fe0

Browse files
refactor: Add Type interfaces for identity api client (#945)
1 parent 957749b commit d019fe0

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

src/aliasRequestApiClient.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { MParticleWebSDK } from "./sdkRuntimeModels";
33
import Constants from './constants';
44
import { FetchUploader, XHRUploader } from './uploaders';
55
import { HTTP_ACCEPTED, HTTP_OK } from "./constants";
6+
import { IIdentityApiClientSendAliasRequest } from "./identityApiClient.interfaces";
67

78

89
const { HTTPCodes, Messages } = Constants;
@@ -11,7 +12,7 @@ interface IAliasResponseBody {
1112
message?: string
1213
}
1314

14-
export async function sendAliasRequest (mpInstance: MParticleWebSDK, aliasRequest: IAliasRequest, aliasCallback: IAliasCallback) {
15+
export const sendAliasRequest: IIdentityApiClientSendAliasRequest = async function (mpInstance: MParticleWebSDK, aliasRequest: IAliasRequest, aliasCallback: IAliasCallback): Promise<void> {
1516
const { verbose, error } = mpInstance.Logger;
1617
const { invokeAliasCallback } = mpInstance._Helpers;
1718
const { aliasUrl } = mpInstance._Store.SDKConfig;

src/identityApiClient.interfaces.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import { IdentityApiData, MPID, UserIdentities } from '@mparticle/web-sdk';
2+
import {
3+
IdentityCallback,
4+
IIdentityResponse,
5+
} from './identity-user-interfaces';
6+
import {
7+
IAliasRequest,
8+
IAliasCallback,
9+
IIdentityRequest,
10+
IdentityAPIMethod,
11+
IIdentity,
12+
} from './identity.interfaces';
13+
import { MParticleWebSDK } from './sdkRuntimeModels';
14+
15+
export interface IIdentityApiClient {
16+
sendAliasRequest: (
17+
aliasRequest: IAliasRequest,
18+
aliasCallback: IAliasCallback
19+
) => Promise<void>;
20+
sendIdentityRequest: (
21+
identityApiRequest: IIdentityRequest,
22+
method: IdentityAPIMethod,
23+
callback: IdentityCallback,
24+
originalIdentityApiData: IdentityApiData,
25+
parseIdentityResponse: IIdentity['parseIdentityResponse'],
26+
mpid: MPID,
27+
knownIdentities: UserIdentities
28+
) => Promise<void>;
29+
getUploadUrl: (method: IdentityAPIMethod, mpid: MPID) => string;
30+
getIdentityResponseFromFetch: (
31+
response: Response,
32+
responseBody: string
33+
) => IIdentityResponse;
34+
getIdentityResponseFromXHR: (response: Response) => IIdentityResponse;
35+
}
36+
37+
// https://go.mparticle.com/work/SQDSDKS-6568
38+
// https://go.mparticle.com/work/SQDSDKS-6679
39+
// Combine with `sendIdentityRequest` above once module is fully migrated
40+
export type IIdentityApiClientSendAliasRequest = (
41+
mpInstance: MParticleWebSDK,
42+
aliasRequest: IAliasRequest,
43+
aliasCallback: IAliasCallback
44+
) => Promise<void>;

test/src/tests-aliasRequestApiClient.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { urls, apiKey, MPConfig, testMPID } from './config/constants';
44
import { MParticleWebSDK } from '../../src/sdkRuntimeModels';
55
import { expect } from 'chai';
66
import { sendAliasRequest } from '../../src/aliasRequestApiClient';
7-
import { IAliasCallback, IAliasRequest } from '../../src/identity.interfaces';
7+
import { IAliasRequest } from '../../src/identity.interfaces';
88
import { HTTP_ACCEPTED, HTTP_BAD_REQUEST, HTTP_FORBIDDEN, HTTP_OK } from '../../src/constants';
99

1010
declare global {

0 commit comments

Comments
 (0)