@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.
- package/Package.swift +30 -0
- package/README.md +301 -0
- package/android/build.gradle +66 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/Libsql.kt +188 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/LibsqlPlugin.java +217 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/BeginTransactionOptions.java +28 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/CommitTransactionOptions.java +46 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/ConnectOptions.java +37 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/ExecuteBatchOptions.java +103 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/ExecuteOptions.java +82 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/QueryOptions.java +82 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/RollbackTransactionOptions.java +46 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/options/SyncOptions.java +28 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/results/BeginTransactionResult.java +23 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/results/ConnectResult.java +23 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/classes/results/QueryResult.java +47 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/interfaces/Callback.java +5 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/interfaces/EmptyCallback.java +5 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/interfaces/NonEmptyCallback.java +7 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/interfaces/NonEmptyResultCallback.java +7 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/libsql/interfaces/Result.java +7 -0
- package/android/src/main/res/.gitkeep +0 -0
- package/dist/docs.json +684 -0
- package/dist/esm/definitions.d.ts +287 -0
- package/dist/esm/definitions.js +2 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/web.d.ts +12 -0
- package/dist/esm/web.js +36 -0
- package/dist/esm/web.js.map +1 -0
- package/dist/plugin.cjs.js +50 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +53 -0
- package/dist/plugin.js.map +1 -0
- package/ios/Plugin/Classes/Options/BeginTransactionOptions.swift +14 -0
- package/ios/Plugin/Classes/Options/CommitTransactionOptions.swift +19 -0
- package/ios/Plugin/Classes/Options/ConnectOptions.swift +24 -0
- package/ios/Plugin/Classes/Options/ExecuteBatchOptions.swift +41 -0
- package/ios/Plugin/Classes/Options/ExecuteOptions.swift +23 -0
- package/ios/Plugin/Classes/Options/QueryOptions.swift +23 -0
- package/ios/Plugin/Classes/Options/RollbackTransactionOptions.swift +19 -0
- package/ios/Plugin/Classes/Options/SyncOptions.swift +14 -0
- package/ios/Plugin/Classes/Results/BeginTransactionResult.swift +16 -0
- package/ios/Plugin/Classes/Results/ConnectResult.swift +16 -0
- package/ios/Plugin/Classes/Results/QueryResult.swift +36 -0
- package/ios/Plugin/Enums/LibsqlError.swift +61 -0
- package/ios/Plugin/Libsql.swift +219 -0
- package/ios/Plugin/LibsqlPlugin.swift +166 -0
- package/ios/Plugin/Protocols/Result.swift +6 -0
- 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
|
+
}
|