@capawesome/capacitor-libsql 0.1.0

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 (53) hide show
  1. package/Package.swift +30 -0
  2. package/README.md +301 -0
  3. package/android/build.gradle +66 -0
  4. package/android/src/main/AndroidManifest.xml +2 -0
  5. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/Libsql.kt +188 -0
  6. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/LibsqlPlugin.java +217 -0
  7. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/BeginTransactionOptions.java +28 -0
  8. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/CommitTransactionOptions.java +46 -0
  9. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/ConnectOptions.java +37 -0
  10. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/ExecuteBatchOptions.java +103 -0
  11. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/ExecuteOptions.java +82 -0
  12. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/QueryOptions.java +82 -0
  13. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/RollbackTransactionOptions.java +46 -0
  14. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/SyncOptions.java +28 -0
  15. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/results/BeginTransactionResult.java +23 -0
  16. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/results/ConnectResult.java +23 -0
  17. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/results/QueryResult.java +47 -0
  18. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/interfaces/Callback.java +5 -0
  19. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/interfaces/EmptyCallback.java +5 -0
  20. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/interfaces/NonEmptyCallback.java +7 -0
  21. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/interfaces/NonEmptyResultCallback.java +7 -0
  22. package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/interfaces/Result.java +7 -0
  23. package/android/src/main/res/.gitkeep +0 -0
  24. package/dist/docs.json +684 -0
  25. package/dist/esm/definitions.d.ts +287 -0
  26. package/dist/esm/definitions.js +2 -0
  27. package/dist/esm/definitions.js.map +1 -0
  28. package/dist/esm/index.d.ts +4 -0
  29. package/dist/esm/index.js +7 -0
  30. package/dist/esm/index.js.map +1 -0
  31. package/dist/esm/web.d.ts +12 -0
  32. package/dist/esm/web.js +36 -0
  33. package/dist/esm/web.js.map +1 -0
  34. package/dist/plugin.cjs.js +50 -0
  35. package/dist/plugin.cjs.js.map +1 -0
  36. package/dist/plugin.js +53 -0
  37. package/dist/plugin.js.map +1 -0
  38. package/ios/Plugin/Classes/Options/BeginTransactionOptions.swift +14 -0
  39. package/ios/Plugin/Classes/Options/CommitTransactionOptions.swift +19 -0
  40. package/ios/Plugin/Classes/Options/ConnectOptions.swift +24 -0
  41. package/ios/Plugin/Classes/Options/ExecuteBatchOptions.swift +41 -0
  42. package/ios/Plugin/Classes/Options/ExecuteOptions.swift +23 -0
  43. package/ios/Plugin/Classes/Options/QueryOptions.swift +23 -0
  44. package/ios/Plugin/Classes/Options/RollbackTransactionOptions.swift +19 -0
  45. package/ios/Plugin/Classes/Options/SyncOptions.swift +14 -0
  46. package/ios/Plugin/Classes/Results/BeginTransactionResult.swift +16 -0
  47. package/ios/Plugin/Classes/Results/ConnectResult.swift +16 -0
  48. package/ios/Plugin/Classes/Results/QueryResult.swift +36 -0
  49. package/ios/Plugin/Enums/LibsqlError.swift +61 -0
  50. package/ios/Plugin/Libsql.swift +219 -0
  51. package/ios/Plugin/LibsqlPlugin.swift +166 -0
  52. package/ios/Plugin/Protocols/Result.swift +6 -0
  53. package/package.json +91 -0
