@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.
Files changed (34) hide show
  1. package/README.md +315 -0
  2. package/dist/UnviredWrapper.d.ts +36 -0
  3. package/dist/UnviredWrapper.d.ts.map +1 -0
  4. package/dist/UnviredWrapper.js +72 -0
  5. package/dist/core/UnviredSDK.d.ts +107 -0
  6. package/dist/core/UnviredSDK.d.ts.map +1 -0
  7. package/dist/core/UnviredSDK.js +24 -0
  8. package/dist/core/platform/CordovaPlatformAdapter.d.ts +13 -0
  9. package/dist/core/platform/CordovaPlatformAdapter.d.ts.map +1 -0
  10. package/dist/core/platform/CordovaPlatformAdapter.js +62 -0
  11. package/dist/core/platform/PlatformInterface.d.ts +12 -0
  12. package/dist/core/platform/PlatformInterface.d.ts.map +1 -0
  13. package/dist/core/platform/PlatformInterface.js +2 -0
  14. package/dist/core/platform/PlatformManager.d.ts +10 -0
  15. package/dist/core/platform/PlatformManager.d.ts.map +1 -0
  16. package/dist/core/platform/PlatformManager.js +29 -0
  17. package/dist/core/platform/ReactNativePlatformAdapter.d.ts +13 -0
  18. package/dist/core/platform/ReactNativePlatformAdapter.d.ts.map +1 -0
  19. package/dist/core/platform/ReactNativePlatformAdapter.js +47 -0
  20. package/dist/index.d.ts +4 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +13 -0
  23. package/dist/lib/AuthBuilder.d.ts +32 -0
  24. package/dist/lib/AuthBuilder.d.ts.map +1 -0
  25. package/dist/lib/AuthBuilder.js +114 -0
  26. package/package.json +55 -0
  27. package/src/UnviredWrapper.ts +83 -0
  28. package/src/core/UnviredSDK.ts +126 -0
  29. package/src/core/platform/CordovaPlatformAdapter.ts +69 -0
  30. package/src/core/platform/PlatformInterface.ts +12 -0
  31. package/src/core/platform/PlatformManager.ts +35 -0
  32. package/src/core/platform/ReactNativePlatformAdapter.ts +57 -0
  33. package/src/index.ts +7 -0
  34. 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,7 @@
1
+ // Export main SDK
2
+ import UnviredWrapper from './UnviredWrapper';
3
+
4
+ export { LoginParameters, LoginType } from './core/UnviredSDK';
5
+
6
+ // Export the default SDK instance
7
+ export default UnviredWrapper;
@@ -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
+ }