@clix-so/react-native-sdk 0.0.1
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/LICENSE +27 -0
- package/README.md +345 -0
- package/lib/module/core/Clix.js +217 -0
- package/lib/module/core/Clix.js.map +1 -0
- package/lib/module/core/ClixConfig.js +4 -0
- package/lib/module/core/ClixConfig.js.map +1 -0
- package/lib/module/core/ClixInitCoordinator.js +58 -0
- package/lib/module/core/ClixInitCoordinator.js.map +1 -0
- package/lib/module/core/ClixVersion.js +17 -0
- package/lib/module/core/ClixVersion.js.map +1 -0
- package/lib/module/index.js +7 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/models/ClixDevice.js +51 -0
- package/lib/module/models/ClixDevice.js.map +1 -0
- package/lib/module/models/ClixPushNotificationPayload.js +21 -0
- package/lib/module/models/ClixPushNotificationPayload.js.map +1 -0
- package/lib/module/models/ClixUserProperty.js +44 -0
- package/lib/module/models/ClixUserProperty.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/services/ClixAPIClient.js +172 -0
- package/lib/module/services/ClixAPIClient.js.map +1 -0
- package/lib/module/services/DeviceAPIService.js +112 -0
- package/lib/module/services/DeviceAPIService.js.map +1 -0
- package/lib/module/services/DeviceService.js +157 -0
- package/lib/module/services/DeviceService.js.map +1 -0
- package/lib/module/services/EventAPIService.js +36 -0
- package/lib/module/services/EventAPIService.js.map +1 -0
- package/lib/module/services/EventService.js +29 -0
- package/lib/module/services/EventService.js.map +1 -0
- package/lib/module/services/NotificationService.js +549 -0
- package/lib/module/services/NotificationService.js.map +1 -0
- package/lib/module/services/StorageService.js +76 -0
- package/lib/module/services/StorageService.js.map +1 -0
- package/lib/module/services/TokenService.js +71 -0
- package/lib/module/services/TokenService.js.map +1 -0
- package/lib/module/utils/ClixError.js +63 -0
- package/lib/module/utils/ClixError.js.map +1 -0
- package/lib/module/utils/UUID.js +28 -0
- package/lib/module/utils/UUID.js.map +1 -0
- package/lib/module/utils/logging/ClixLogger.js +55 -0
- package/lib/module/utils/logging/ClixLogger.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/core/Clix.d.ts +67 -0
- package/lib/typescript/src/core/Clix.d.ts.map +1 -0
- package/lib/typescript/src/core/ClixConfig.d.ts +9 -0
- package/lib/typescript/src/core/ClixConfig.d.ts.map +1 -0
- package/lib/typescript/src/core/ClixInitCoordinator.d.ts +16 -0
- package/lib/typescript/src/core/ClixInitCoordinator.d.ts.map +1 -0
- package/lib/typescript/src/core/ClixVersion.d.ts +6 -0
- package/lib/typescript/src/core/ClixVersion.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +5 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/models/ClixDevice.d.ts +42 -0
- package/lib/typescript/src/models/ClixDevice.d.ts.map +1 -0
- package/lib/typescript/src/models/ClixPushNotificationPayload.d.ts +23 -0
- package/lib/typescript/src/models/ClixPushNotificationPayload.d.ts.map +1 -0
- package/lib/typescript/src/models/ClixUserProperty.d.ts +19 -0
- package/lib/typescript/src/models/ClixUserProperty.d.ts.map +1 -0
- package/lib/typescript/src/services/ClixAPIClient.d.ts +35 -0
- package/lib/typescript/src/services/ClixAPIClient.d.ts.map +1 -0
- package/lib/typescript/src/services/DeviceAPIService.d.ts +13 -0
- package/lib/typescript/src/services/DeviceAPIService.d.ts.map +1 -0
- package/lib/typescript/src/services/DeviceService.d.ts +20 -0
- package/lib/typescript/src/services/DeviceService.d.ts.map +1 -0
- package/lib/typescript/src/services/EventAPIService.d.ts +7 -0
- package/lib/typescript/src/services/EventAPIService.d.ts.map +1 -0
- package/lib/typescript/src/services/EventService.d.ts +9 -0
- package/lib/typescript/src/services/EventService.d.ts.map +1 -0
- package/lib/typescript/src/services/NotificationService.d.ts +56 -0
- package/lib/typescript/src/services/NotificationService.d.ts.map +1 -0
- package/lib/typescript/src/services/StorageService.d.ts +10 -0
- package/lib/typescript/src/services/StorageService.d.ts.map +1 -0
- package/lib/typescript/src/services/TokenService.d.ts +15 -0
- package/lib/typescript/src/services/TokenService.d.ts.map +1 -0
- package/lib/typescript/src/utils/ClixError.d.ts +41 -0
- package/lib/typescript/src/utils/ClixError.d.ts.map +1 -0
- package/lib/typescript/src/utils/UUID.d.ts +14 -0
- package/lib/typescript/src/utils/UUID.d.ts.map +1 -0
- package/lib/typescript/src/utils/logging/ClixLogger.d.ts +18 -0
- package/lib/typescript/src/utils/logging/ClixLogger.d.ts.map +1 -0
- package/package.json +151 -0
- package/src/core/Clix.ts +256 -0
- package/src/core/ClixConfig.ts +9 -0
- package/src/core/ClixInitCoordinator.ts +65 -0
- package/src/core/ClixVersion.ts +17 -0
- package/src/index.ts +5 -0
- package/src/models/ClixDevice.ts +88 -0
- package/src/models/ClixPushNotificationPayload.ts +38 -0
- package/src/models/ClixUserProperty.ts +58 -0
- package/src/services/ClixAPIClient.ts +248 -0
- package/src/services/DeviceAPIService.ts +187 -0
- package/src/services/DeviceService.ts +204 -0
- package/src/services/EventAPIService.ts +48 -0
- package/src/services/EventService.ts +45 -0
- package/src/services/NotificationService.ts +730 -0
- package/src/services/StorageService.ts +84 -0
- package/src/services/TokenService.ts +84 -0
- package/src/utils/ClixError.ts +78 -0
- package/src/utils/UUID.ts +29 -0
- package/src/utils/logging/ClixLogger.ts +61 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ClixVersion","fallBackVersion","getVersion","cachedVersion","require","version","error"],"sourceRoot":"../../../src","sources":["core/ClixVersion.ts"],"mappings":";;AAAA,OAAO,MAAMA,WAAW,CAAC;EAEvB,OAAeC,eAAe,GAAW,OAAO;EAEhD,aAAaC,UAAUA,CAAA,EAAoB;IACzC,IAAI,IAAI,CAACC,aAAa,EAAE;MACtB,OAAO,IAAI,CAACA,aAAa;IAC3B;IACA,IAAI;MACF,IAAI,CAACA,aAAa,GAChBC,OAAO,CAAC,uBAAuB,CAAC,CAACC,OAAO,IAAI,IAAI,CAACJ,eAAe;MAClE,OAAO,IAAI,CAACE,aAAa;IAC3B,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd,OAAO,OAAO;IAChB;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Clix","ClixLogLevel"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,gBAAa;AAClC,SAASC,YAAY,QAAQ,+BAA4B;AAEzD,SAASA,YAAY;AACrB,eAAeD,IAAI","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export class ClixDevice {
|
|
4
|
+
constructor(device) {
|
|
5
|
+
this.id = device.id;
|
|
6
|
+
this.platform = device.platform;
|
|
7
|
+
this.model = device.model;
|
|
8
|
+
this.manufacturer = device.manufacturer;
|
|
9
|
+
this.osName = device.osName;
|
|
10
|
+
this.osVersion = device.osVersion;
|
|
11
|
+
this.localeRegion = device.localeRegion;
|
|
12
|
+
this.localeLanguage = device.localeLanguage;
|
|
13
|
+
this.timezone = device.timezone;
|
|
14
|
+
this.appName = device.appName;
|
|
15
|
+
this.appVersion = device.appVersion;
|
|
16
|
+
this.sdkType = device.sdkType;
|
|
17
|
+
this.sdkVersion = device.sdkVersion;
|
|
18
|
+
this.adId = device.adId;
|
|
19
|
+
this.isPushPermissionGranted = device.isPushPermissionGranted;
|
|
20
|
+
this.pushToken = device.pushToken;
|
|
21
|
+
this.pushTokenType = device.pushTokenType;
|
|
22
|
+
}
|
|
23
|
+
copyWith(updates) {
|
|
24
|
+
return new ClixDevice({
|
|
25
|
+
id: updates.id ?? this.id,
|
|
26
|
+
platform: updates.platform ?? this.platform,
|
|
27
|
+
model: updates.model ?? this.model,
|
|
28
|
+
manufacturer: updates.manufacturer ?? this.manufacturer,
|
|
29
|
+
osName: updates.osName ?? this.osName,
|
|
30
|
+
osVersion: updates.osVersion ?? this.osVersion,
|
|
31
|
+
localeRegion: updates.localeRegion ?? this.localeRegion,
|
|
32
|
+
localeLanguage: updates.localeLanguage ?? this.localeLanguage,
|
|
33
|
+
timezone: updates.timezone ?? this.timezone,
|
|
34
|
+
appName: updates.appName ?? this.appName,
|
|
35
|
+
appVersion: updates.appVersion ?? this.appVersion,
|
|
36
|
+
sdkType: updates.sdkType ?? this.sdkType,
|
|
37
|
+
sdkVersion: updates.sdkVersion ?? this.sdkVersion,
|
|
38
|
+
adId: updates.adId ?? this.adId,
|
|
39
|
+
isPushPermissionGranted: updates.isPushPermissionGranted ?? this.isPushPermissionGranted,
|
|
40
|
+
pushToken: updates.pushToken ?? this.pushToken,
|
|
41
|
+
pushTokenType: updates.pushTokenType ?? this.pushTokenType
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
equals(other) {
|
|
45
|
+
return this.id === other.id;
|
|
46
|
+
}
|
|
47
|
+
toString() {
|
|
48
|
+
return `ClixDevice(id: ${this.id}, platform: ${this.platform}, model: ${this.model})`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=ClixDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ClixDevice","constructor","device","id","platform","model","manufacturer","osName","osVersion","localeRegion","localeLanguage","timezone","appName","appVersion","sdkType","sdkVersion","adId","isPushPermissionGranted","pushToken","pushTokenType","copyWith","updates","equals","other","toString"],"sourceRoot":"../../../src","sources":["models/ClixDevice.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export class ClixPushNotificationPayload {
|
|
4
|
+
constructor(payload) {
|
|
5
|
+
this.messageId = payload.messageId;
|
|
6
|
+
this.campaignId = payload.campaignId;
|
|
7
|
+
this.userId = payload.userId;
|
|
8
|
+
this.deviceId = payload.deviceId;
|
|
9
|
+
this.trackingId = payload.trackingId;
|
|
10
|
+
this.landingUrl = payload.landingUrl;
|
|
11
|
+
this.imageUrl = payload.imageUrl;
|
|
12
|
+
this.customProperties = payload.customProperties;
|
|
13
|
+
}
|
|
14
|
+
equals(other) {
|
|
15
|
+
return this.messageId === other.messageId;
|
|
16
|
+
}
|
|
17
|
+
toString() {
|
|
18
|
+
return `ClixPushNotificationPayload(messageId: ${this.messageId}, campaignId: ${this.campaignId})`;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=ClixPushNotificationPayload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ClixPushNotificationPayload","constructor","payload","messageId","campaignId","userId","deviceId","trackingId","landingUrl","imageUrl","customProperties","equals","other","toString"],"sourceRoot":"../../../src","sources":["models/ClixPushNotificationPayload.ts"],"mappings":";;AAAA,OAAO,MAAMA,2BAA2B,CAAC;EAUvCC,WAAWA,CAACC,OASX,EAAE;IACD,IAAI,CAACC,SAAS,GAAGD,OAAO,CAACC,SAAS;IAClC,IAAI,CAACC,UAAU,GAAGF,OAAO,CAACE,UAAU;IACpC,IAAI,CAACC,MAAM,GAAGH,OAAO,CAACG,MAAM;IAC5B,IAAI,CAACC,QAAQ,GAAGJ,OAAO,CAACI,QAAQ;IAChC,IAAI,CAACC,UAAU,GAAGL,OAAO,CAACK,UAAU;IACpC,IAAI,CAACC,UAAU,GAAGN,OAAO,CAACM,UAAU;IACpC,IAAI,CAACC,QAAQ,GAAGP,OAAO,CAACO,QAAQ;IAChC,IAAI,CAACC,gBAAgB,GAAGR,OAAO,CAACQ,gBAAgB;EAClD;EAEAC,MAAMA,CAACC,KAAkC,EAAW;IAClD,OAAO,IAAI,CAACT,SAAS,KAAKS,KAAK,CAACT,SAAS;EAC3C;EAEAU,QAAQA,CAAA,EAAW;IACjB,OAAO,0CAA0C,IAAI,CAACV,SAAS,iBAAiB,IAAI,CAACC,UAAU,GAAG;EACpG;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export let PropertyType = /*#__PURE__*/function (PropertyType) {
|
|
4
|
+
PropertyType["String"] = "USER_PROPERTY_TYPE_STRING";
|
|
5
|
+
PropertyType["Number"] = "USER_PROPERTY_TYPE_NUMBER";
|
|
6
|
+
PropertyType["Boolean"] = "USER_PROPERTY_TYPE_BOOLEAN";
|
|
7
|
+
return PropertyType;
|
|
8
|
+
}({});
|
|
9
|
+
export class ClixUserProperty {
|
|
10
|
+
constructor(property) {
|
|
11
|
+
this.name = property.name;
|
|
12
|
+
this.valueString = property.valueString;
|
|
13
|
+
this.type = property.type;
|
|
14
|
+
}
|
|
15
|
+
static of(name, value) {
|
|
16
|
+
let type;
|
|
17
|
+
let codableValue;
|
|
18
|
+
if (typeof value === 'boolean') {
|
|
19
|
+
type = PropertyType.Boolean;
|
|
20
|
+
codableValue = value;
|
|
21
|
+
} else if (typeof value === 'number') {
|
|
22
|
+
type = PropertyType.Number;
|
|
23
|
+
codableValue = value;
|
|
24
|
+
} else if (typeof value === 'string') {
|
|
25
|
+
type = PropertyType.String;
|
|
26
|
+
codableValue = value;
|
|
27
|
+
} else {
|
|
28
|
+
type = PropertyType.String;
|
|
29
|
+
codableValue = value.toString();
|
|
30
|
+
}
|
|
31
|
+
return new ClixUserProperty({
|
|
32
|
+
name,
|
|
33
|
+
valueString: codableValue,
|
|
34
|
+
type
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
equals(other) {
|
|
38
|
+
return this.name === other.name && this.valueString === other.valueString && this.type === other.type;
|
|
39
|
+
}
|
|
40
|
+
toString() {
|
|
41
|
+
return `ClixUserProperty(name: ${this.name}, value: ${this.valueString}, type: ${this.type})`;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=ClixUserProperty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PropertyType","ClixUserProperty","constructor","property","name","valueString","type","of","value","codableValue","Boolean","Number","String","toString","equals","other"],"sourceRoot":"../../../src","sources":["models/ClixUserProperty.ts"],"mappings":";;AAAA,WAAYA,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAMxB,OAAO,MAAMC,gBAAgB,CAAC;EAK5BC,WAAWA,CAACC,QAIX,EAAE;IACD,IAAI,CAACC,IAAI,GAAGD,QAAQ,CAACC,IAAI;IACzB,IAAI,CAACC,WAAW,GAAGF,QAAQ,CAACE,WAAW;IACvC,IAAI,CAACC,IAAI,GAAGH,QAAQ,CAACG,IAAI;EAC3B;EAEA,OAAOC,EAAEA,CAACH,IAAY,EAAEI,KAAU,EAAoB;IACpD,IAAIF,IAAkB;IACtB,IAAIG,YAAiB;IAErB,IAAI,OAAOD,KAAK,KAAK,SAAS,EAAE;MAC9BF,IAAI,GAAGN,YAAY,CAACU,OAAO;MAC3BD,YAAY,GAAGD,KAAK;IACtB,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACpCF,IAAI,GAAGN,YAAY,CAACW,MAAM;MAC1BF,YAAY,GAAGD,KAAK;IACtB,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACpCF,IAAI,GAAGN,YAAY,CAACY,MAAM;MAC1BH,YAAY,GAAGD,KAAK;IACtB,CAAC,MAAM;MACLF,IAAI,GAAGN,YAAY,CAACY,MAAM;MAC1BH,YAAY,GAAGD,KAAK,CAACK,QAAQ,CAAC,CAAC;IACjC;IAEA,OAAO,IAAIZ,gBAAgB,CAAC;MAC1BG,IAAI;MACJC,WAAW,EAAEI,YAAY;MACzBH;IACF,CAAC,CAAC;EACJ;EAEAQ,MAAMA,CAACC,KAAuB,EAAW;IACvC,OACE,IAAI,CAACX,IAAI,KAAKW,KAAK,CAACX,IAAI,IACxB,IAAI,CAACC,WAAW,KAAKU,KAAK,CAACV,WAAW,IACtC,IAAI,CAACC,IAAI,KAAKS,KAAK,CAACT,IAAI;EAE5B;EAEAO,QAAQA,CAAA,EAAW;IACjB,OAAO,0BAA0B,IAAI,CAACT,IAAI,YAAY,IAAI,CAACC,WAAW,WAAW,IAAI,CAACC,IAAI,GAAG;EAC/F;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { ClixVersion } from "../core/ClixVersion.js";
|
|
4
|
+
import { ClixLogger } from "../utils/logging/ClixLogger.js";
|
|
5
|
+
export class ClixAPIClient {
|
|
6
|
+
static API_BASE_PATH = '/api/v1';
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
}
|
|
10
|
+
async getCommonHeaders() {
|
|
11
|
+
const version = await ClixVersion.getVersion();
|
|
12
|
+
const headers = {
|
|
13
|
+
'Content-Type': 'application/json',
|
|
14
|
+
'X-Clix-Project-ID': this.config.projectId,
|
|
15
|
+
'X-Clix-API-Key': this.config.apiKey,
|
|
16
|
+
'User-Agent': `clix-react-native-sdk/${version}`
|
|
17
|
+
};
|
|
18
|
+
if (this.config.extraHeaders) {
|
|
19
|
+
Object.assign(headers, this.config.extraHeaders);
|
|
20
|
+
}
|
|
21
|
+
return headers;
|
|
22
|
+
}
|
|
23
|
+
buildUrl(path) {
|
|
24
|
+
const endpoint = this.config.endpoint || 'https://api.clix.so';
|
|
25
|
+
const baseUrl = endpoint.endsWith('/') ? endpoint.slice(0, -1) : endpoint;
|
|
26
|
+
const fullPath = path.startsWith('/') ? path : `/${path}`;
|
|
27
|
+
return `${baseUrl}${ClixAPIClient.API_BASE_PATH}${fullPath}`;
|
|
28
|
+
}
|
|
29
|
+
buildUrlWithQuery(path, queryParameters) {
|
|
30
|
+
const url = this.buildUrl(path);
|
|
31
|
+
if (queryParameters && Object.keys(queryParameters).length > 0) {
|
|
32
|
+
const searchParams = new URLSearchParams();
|
|
33
|
+
Object.entries(queryParameters).forEach(([key, value]) => {
|
|
34
|
+
if (value !== null && value !== undefined) {
|
|
35
|
+
searchParams.append(key, String(value));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return `${url}?${searchParams.toString()}`;
|
|
39
|
+
}
|
|
40
|
+
return url;
|
|
41
|
+
}
|
|
42
|
+
async get(path, options) {
|
|
43
|
+
const url = this.buildUrlWithQuery(path, options?.queryParameters);
|
|
44
|
+
const commonHeaders = await this.getCommonHeaders();
|
|
45
|
+
const requestHeaders = {
|
|
46
|
+
...commonHeaders,
|
|
47
|
+
...options?.headers
|
|
48
|
+
};
|
|
49
|
+
ClixLogger.debug(`API GET ${path}`);
|
|
50
|
+
ClixLogger.debug(`Making request to: ${url}`);
|
|
51
|
+
try {
|
|
52
|
+
const response = await fetch(url, {
|
|
53
|
+
method: 'GET',
|
|
54
|
+
headers: requestHeaders
|
|
55
|
+
});
|
|
56
|
+
const data = await this.parseResponse(response);
|
|
57
|
+
ClixLogger.debug(`Response Status: ${response.status}`);
|
|
58
|
+
ClixLogger.debug(`Response Body: ${JSON.stringify(data)}`);
|
|
59
|
+
return {
|
|
60
|
+
status: response.status,
|
|
61
|
+
data,
|
|
62
|
+
headers: this.headersToRecord(response.headers)
|
|
63
|
+
};
|
|
64
|
+
} catch (error) {
|
|
65
|
+
ClixLogger.error(`GET ${path} failed`, error);
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async post(path, options) {
|
|
70
|
+
const url = this.buildUrlWithQuery(path, options?.queryParameters);
|
|
71
|
+
const commonHeaders = await this.getCommonHeaders();
|
|
72
|
+
const requestHeaders = {
|
|
73
|
+
...commonHeaders,
|
|
74
|
+
...options?.headers
|
|
75
|
+
};
|
|
76
|
+
ClixLogger.debug(`API POST ${path}`);
|
|
77
|
+
if (options?.body) {
|
|
78
|
+
ClixLogger.debug(`Request Body: ${JSON.stringify(options.body)}`);
|
|
79
|
+
}
|
|
80
|
+
if (options?.queryParameters && Object.keys(options.queryParameters).length > 0) {
|
|
81
|
+
ClixLogger.debug(`Query Parameters: ${JSON.stringify(options.queryParameters)}`);
|
|
82
|
+
}
|
|
83
|
+
const body = options?.body ? JSON.stringify(options.body) : undefined;
|
|
84
|
+
try {
|
|
85
|
+
const response = await fetch(url, {
|
|
86
|
+
method: 'POST',
|
|
87
|
+
headers: requestHeaders,
|
|
88
|
+
body
|
|
89
|
+
});
|
|
90
|
+
const data = await this.parseResponse(response);
|
|
91
|
+
ClixLogger.debug(`Response Status: ${response.status}`);
|
|
92
|
+
ClixLogger.debug(`Response Body: ${JSON.stringify(data)}`);
|
|
93
|
+
return {
|
|
94
|
+
status: response.status,
|
|
95
|
+
data,
|
|
96
|
+
headers: this.headersToRecord(response.headers)
|
|
97
|
+
};
|
|
98
|
+
} catch (error) {
|
|
99
|
+
ClixLogger.error(`POST ${path} failed`, error);
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async put(path, options) {
|
|
104
|
+
const url = this.buildUrlWithQuery(path, options?.queryParameters);
|
|
105
|
+
const commonHeaders = await this.getCommonHeaders();
|
|
106
|
+
const requestHeaders = {
|
|
107
|
+
...commonHeaders,
|
|
108
|
+
...options?.headers
|
|
109
|
+
};
|
|
110
|
+
ClixLogger.debug(`API PUT ${path}`);
|
|
111
|
+
const body = options?.body ? JSON.stringify(options.body) : undefined;
|
|
112
|
+
try {
|
|
113
|
+
const response = await fetch(url, {
|
|
114
|
+
method: 'PUT',
|
|
115
|
+
headers: requestHeaders,
|
|
116
|
+
body
|
|
117
|
+
});
|
|
118
|
+
const data = await this.parseResponse(response);
|
|
119
|
+
ClixLogger.debug(`Response Status: ${response.status}`);
|
|
120
|
+
ClixLogger.debug(`Response Body: ${JSON.stringify(data)}`);
|
|
121
|
+
return {
|
|
122
|
+
status: response.status,
|
|
123
|
+
data,
|
|
124
|
+
headers: this.headersToRecord(response.headers)
|
|
125
|
+
};
|
|
126
|
+
} catch (error) {
|
|
127
|
+
ClixLogger.error(`PUT ${path} failed`, error);
|
|
128
|
+
throw error;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async delete(path, options) {
|
|
132
|
+
const url = this.buildUrlWithQuery(path, options?.queryParameters);
|
|
133
|
+
const commonHeaders = await this.getCommonHeaders();
|
|
134
|
+
const requestHeaders = {
|
|
135
|
+
...commonHeaders,
|
|
136
|
+
...options?.headers
|
|
137
|
+
};
|
|
138
|
+
ClixLogger.debug(`API DELETE ${path}`);
|
|
139
|
+
try {
|
|
140
|
+
const response = await fetch(url, {
|
|
141
|
+
method: 'DELETE',
|
|
142
|
+
headers: requestHeaders
|
|
143
|
+
});
|
|
144
|
+
const data = await this.parseResponse(response);
|
|
145
|
+
ClixLogger.debug(`Response Status: ${response.status}`);
|
|
146
|
+
ClixLogger.debug(`Response Body: ${JSON.stringify(data)}`);
|
|
147
|
+
return {
|
|
148
|
+
status: response.status,
|
|
149
|
+
data,
|
|
150
|
+
headers: this.headersToRecord(response.headers)
|
|
151
|
+
};
|
|
152
|
+
} catch (error) {
|
|
153
|
+
ClixLogger.error(`DELETE ${path} failed`, error);
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
async parseResponse(response) {
|
|
158
|
+
const contentType = response.headers.get('content-type');
|
|
159
|
+
if (contentType && contentType.includes('application/json')) {
|
|
160
|
+
return await response.json();
|
|
161
|
+
}
|
|
162
|
+
return await response.text();
|
|
163
|
+
}
|
|
164
|
+
headersToRecord(headers) {
|
|
165
|
+
const record = {};
|
|
166
|
+
headers.forEach((value, key) => {
|
|
167
|
+
record[key] = value;
|
|
168
|
+
});
|
|
169
|
+
return record;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=ClixAPIClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ClixVersion","ClixLogger","ClixAPIClient","API_BASE_PATH","constructor","config","getCommonHeaders","version","getVersion","headers","projectId","apiKey","extraHeaders","Object","assign","buildUrl","path","endpoint","baseUrl","endsWith","slice","fullPath","startsWith","buildUrlWithQuery","queryParameters","url","keys","length","searchParams","URLSearchParams","entries","forEach","key","value","undefined","append","String","toString","get","options","commonHeaders","requestHeaders","debug","response","fetch","method","data","parseResponse","status","JSON","stringify","headersToRecord","error","post","body","put","delete","contentType","includes","json","text","record"],"sourceRoot":"../../../src","sources":["services/ClixAPIClient.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { ClixLogger } from "../utils/logging/ClixLogger.js";
|
|
4
|
+
export class DeviceAPIService {
|
|
5
|
+
constructor(apiClient) {
|
|
6
|
+
this.apiClient = apiClient;
|
|
7
|
+
}
|
|
8
|
+
async registerDevice(device) {
|
|
9
|
+
try {
|
|
10
|
+
ClixLogger.debug(`Upserting device: ${device.id}`);
|
|
11
|
+
const response = await this.apiClient.post('/devices', {
|
|
12
|
+
body: {
|
|
13
|
+
devices: [{
|
|
14
|
+
id: device.id,
|
|
15
|
+
platform: device.platform,
|
|
16
|
+
model: device.model,
|
|
17
|
+
manufacturer: device.manufacturer,
|
|
18
|
+
os_name: device.osName,
|
|
19
|
+
os_version: device.osVersion,
|
|
20
|
+
locale_region: device.localeRegion,
|
|
21
|
+
locale_language: device.localeLanguage,
|
|
22
|
+
timezone: device.timezone,
|
|
23
|
+
app_name: device.appName,
|
|
24
|
+
app_version: device.appVersion,
|
|
25
|
+
sdk_type: device.sdkType,
|
|
26
|
+
sdk_version: device.sdkVersion,
|
|
27
|
+
ad_id: device.adId,
|
|
28
|
+
is_push_permission_granted: device.isPushPermissionGranted,
|
|
29
|
+
push_token: device.pushToken,
|
|
30
|
+
push_token_type: device.pushTokenType
|
|
31
|
+
}]
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
if (response.status < 200 || response.status >= 300) {
|
|
35
|
+
throw new Error(`HTTP ${response.status}: ${JSON.stringify(response.data)}`);
|
|
36
|
+
}
|
|
37
|
+
ClixLogger.debug(`Device upserted successfully: ${device.id}`);
|
|
38
|
+
} catch (error) {
|
|
39
|
+
ClixLogger.error(`Failed to upsert device: ${device.id}`, error);
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async setProjectUserId(deviceId, projectUserId) {
|
|
44
|
+
try {
|
|
45
|
+
ClixLogger.debug(`Setting project user ID for device: ${deviceId}`);
|
|
46
|
+
const response = await this.apiClient.post(`/devices/${deviceId}/user/project-user-id`, {
|
|
47
|
+
body: {
|
|
48
|
+
project_user_id: projectUserId
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
if (response.status < 200 || response.status >= 300) {
|
|
52
|
+
throw new Error(`HTTP ${response.status}: ${JSON.stringify(response.data)}`);
|
|
53
|
+
}
|
|
54
|
+
ClixLogger.debug(`Project user ID set successfully for device: ${deviceId}`);
|
|
55
|
+
} catch (error) {
|
|
56
|
+
ClixLogger.error(`Failed to set project user ID for device: ${deviceId}`, error);
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async removeProjectUserId(deviceId) {
|
|
61
|
+
try {
|
|
62
|
+
ClixLogger.debug(`Removing project user ID for device: ${deviceId}`);
|
|
63
|
+
const response = await this.apiClient.delete(`/devices/${deviceId}/user/project-user-id`);
|
|
64
|
+
if (response.status < 200 || response.status >= 300) {
|
|
65
|
+
throw new Error(`HTTP ${response.status}: ${JSON.stringify(response.data)}`);
|
|
66
|
+
}
|
|
67
|
+
ClixLogger.debug(`Project user ID removed successfully for device: ${deviceId}`);
|
|
68
|
+
} catch (error) {
|
|
69
|
+
ClixLogger.error(`Failed to remove project user ID for device: ${deviceId}`, error);
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async upsertUserProperties(deviceId, properties) {
|
|
74
|
+
try {
|
|
75
|
+
ClixLogger.debug(`Upserting ${properties.length} user properties for device: ${deviceId}`);
|
|
76
|
+
const response = await this.apiClient.post(`/devices/${deviceId}/user/properties`, {
|
|
77
|
+
body: {
|
|
78
|
+
properties: properties.map(p => ({
|
|
79
|
+
name: p.name,
|
|
80
|
+
value_string: p.valueString,
|
|
81
|
+
type: p.type
|
|
82
|
+
}))
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
if (response.status < 200 || response.status >= 300) {
|
|
86
|
+
throw new Error(`HTTP ${response.status}: ${JSON.stringify(response.data)}`);
|
|
87
|
+
}
|
|
88
|
+
ClixLogger.debug(`User properties upserted successfully for device: ${deviceId}`);
|
|
89
|
+
} catch (error) {
|
|
90
|
+
ClixLogger.error(`Failed to upsert user properties for device: ${deviceId}`, error);
|
|
91
|
+
throw error;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
async removeUserProperties(deviceId, propertyNames) {
|
|
95
|
+
try {
|
|
96
|
+
ClixLogger.debug(`Removing ${propertyNames.length} user properties for device: ${deviceId}`);
|
|
97
|
+
const response = await this.apiClient.delete(`/devices/${deviceId}/user/properties`, {
|
|
98
|
+
queryParameters: {
|
|
99
|
+
property_names: propertyNames.join(',')
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
if (response.status < 200 || response.status >= 300) {
|
|
103
|
+
throw new Error(`HTTP ${response.status}: ${JSON.stringify(response.data)}`);
|
|
104
|
+
}
|
|
105
|
+
ClixLogger.debug(`User properties removed successfully for device: ${deviceId}`);
|
|
106
|
+
} catch (error) {
|
|
107
|
+
ClixLogger.error(`Failed to remove user properties for device: ${deviceId}`, error);
|
|
108
|
+
throw error;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=DeviceAPIService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ClixLogger","DeviceAPIService","constructor","apiClient","registerDevice","device","debug","id","response","post","body","devices","platform","model","manufacturer","os_name","osName","os_version","osVersion","locale_region","localeRegion","locale_language","localeLanguage","timezone","app_name","appName","app_version","appVersion","sdk_type","sdkType","sdk_version","sdkVersion","ad_id","adId","is_push_permission_granted","isPushPermissionGranted","push_token","pushToken","push_token_type","pushTokenType","status","Error","JSON","stringify","data","error","setProjectUserId","deviceId","projectUserId","project_user_id","removeProjectUserId","delete","upsertUserProperties","properties","length","map","p","name","value_string","valueString","type","removeUserProperties","propertyNames","queryParameters","property_names","join"],"sourceRoot":"../../../src","sources":["services/DeviceAPIService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import messaging from '@react-native-firebase/messaging';
|
|
4
|
+
import { Platform } from 'react-native';
|
|
5
|
+
import DeviceInfo from 'react-native-device-info';
|
|
6
|
+
import { ClixVersion } from "../core/ClixVersion.js";
|
|
7
|
+
import { ClixDevice } from "../models/ClixDevice.js";
|
|
8
|
+
import { ClixUserProperty } from "../models/ClixUserProperty.js";
|
|
9
|
+
import { ClixError } from "../utils/ClixError.js";
|
|
10
|
+
import { ClixLogger } from "../utils/logging/ClixLogger.js";
|
|
11
|
+
import { UUID } from "../utils/UUID.js";
|
|
12
|
+
export class DeviceService {
|
|
13
|
+
static DEVICE_ID_KEY = 'clix_device_id';
|
|
14
|
+
constructor(storageService, tokenService, deviceAPIService) {
|
|
15
|
+
this.storageService = storageService;
|
|
16
|
+
this.tokenService = tokenService;
|
|
17
|
+
this.deviceAPIService = deviceAPIService;
|
|
18
|
+
}
|
|
19
|
+
async getCurrentDeviceId() {
|
|
20
|
+
const existingId = await this.storageService.get(DeviceService.DEVICE_ID_KEY);
|
|
21
|
+
if (existingId) {
|
|
22
|
+
return existingId;
|
|
23
|
+
}
|
|
24
|
+
const newId = UUID.generate();
|
|
25
|
+
await this.storageService.set(DeviceService.DEVICE_ID_KEY, newId);
|
|
26
|
+
return newId;
|
|
27
|
+
}
|
|
28
|
+
async setProjectUserId(projectUserId) {
|
|
29
|
+
try {
|
|
30
|
+
const deviceId = await this.getCurrentDeviceId();
|
|
31
|
+
await this.deviceAPIService.setProjectUserId(deviceId, projectUserId);
|
|
32
|
+
ClixLogger.debug(`Project user ID set: ${projectUserId}`);
|
|
33
|
+
} catch (error) {
|
|
34
|
+
ClixLogger.error('Failed to set project user ID', error);
|
|
35
|
+
throw ClixError.unknownError({
|
|
36
|
+
reason: `Failed to set project user ID: ${error}`,
|
|
37
|
+
cause: error
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async removeProjectUserId() {
|
|
42
|
+
try {
|
|
43
|
+
const deviceId = await this.getCurrentDeviceId();
|
|
44
|
+
await this.deviceAPIService.removeProjectUserId(deviceId);
|
|
45
|
+
ClixLogger.debug('Project user ID removed');
|
|
46
|
+
} catch (error) {
|
|
47
|
+
ClixLogger.error('Failed to remove project user ID', error);
|
|
48
|
+
throw ClixError.unknownError({
|
|
49
|
+
reason: `Failed to remove project user ID: ${error}`,
|
|
50
|
+
cause: error
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async updateUserProperties(properties) {
|
|
55
|
+
try {
|
|
56
|
+
const userProperties = Object.entries(properties).map(([key, value]) => ClixUserProperty.of(key, value));
|
|
57
|
+
const deviceId = await this.getCurrentDeviceId();
|
|
58
|
+
await this.deviceAPIService.upsertUserProperties(deviceId, userProperties);
|
|
59
|
+
ClixLogger.debug(`User properties updated: ${Object.keys(properties).join(', ')}`);
|
|
60
|
+
} catch (error) {
|
|
61
|
+
ClixLogger.error('Failed to update user properties', error);
|
|
62
|
+
throw ClixError.unknownError({
|
|
63
|
+
reason: `Failed to update user properties: ${error}`,
|
|
64
|
+
cause: error
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async removeUserProperties(names) {
|
|
69
|
+
try {
|
|
70
|
+
const deviceId = await this.getCurrentDeviceId();
|
|
71
|
+
await this.deviceAPIService.removeUserProperties(deviceId, names);
|
|
72
|
+
ClixLogger.debug(`User properties removed: ${names.join(', ')}`);
|
|
73
|
+
} catch (error) {
|
|
74
|
+
ClixLogger.error('Failed to remove user properties', error);
|
|
75
|
+
throw ClixError.unknownError({
|
|
76
|
+
reason: `Failed to remove user properties: ${error}`,
|
|
77
|
+
cause: error
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async upsertToken(token, tokenType = 'FCM') {
|
|
82
|
+
try {
|
|
83
|
+
await this.tokenService.saveToken(token);
|
|
84
|
+
const deviceId = await this.getCurrentDeviceId();
|
|
85
|
+
const device = await this.createDevice(deviceId, token);
|
|
86
|
+
await this.deviceAPIService.registerDevice(device);
|
|
87
|
+
ClixLogger.debug(`Token upserted: ${tokenType}`);
|
|
88
|
+
} catch (error) {
|
|
89
|
+
ClixLogger.error('Failed to upsert token', error);
|
|
90
|
+
|
|
91
|
+
// Don't throw for token upsert failures during initialization
|
|
92
|
+
// This allows the SDK to continue initializing even if token registration fails
|
|
93
|
+
if (error instanceof Error && error.message.includes('crypto.getRandomValues')) {
|
|
94
|
+
ClixLogger.warn('Token upsert failed due to crypto polyfill issue, will retry later');
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
throw ClixError.unknownError({
|
|
98
|
+
reason: `Failed to upsert token: ${error}`,
|
|
99
|
+
cause: error
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async getPushPermissionStatus() {
|
|
104
|
+
try {
|
|
105
|
+
// First check stored permission status
|
|
106
|
+
const storedStatus = await this.storageService.get('notification_permission_status');
|
|
107
|
+
if (storedStatus === 'authorized' || storedStatus === 'provisional') {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// If no stored status, check current Firebase messaging permission
|
|
112
|
+
const authStatus = await messaging().hasPermission();
|
|
113
|
+
const isGranted = authStatus === messaging.AuthorizationStatus.AUTHORIZED || authStatus === messaging.AuthorizationStatus.PROVISIONAL;
|
|
114
|
+
ClixLogger.debug(`Push permission status: ${isGranted ? 'granted' : 'denied'}`);
|
|
115
|
+
return isGranted;
|
|
116
|
+
} catch (error) {
|
|
117
|
+
ClixLogger.warn('Failed to get push permission status, defaulting to false', error);
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async createDevice(deviceId, token) {
|
|
122
|
+
const platform = DeviceInfo.getSystemName();
|
|
123
|
+
const osName = DeviceInfo.getSystemName();
|
|
124
|
+
const osVersion = DeviceInfo.getSystemVersion();
|
|
125
|
+
const manufacturer = await DeviceInfo.getManufacturer();
|
|
126
|
+
const model = DeviceInfo.getModel();
|
|
127
|
+
const appName = DeviceInfo.getApplicationName();
|
|
128
|
+
const appVersion = DeviceInfo.getVersion();
|
|
129
|
+
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
130
|
+
const locale = Intl.DateTimeFormat().resolvedOptions().locale || 'en-US';
|
|
131
|
+
const localeLanguage = locale.split('-')[0] || 'en';
|
|
132
|
+
const localeRegion = locale.split('-')[1] || 'US';
|
|
133
|
+
let adId;
|
|
134
|
+
const isPushPermissionGranted = await this.getPushPermissionStatus();
|
|
135
|
+
const sdkVersion = await ClixVersion.getVersion();
|
|
136
|
+
return new ClixDevice({
|
|
137
|
+
id: deviceId,
|
|
138
|
+
platform,
|
|
139
|
+
model,
|
|
140
|
+
manufacturer,
|
|
141
|
+
osName,
|
|
142
|
+
osVersion,
|
|
143
|
+
localeRegion,
|
|
144
|
+
localeLanguage,
|
|
145
|
+
timezone,
|
|
146
|
+
appName,
|
|
147
|
+
appVersion,
|
|
148
|
+
sdkType: 'react-native',
|
|
149
|
+
sdkVersion,
|
|
150
|
+
adId,
|
|
151
|
+
isPushPermissionGranted,
|
|
152
|
+
pushToken: token,
|
|
153
|
+
pushTokenType: token ? Platform.OS === 'ios' ? 'APNS' : 'FCM' : undefined
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=DeviceService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["messaging","Platform","DeviceInfo","ClixVersion","ClixDevice","ClixUserProperty","ClixError","ClixLogger","UUID","DeviceService","DEVICE_ID_KEY","constructor","storageService","tokenService","deviceAPIService","getCurrentDeviceId","existingId","get","newId","generate","set","setProjectUserId","projectUserId","deviceId","debug","error","unknownError","reason","cause","removeProjectUserId","updateUserProperties","properties","userProperties","Object","entries","map","key","value","of","upsertUserProperties","keys","join","removeUserProperties","names","upsertToken","token","tokenType","saveToken","device","createDevice","registerDevice","Error","message","includes","warn","getPushPermissionStatus","storedStatus","authStatus","hasPermission","isGranted","AuthorizationStatus","AUTHORIZED","PROVISIONAL","platform","getSystemName","osName","osVersion","getSystemVersion","manufacturer","getManufacturer","model","getModel","appName","getApplicationName","appVersion","getVersion","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","locale","localeLanguage","split","localeRegion","adId","isPushPermissionGranted","sdkVersion","id","sdkType","pushToken","pushTokenType","OS","undefined"],"sourceRoot":"../../../src","sources":["services/DeviceService.ts"],"mappings":"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","ignoreList":[]}
|