@@ -0,0 +1,217 @@
1
+ package io.capawesome.capacitorjs.plugins.libsql;
2
+
3
+ import android.util.Log;
4
+ import androidx.annotation.NonNull;
5
+ import androidx.annotation.Nullable;
6
+ import com.getcapacitor.Plugin;
7
+ import com.getcapacitor.PluginCall;
8
+ import com.getcapacitor.PluginMethod;
9
+ import com.getcapacitor.annotation.CapacitorPlugin;
10
+ import io.capawesome.capacitorjs.plugins.libsql.classes.options.*;
11
+ import io.capawesome.capacitorjs.plugins.libsql.classes.results.*;
12
+ import io.capawesome.capacitorjs.plugins.libsql.interfaces.*;
13
+
14
+ @CapacitorPlugin(name = "Libsql")
15
+ public class LibsqlPlugin extends Plugin {
16
+
17
+ public static final String TAG = "Libsql";
18
+ private static final String ERROR_UNKNOWN_ERROR = "An unknown error occurred.";
19
+
20
+ private Libsql implementation;
21
+
22
+ @Override
23
+ public void load() {
24
+ implementation = new Libsql(this);
25
+ }
26
+
27
+ @PluginMethod
28
+ public void connect(PluginCall call) {
29
+ try {
30
+ ConnectOptions options = new ConnectOptions(call);
31
+ NonEmptyResultCallback<ConnectResult> callback = new NonEmptyResultCallback<ConnectResult>() {
32
+ @Override
33
+ public void success(@NonNull ConnectResult result) {
34
+ resolveCall(call, result);
35
+ }
36
+
37
+ @Override
38
+ public void error(@NonNull Exception exception) {
39
+ rejectCall(call, exception);
40
+ }
41
+ };
42
+
43
+ assert implementation != null;
44
+ implementation.connect(options, callback);
45
+ } catch (Exception exception) {
46
+ rejectCall(call, exception);
47
+ }
48
+ }
49
+
50
+ @PluginMethod
51
+ public void execute(PluginCall call) {
52
+ try {
53
+ ExecuteOptions options = new ExecuteOptions(call);
54
+ EmptyCallback callback = new EmptyCallback() {
55
+ @Override
56
+ public void success() {
57
+ resolveCall(call);
58
+ }
59
+
60
+ @Override
61
+ public void error(@NonNull Exception exception) {
62
+ rejectCall(call, exception);
63
+ }
64
+ };
65
+
66
+ assert implementation != null;
67
+ implementation.execute(options, callback);
68
+ } catch (Exception exception) {
69
+ rejectCall(call, exception);
70
+ }
71
+ }
72
+
73
+ @PluginMethod
74
+ public void executeBatch(PluginCall call) {
75
+ try {
76
+ ExecuteBatchOptions options = new ExecuteBatchOptions(call);
77
+ EmptyCallback callback = new EmptyCallback() {
78
+ @Override
79
+ public void success() {
80
+ resolveCall(call);
81
+ }
82
+
83
+ @Override
84
+ public void error(@NonNull Exception exception) {
85
+ rejectCall(call, exception);
86
+ }
87
+ };
88
+
89
+ assert implementation != null;
90
+ implementation.executeBatch(options, callback);
91
+ } catch (Exception exception) {
92
+ rejectCall(call, exception);
93
+ }
94
+ }
95
+
96
+ @PluginMethod
97
+ public void query(PluginCall call) {
98
+ try {
99
+ QueryOptions options = new QueryOptions(call);
100
+ NonEmptyResultCallback<QueryResult> callback = new NonEmptyResultCallback<QueryResult>() {
101
+ @Override
102
+ public void success(@NonNull QueryResult result) {
103
+ resolveCall(call, result);
104
+ }
105
+
106
+ @Override
107
+ public void error(@NonNull Exception exception) {
108
+ rejectCall(call, exception);
109
+ }
110
+ };
111
+
112
+ assert implementation != null;
113
+ implementation.query(options, callback);
114
+ } catch (Exception exception) {
115
+ rejectCall(call, exception);
116
+ }
117
+ }
118
+
119
+ @PluginMethod
120
+ public void beginTransaction(PluginCall call) {
121
+ try {
122
+ BeginTransactionOptions options = new BeginTransactionOptions(call);
123
+ NonEmptyResultCallback<BeginTransactionResult> callback = new NonEmptyResultCallback<BeginTransactionResult>() {
124
+ @Override
125
+ public void success(@NonNull BeginTransactionResult result) {
126
+ resolveCall(call, result);
127
+ }
128
+
129
+ @Override
130
+ public void error(@NonNull Exception exception) {
131
+ rejectCall(call, exception);
132
+ }
133
+ };
134
+
135
+ assert implementation != null;
136
+ implementation.beginTransaction(options, callback);
137
+ } catch (Exception exception) {
138
+ rejectCall(call, exception);
139
+ }
140
+ }
141
+
142
+ @PluginMethod
143
+ public void commitTransaction(PluginCall call) {
144
+ try {
145
+ CommitTransactionOptions options = new CommitTransactionOptions(call);
146
+ EmptyCallback callback = new EmptyCallback() {
147
+ @Override
148
+ public void success() {
149
+ resolveCall(call);
150
+ }
151
+
152
+ @Override
153
+ public void error(@NonNull Exception exception) {
154
+ rejectCall(call, exception);
155
+ }
156
+ };
157
+
158
+ assert implementation != null;
159
+ implementation.commitTransaction(options, callback);
160
+ } catch (Exception exception) {
161
+ rejectCall(call, exception);
162
+ }
163
+ }
164
+
165
+ @PluginMethod
166
+ public void rollbackTransaction(PluginCall call) {
167
+ try {
168
+ RollbackTransactionOptions options = new RollbackTransactionOptions(call);
169
+ EmptyCallback callback = new EmptyCallback() {
170
+ @Override
171
+ public void success() {
172
+ resolveCall(call);
173
+ }
174
+
175
+ @Override
176
+ public void error(@NonNull Exception exception) {
177
+ rejectCall(call, exception);
178
+ }
179
+ };
180
+
181
+ assert implementation != null;
182
+ implementation.rollbackTransaction(options, callback);
183
+ } catch (Exception exception) {
184
+ rejectCall(call, exception);
185
+ }
186
+ }
187
+
188
+ @PluginMethod
189
+ public void sync(PluginCall call) {
190
+ rejectCallAsUnavailable(call);
191
+ }
192
+
193
+ private void rejectCall(@NonNull PluginCall call, @NonNull Exception exception) {
194
+ String message = exception.getMessage();
195
+ if (message == null) {
196
+ message = ERROR_UNKNOWN_ERROR;
197
+ }
198
+ Log.e(TAG, message, exception);
199
+ call.reject(message);
200
+ }
201
+
202
+ private void rejectCallAsUnavailable(@NonNull PluginCall call) {
203
+ call.unimplemented("Not available on this platform.");
204
+ }
205
+
206
+ private void resolveCall(@NonNull PluginCall call) {
207
+ call.resolve();
208
+ }
209
+
210
+ private void resolveCall(@NonNull PluginCall call, @Nullable Result result) {
211
+ if (result == null) {
212
+ call.resolve();
213
+ } else {
214
+ call.resolve(result.toJSObject());
215
+ }
216
+ }
217
+ }
@@ -0,0 +1,28 @@
1
+ package io.capawesome.capacitorjs.plugins.libsql.classes.options;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import com.getcapacitor.PluginCall;
5
+
6
+ public class BeginTransactionOptions {
7
+
8
+ @NonNull
9
+ private final String connectionId;
10
+
11
+ public BeginTransactionOptions(@NonNull PluginCall call) throws Exception {
12
+ this.connectionId = getConnectionIdFromCall(call);
13
+ }
14
+
15
+ @NonNull
16
+ public String getConnectionId() {
17
+ return connectionId;
18
+ }
19
+
20
+ @NonNull
21
+ private static String getConnectionIdFromCall(@NonNull PluginCall call) throws Exception {
22
+ String connectionId = call.getString("connectionId");
23
+ if (connectionId == null) {
24
+ throw new Exception("connectionId must be provided.");
25
+ }
26
+ return connectionId;
27
+ }
28
+ }
@@ -0,0 +1,46 @@
1
+ package io.capawesome.capacitorjs.plugins.libsql.classes.options;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import com.getcapacitor.PluginCall;
5
+
6
+ public class CommitTransactionOptions {
7
+
8
+ @NonNull
9
+ private final String connectionId;
10
+
11
+ @NonNull
12
+ private final String transactionId;
13
+
14
+ public CommitTransactionOptions(@NonNull PluginCall call) throws Exception {
15
+ this.connectionId = getConnectionIdFromCall(call);
16
+ this.transactionId = getTransactionIdFromCall(call);
17
+ }
18
+
19
+ @NonNull
20
+ public String getConnectionId() {
21
+ return connectionId;
22
+ }
23
+
24
+ @NonNull
25
+ public String getTransactionId() {
26
+ return transactionId;
27
+ }
28
+
29
+ @NonNull
30
+ private static String getConnectionIdFromCall(@NonNull PluginCall call) throws Exception {
31
+ String connectionId = call.getString("connectionId");
32
+ if (connectionId == null) {
33
+ throw new Exception("connectionId must be provided.");
34
+ }
35
+ return connectionId;
36
+ }
37
+
38
+ @NonNull
39
+ private static String getTransactionIdFromCall(@NonNull PluginCall call) throws Exception {
40
+ String transactionId = call.getString("transactionId");
41
+ if (transactionId == null) {
42
+ throw new Exception("transactionId must be provided.");
43
+ }
44
+ return transactionId;
45
+ }
46
+ }
@@ -0,0 +1,37 @@
1
+ package io.capawesome.capacitorjs.plugins.libsql.classes.options;
2
+
3
+ import androidx.annotation.Nullable;
4
+ import com.getcapacitor.PluginCall;
5
+
6
+ public class ConnectOptions {
7
+
8
+ @Nullable
9
+ private final String authToken;
10
+
11
+ @Nullable
12
+ private final String path;
13
+
14
+ @Nullable
15
+ private final String url;
16
+
17
+ public ConnectOptions(PluginCall call) throws Exception {
18
+ this.authToken = call.getString("authToken");
19
+ this.path = call.getString("path");
20
+ this.url = call.getString("url");
21
+ }
22
+
23
+ @Nullable
24
+ public String getAuthToken() {
25
+ return authToken;
26
+ }
27
+
28
+ @Nullable
29
+ public String getPath() {
30
+ return path;
31
+ }
32
+
33
+ @Nullable
34
+ public String getUrl() {
35
+ return url;
36
+ }
37
+ }
@@ -0,0 +1,103 @@
1
+ package io.capawesome.capacitorjs.plugins.libsql.classes.options;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import androidx.annotation.Nullable;
5
+ import com.getcapacitor.JSArray;
6
+ import com.getcapacitor.PluginCall;
7
+ import java.util.ArrayList;
8
+ import java.util.List;
9
+ import org.json.JSONArray;
10
+
11
+ public class ExecuteBatchOptions {
12
+
13
+ @NonNull
14
+ private final String connectionId;
15
+
16
+ @NonNull
17
+ private final List<String> statement;
18
+
19
+ @Nullable
20
+ private final List<List<Object>> values;
21
+
22
+ public ExecuteBatchOptions(@NonNull PluginCall call) throws Exception {
23
+ this.connectionId = getConnectionIdFromCall(call);
24
+ this.statement = getStatementFromCall(call);
25
+ this.values = getValuesFromCall(call);
26
+ }
27
+
28
+ @NonNull
29
+ public String getConnectionId() {
30
+ return connectionId;
31
+ }
32
+
33
+ @NonNull
34
+ public List<String> getStatement() {
35
+ return statement;
36
+ }
37
+
38
+ @Nullable
39
+ public List<List<Object>> getValues() {
40
+ return values;
41
+ }
42
+
43
+ @NonNull
44
+ private static String getConnectionIdFromCall(@NonNull PluginCall call) throws Exception {
45
+ String connectionId = call.getString("connectionId");
46
+ if (connectionId == null) {
47
+ throw new Exception("connectionId must be provided.");
48
+ }
49
+ return connectionId;
50
+ }
51
+
52
+ @NonNull
53
+ private static List<String> getStatementFromCall(@NonNull PluginCall call) throws Exception {
54
+ JSArray statementArray = call.getArray("statement");
55
+ if (statementArray == null) {
56
+ throw new Exception("statement must be provided.");
57
+ }
58
+
59
+ List<String> statements = new ArrayList<>();
60
+ for (int i = 0; i < statementArray.length(); i++) {
61
+ Object item = statementArray.get(i);
62
+ if (item instanceof String) {
63
+ statements.add((String) item);
64
+ } else {
65
+ throw new Exception("All statements must be strings.");
66
+ }
67
+ }
68
+ return statements;
69
+ }
70
+
71
+ @Nullable
72
+ private List<List<Object>> getValuesFromCall(@NonNull PluginCall call) throws Exception {
73
+ JSArray valuesArray = call.getArray("values");
74
+ if (valuesArray == null) {
75
+ return null;
76
+ }
77
+
78
+ List<List<Object>> allValues = new ArrayList<>();
79
+ for (int i = 0; i < valuesArray.length(); i++) {
80
+ Object item = valuesArray.get(i);
81
+ if (item instanceof JSONArray) {
82
+ JSArray subArray = convertToJSArray((JSONArray) item);
83
+ List<Object> subValues = new ArrayList<>();
84
+ for (int j = 0; j < subArray.length(); j++) {
85
+ subValues.add(subArray.get(j));
86
+ }
87
+ allValues.add(subValues);
88
+ } else {
89
+ throw new Exception("All values must be arrays.");
90
+ }
91
+ }
92
+ return allValues;
93
+ }
94
+
95
+ private JSArray convertToJSArray(JSONArray jsonArray) throws Exception {
96
+ JSArray jsArray = new JSArray();
97
+ for (int i = 0; i < jsonArray.length(); i++) {
98
+ Object item = jsonArray.get(i);
99
+ jsArray.put(item);
100
+ }
101
+ return jsArray;
102
+ }
103
+ }
@@ -0,0 +1,82 @@
1
+ package io.capawesome.capacitorjs.plugins.libsql.classes.options;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import androidx.annotation.Nullable;
5
+ import com.getcapacitor.JSArray;
6
+ import com.getcapacitor.PluginCall;
7
+ import java.util.ArrayList;
8
+ import java.util.List;
9
+
10
+ public class ExecuteOptions {
11
+
12
+ @NonNull
13
+ private final String connectionId;
14
+
15
+ @NonNull
16
+ private final String statement;
17
+
18
+ @Nullable
19
+ private final String transactionId;
20
+
21
+ @Nullable
22
+ private final List<Object> values;
23
+
24
+ public ExecuteOptions(@NonNull PluginCall call) throws Exception {
25
+ this.connectionId = getConnectionIdFromCall(call);
26
+ this.statement = getStatementFromCall(call);
27
+ this.transactionId = call.getString("transactionId");
28
+ this.values = getValuesFromCall(call);
29
+ }
30
+
31
+ @NonNull
32
+ public String getConnectionId() {
33
+ return connectionId;
34
+ }
35
+
36
+ @NonNull
37
+ public String getStatement() {
38
+ return statement;
39
+ }
40
+
41
+ @Nullable
42
+ public String getTransactionId() {
43
+ return transactionId;
44
+ }
45
+
46
+ @Nullable
47
+ public List<Object> getValues() {
48
+ return values;
49
+ }
50
+
51
+ @NonNull
52
+ private static String getConnectionIdFromCall(@NonNull PluginCall call) throws Exception {
53
+ String connectionId = call.getString("connectionId");
54
+ if (connectionId == null) {
55
+ throw new Exception("connectionId must be provided.");
56
+ }
57
+ return connectionId;
58
+ }
59
+
60
+ @NonNull
61
+ private static String getStatementFromCall(@NonNull PluginCall call) throws Exception {
62
+ String statement = call.getString("statement");
63
+ if (statement == null) {
64
+ throw new Exception("statement must be provided.");
65
+ }
66
+ return statement;
67
+ }
68
+
69
+ @Nullable
70
+ private static List<Object> getValuesFromCall(@NonNull PluginCall call) throws Exception {
71
+ JSArray valuesArray = call.getArray("values");
72
+ if (valuesArray == null) {
73
+ return null;
74
+ }
75
+
76
+ List<Object> values = new ArrayList<>();
77
+ for (int i = 0; i < valuesArray.length(); i++) {
78
+ values.add(valuesArray.get(i));
79
+ }
80
+ return values;
81
+ }
82
+ }
@@ -0,0 +1,82 @@
1
+ package io.capawesome.capacitorjs.plugins.libsql.classes.options;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import androidx.annotation.Nullable;
5
+ import com.getcapacitor.JSArray;
6
+ import com.getcapacitor.PluginCall;
7
+ import java.util.ArrayList;
8
+ import java.util.List;
9
+
10
+ public class QueryOptions {
11
+
12
+ @NonNull
13
+ private final String connectionId;
14
+
15
+ @NonNull
16
+ private final String statement;
17
+
18
+ @Nullable
19
+ private final String transactionId;
20
+
21
+ @Nullable
22
+ private final List<Object> values;
23
+
24
+ public QueryOptions(@NonNull PluginCall call) throws Exception {
25
+ this.connectionId = getConnectionIdFromCall(call);
26
+ this.statement = getStatementFromCall(call);
27
+ this.transactionId = call.getString("transactionId");
28
+ this.values = getValuesFromCall(call);
29
+ }
30
+
31
+ @NonNull
32
+ public String getConnectionId() {
33
+ return connectionId;
34
+ }
35
+
36
+ @NonNull
37
+ public String getStatement() {
38
+ return statement;
39
+ }
40
+
41
+ @Nullable
42
+ public String getTransactionId() {
43
+ return transactionId;
44
+ }
45
+
46
+ @Nullable
47
+ public List<Object> getValues() {
48
+ return values;
49
+ }
50
+
51
+ @NonNull
52
+ private static String getConnectionIdFromCall(@NonNull PluginCall call) throws Exception {
53
+ String connectionId = call.getString("connectionId");
54
+ if (connectionId == null) {
55
+ throw new Exception("connectionId must be provided.");
56
+ }
57
+ return connectionId;
58
+ }
59
+
60
+ @NonNull
61
+ private static String getStatementFromCall(@NonNull PluginCall call) throws Exception {
62
+ String statement = call.getString("statement");
63
+ if (statement == null) {
64
+ throw new Exception("statement must be provided.");
65
+ }
66
+ return statement;
67
+ }
68
+
69
+ @Nullable
70
+ private static List<Object> getValuesFromCall(@NonNull PluginCall call) throws Exception {
71
+ JSArray valuesArray = call.getArray("values");
72
+ if (valuesArray == null) {
73
+ return null;
74
+ }
75
+
76
+ List<Object> values = new ArrayList<>();
77
+ for (int i = 0; i < valuesArray.length(); i++) {
78
+ values.add(valuesArray.get(i));
79
+ }
80
+ return values;
81
+ }
82
+ }
@@ -0,0 +1,46 @@
1
+ package io.capawesome.capacitorjs.plugins.libsql.classes.options;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import com.getcapacitor.PluginCall;
5
+
6
+ public class RollbackTransactionOptions {
7
+
8
+ @NonNull
9
+ private final String connectionId;
10
+
11
+ @NonNull
12
+ private final String transactionId;
13
+
14
+ public RollbackTransactionOptions(@NonNull PluginCall call) throws Exception {
15
+ this.connectionId = getConnectionIdFromCall(call);
16
+ this.transactionId = getTransactionIdFromCall(call);
17
+ }
18
+
19
+ @NonNull
20
+ public String getConnectionId() {
21
+ return connectionId;
22
+ }
23
+
24
+ @NonNull
25
+ public String getTransactionId() {
26
+ return transactionId;
27
+ }
28
+
29
+ @NonNull
30
+ private static String getConnectionIdFromCall(@NonNull PluginCall call) throws Exception {
31
+ String connectionId = call.getString("connectionId");
32
+ if (connectionId == null) {
33
+ throw new Exception("connectionId must be provided.");
34
+ }
35
+ return connectionId;
36
+ }
37
+
38
+ @NonNull
39
+ private static String getTransactionIdFromCall(@NonNull PluginCall call) throws Exception {
40
+ String transactionId = call.getString("transactionId");
41
+ if (transactionId == null) {
42
+ throw new Exception("transactionId must be provided.");
43
+ }
44
+ return transactionId;
45
+ }
46
+ }
@@ -0,0 +1,28 @@
1
+ package io.capawesome.capacitorjs.plugins.libsql.classes.options;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import com.getcapacitor.PluginCall;
5
+
6
+ public class SyncOptions {
7
+
8
+ @NonNull
9
+ private final String connectionId;
10
+
11
+ public SyncOptions(@NonNull PluginCall call) throws Exception {
12
+ this.connectionId = getConnectionIdFromCall(call);
13
+ }
14
+
15
+ @NonNull
16
+ public String getConnectionId() {
17
+ return connectionId;
18
+ }
19
+
20
+ @NonNull
21
+ private static String getConnectionIdFromCall(@NonNull PluginCall call) throws Exception {
22
+ String connectionId = call.getString("connectionId");
23
+ if (connectionId == null) {
24
+ throw new Exception("connectionId must be provided.");
25
+ }
26
+ return connectionId;
27
+ }
28
+ }
@@ -0,0 +1,23 @@
1
+ package io.capawesome.capacitorjs.plugins.libsql.classes.results;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import com.getcapacitor.JSObject;
5
+ import io.capawesome.capacitorjs.plugins.libsql.interfaces.Result;
6
+
7
+ public class BeginTransactionResult implements Result {
8
+
9
+ @NonNull
10
+ private final String transactionId;
11
+
12
+ public BeginTransactionResult(@NonNull String transactionId) {
13
+ this.transactionId = transactionId;
14
+ }
15
+
16
+ @Override
17
+ @NonNull
18
+ public JSObject toJSObject() {
19
+ JSObject result = new JSObject();
20
+ result.put("transactionId", transactionId);
21
+ return result;
22
+ }
23
+ }