@unvired/react-native-wrapper-sdk 0.0.2
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/README.md +315 -0
- package/dist/UnviredWrapper.d.ts +36 -0
- package/dist/UnviredWrapper.d.ts.map +1 -0
- package/dist/UnviredWrapper.js +72 -0
- package/dist/core/UnviredSDK.d.ts +107 -0
- package/dist/core/UnviredSDK.d.ts.map +1 -0
- package/dist/core/UnviredSDK.js +24 -0
- package/dist/core/platform/CordovaPlatformAdapter.d.ts +13 -0
- package/dist/core/platform/CordovaPlatformAdapter.d.ts.map +1 -0
- package/dist/core/platform/CordovaPlatformAdapter.js +62 -0
- package/dist/core/platform/PlatformInterface.d.ts +12 -0
- package/dist/core/platform/PlatformInterface.d.ts.map +1 -0
- package/dist/core/platform/PlatformInterface.js +2 -0
- package/dist/core/platform/PlatformManager.d.ts +10 -0
- package/dist/core/platform/PlatformManager.d.ts.map +1 -0
- package/dist/core/platform/PlatformManager.js +29 -0
- package/dist/core/platform/ReactNativePlatformAdapter.d.ts +13 -0
- package/dist/core/platform/ReactNativePlatformAdapter.d.ts.map +1 -0
- package/dist/core/platform/ReactNativePlatformAdapter.js +47 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/lib/AuthBuilder.d.ts +32 -0
- package/dist/lib/AuthBuilder.d.ts.map +1 -0
- package/dist/lib/AuthBuilder.js +114 -0
- package/package.json +55 -0
- package/src/UnviredWrapper.ts +83 -0
- package/src/core/UnviredSDK.ts +126 -0
- package/src/core/platform/CordovaPlatformAdapter.ts +69 -0
- package/src/core/platform/PlatformInterface.ts +12 -0
- package/src/core/platform/PlatformManager.ts +35 -0
- package/src/core/platform/ReactNativePlatformAdapter.ts +57 -0
- package/src/index.ts +7 -0
- package/src/lib/AuthBuilder.ts +146 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { PlatformInterface } from './PlatformInterface';
|
|
2
|
+
import { logger, LogLevel } from '@unvired/react-native-unvired-sdk';
|
|
3
|
+
|
|
4
|
+
export class ReactNativePlatformAdapter implements PlatformInterface {
|
|
5
|
+
// Logger
|
|
6
|
+
logInfo(className: string, methodName: string, message: string): void {
|
|
7
|
+
logger.logInfo(className, methodName, message);
|
|
8
|
+
|
|
9
|
+
console.log(`[INFO] ${className}.${methodName}: ${message}`);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
logError(className: string, methodName: string, message: string): void {
|
|
13
|
+
logger.logError(className, methodName, message);
|
|
14
|
+
|
|
15
|
+
console.error(`[ERROR] ${className}.${methodName}: ${message}`);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
logDebug(className: string, methodName: string, message: string): void {
|
|
19
|
+
logger.logDebug(className, methodName, message);
|
|
20
|
+
|
|
21
|
+
console.debug(`[DEBUG] ${className}.${methodName}: ${message}`);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
logWarning(className: string, methodName: string, message: string): void {
|
|
25
|
+
// TODO: Update to logger.logWarning once available in react-native-wrapper-sdk
|
|
26
|
+
// Using logInfo as fallback for now
|
|
27
|
+
if (typeof (logger as any).logWarning === 'function') {
|
|
28
|
+
(logger as any).logWarning(className, methodName, message);
|
|
29
|
+
} else {
|
|
30
|
+
logger.logInfo(className, methodName, `[WARNING] ${message}`);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
console.warn(`[WARNING] ${className}.${methodName}: ${message}`);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
setLogLevel(level: string): void {
|
|
37
|
+
logger.setLogLevel(level.toUpperCase() as LogLevel);
|
|
38
|
+
|
|
39
|
+
console.log(`[setLogLevel] ${level}`);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async getLogFileURL(): Promise<string> {
|
|
43
|
+
return await logger.getLogFileURL();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
async getLogFileContent(): Promise<string> {
|
|
47
|
+
return await logger.getLogFileContent();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async getBackupLogFileContent(): Promise<string> {
|
|
51
|
+
return await logger.getBackupLogFileContent();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
async clearLogFile(): Promise<void> {
|
|
55
|
+
await logger.clearLogFile();
|
|
56
|
+
}
|
|
57
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import UnviredSDK, { LoginParameters, LoginType } from './../core/UnviredSDK';
|
|
2
|
+
|
|
3
|
+
export default class AuthBuilder implements PromiseLike<string> {
|
|
4
|
+
private sdk: UnviredSDK;
|
|
5
|
+
private method: 'login' | 'authenticateAndActivate' | 'authenticateLocal';
|
|
6
|
+
private loginParameters: LoginParameters;
|
|
7
|
+
|
|
8
|
+
constructor(
|
|
9
|
+
sdk: UnviredSDK,
|
|
10
|
+
method: 'login' | 'authenticateAndActivate' | 'authenticateLocal'
|
|
11
|
+
) {
|
|
12
|
+
this.sdk = sdk;
|
|
13
|
+
this.method = method;
|
|
14
|
+
this.loginParameters = new LoginParameters();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
setAppName(appName: string): AuthBuilder {
|
|
18
|
+
this.loginParameters.appName = appName;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
setCompany(company: string): AuthBuilder {
|
|
23
|
+
this.loginParameters.company = company;
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
setUsername(username: string): AuthBuilder {
|
|
28
|
+
this.loginParameters.username = username;
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
setPassword(password: string): AuthBuilder {
|
|
33
|
+
this.loginParameters.password = password;
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
setUrl(url: string): AuthBuilder {
|
|
38
|
+
this.loginParameters.url = url;
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
setDomain(domain: string): AuthBuilder {
|
|
43
|
+
this.loginParameters.domain = domain;
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
setLoginType(loginType: LoginType): AuthBuilder {
|
|
48
|
+
this.loginParameters.loginType = loginType;
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
setFeUserId(feUserId: string): AuthBuilder {
|
|
53
|
+
this.loginParameters.feUserId = feUserId;
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
setPort(port: string): AuthBuilder {
|
|
58
|
+
this.loginParameters.port = port;
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
setMetadataPath(metadataPath: string): AuthBuilder {
|
|
63
|
+
this.loginParameters.metadataPath = metadataPath;
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
setIsRequiredAttachmentBase64(isRequiredAttachmentBase64: boolean): AuthBuilder {
|
|
68
|
+
this.loginParameters.isRequiredAttachmentBase64 = isRequiredAttachmentBase64;
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
setAutoSendTime(autoSendTime: string): AuthBuilder {
|
|
73
|
+
this.loginParameters.autoSendTime = autoSendTime;
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
setAutoSyncTime(autoSyncTime: string): AuthBuilder {
|
|
78
|
+
this.loginParameters.autoSyncTime = autoSyncTime;
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
setMetadataJSON(metadataJSON: string): AuthBuilder {
|
|
83
|
+
this.loginParameters.metadataJSON = metadataJSON;
|
|
84
|
+
return this;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
setDemoData(demoData: string): AuthBuilder {
|
|
88
|
+
this.loginParameters.demoData = demoData;
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
setDemoModeRequired(demoModeRequired: boolean): AuthBuilder {
|
|
93
|
+
this.loginParameters.demoModeRequired = demoModeRequired;
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
setPersistWebDb(persistWebDb: boolean): AuthBuilder {
|
|
98
|
+
this.loginParameters.persistWebDb = persistWebDb;
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
setJwtOptions(jwtOptions: object): AuthBuilder {
|
|
103
|
+
this.loginParameters.jwtOptions = jwtOptions;
|
|
104
|
+
return this;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
setLoginLanguage(loginLanguage: string): AuthBuilder {
|
|
108
|
+
this.loginParameters.loginLanguage = loginLanguage;
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
setCacheWebData(cacheWebData: boolean): AuthBuilder {
|
|
113
|
+
this.loginParameters.cacheWebData = cacheWebData;
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
setRequireClientCredentials(requireClientCredentials: boolean): AuthBuilder {
|
|
118
|
+
this.loginParameters.requireClientCredentials = requireClientCredentials;
|
|
119
|
+
return this;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
setItem(key: keyof LoginParameters, value: any): AuthBuilder {
|
|
123
|
+
(this.loginParameters as any)[key] = value;
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
private execute(): Promise<string> {
|
|
128
|
+
switch (this.method) {
|
|
129
|
+
case 'login':
|
|
130
|
+
return this.sdk.login(this.loginParameters);
|
|
131
|
+
case 'authenticateAndActivate':
|
|
132
|
+
return this.sdk.authenticateAndActivate(this.loginParameters);
|
|
133
|
+
case 'authenticateLocal':
|
|
134
|
+
return this.sdk.authenticateLocal(this.loginParameters);
|
|
135
|
+
default:
|
|
136
|
+
return Promise.reject(new Error(`Unknown method: ${this.method}`));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
then<TResult1 = string, TResult2 = never>(
|
|
141
|
+
onfulfilled?: ((value: string) => TResult1 | PromiseLike<TResult1>) | undefined | null,
|
|
142
|
+
onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null
|
|
143
|
+
): PromiseLike<TResult1 | TResult2> {
|
|
144
|
+
return this.execute().then(onfulfilled, onrejected);
|
|
145
|
+
}
|
|
146
|
+
}
|