Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ Pods
Podfile.lock
Build
xcuserdata
Package.resolved
/.build
/Packages
.swiftpm/configuration/registries.json
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
.netrc

# macOS files
.DS_Store
Expand Down
32 changes: 32 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// swift-tools-version: 5.9
import PackageDescription

let package = Package(
name: "CapacitorCommunitySqlite",
platforms: [.iOS(.v15)],
products: [
.library(
name: "CapacitorCommunitySqlite",
targets: ["CapacitorSQLitePlugin"])
],
dependencies: [
.package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", branch: "8.0.0"),
.package(url: "https://github.com/sqlcipher/SQLCipher.swift.git", from: "4.14.0"),
.package(url: "https://github.com/weichsel/ZIPFoundation.git", from: "0.9.0")
],
targets: [
.target(
name: "CapacitorSQLitePlugin",
dependencies: [
.product(name: "Capacitor", package: "capacitor-swift-pm"),
.product(name: "Cordova", package: "capacitor-swift-pm"),
.product(name: "SQLCipher", package: "SQLCipher.swift"),
.product(name: "ZIPFoundation", package: "ZIPFoundation")
],
path: "ios/Plugin"),
.testTarget(
name: "CapacitorSQLitePluginTests",
dependencies: ["CapacitorSQLitePlugin"],
path: "ios/PluginTests")
]
)
8 changes: 0 additions & 8 deletions ios/Plugin.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,7 @@
2F98D68224C9AAE500613A4C /* CapacitorSQLite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F98D68124C9AAE400613A4C /* CapacitorSQLite.swift */; };
50ADFF92201F53D600D50D53 /* Plugin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50ADFF88201F53D600D50D53 /* Plugin.framework */; };
50ADFF97201F53D600D50D53 /* CapacitorSQLitePluginTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50ADFF96201F53D600D50D53 /* CapacitorSQLitePluginTests.swift */; };
50ADFF99201F53D600D50D53 /* CapacitorSQLitePlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 50ADFF8B201F53D600D50D53 /* CapacitorSQLitePlugin.h */; settings = {ATTRIBUTES = (Public, ); }; };
50ADFFA42020D75100D50D53 /* Capacitor.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50ADFFA52020D75100D50D53 /* Capacitor.framework */; };
50ADFFA82020EE4F00D50D53 /* CapacitorSQLitePlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 50ADFFA72020EE4F00D50D53 /* CapacitorSQLitePlugin.m */; };
50E1A94820377CB70090CE1A /* CapacitorSQLitePlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E1A94720377CB70090CE1A /* CapacitorSQLitePlugin.swift */; };
/* End PBXBuildFile section */

Expand Down Expand Up @@ -88,13 +86,11 @@
2F98D68124C9AAE400613A4C /* CapacitorSQLite.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CapacitorSQLite.swift; sourceTree = "<group>"; };
3B2A61DA5A1F2DD4F959604D /* Pods_Plugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Plugin.framework; sourceTree = BUILT_PRODUCTS_DIR; };
50ADFF88201F53D600D50D53 /* Plugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Plugin.framework; sourceTree = BUILT_PRODUCTS_DIR; };
50ADFF8B201F53D600D50D53 /* CapacitorSQLitePlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CapacitorSQLitePlugin.h; sourceTree = "<group>"; };
50ADFF8C201F53D600D50D53 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
50ADFF91201F53D600D50D53 /* PluginTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PluginTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
50ADFF96201F53D600D50D53 /* CapacitorSQLitePluginTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CapacitorSQLitePluginTests.swift; sourceTree = "<group>"; };
50ADFF98201F53D600D50D53 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
50ADFFA52020D75100D50D53 /* Capacitor.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Capacitor.framework; sourceTree = BUILT_PRODUCTS_DIR; };
50ADFFA72020EE4F00D50D53 /* CapacitorSQLitePlugin.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CapacitorSQLitePlugin.m; sourceTree = "<group>"; };
50E1A94720377CB70090CE1A /* CapacitorSQLitePlugin.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CapacitorSQLitePlugin.swift; sourceTree = "<group>"; };
5E23F77F099397094342571A /* Pods-Plugin.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Plugin.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Plugin/Pods-Plugin.debug.xcconfig"; sourceTree = "<group>"; };
91781294A431A2A7CC6EB714 /* Pods-Plugin.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Plugin.release.xcconfig"; path = "Pods/Target Support Files/Pods-Plugin/Pods-Plugin.release.xcconfig"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -205,8 +201,6 @@
2C3AF2F725B591BC00C5EF2F /* Utils */,
2F98D68124C9AAE400613A4C /* CapacitorSQLite.swift */,
50E1A94720377CB70090CE1A /* CapacitorSQLitePlugin.swift */,
50ADFF8B201F53D600D50D53 /* CapacitorSQLitePlugin.h */,
50ADFFA72020EE4F00D50D53 /* CapacitorSQLitePlugin.m */,
50ADFF8C201F53D600D50D53 /* Info.plist */,
2CB89AE227C57603001F464B /* BiometricIDAuthentication.swift */,
2C3AF2F325B58EC400C5EF2F /* Database.swift */,
Expand Down Expand Up @@ -255,7 +249,6 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
50ADFF99201F53D600D50D53 /* CapacitorSQLitePlugin.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -451,7 +444,6 @@
2CB9B93A2601EF3700743730 /* UtilsMigrate.swift in Sources */,
2CB4368728EEEFF500C973AA /* UtilsDownloadFromHTTP.swift in Sources */,
2C8C860B2A84373F001F9CB2 /* UtilsSQLStatement.swift in Sources */,
50ADFFA82020EE4F00D50D53 /* CapacitorSQLitePlugin.m in Sources */,
2C3AF31A25B593E500C5EF2F /* UtilsUpgrade.swift in Sources */,
2C3AF31225B5938500C5EF2F /* UtilsJson.swift in Sources */,
2CB89AE327C57603001F464B /* BiometricIDAuthentication.swift in Sources */,
Expand Down
10 changes: 0 additions & 10 deletions ios/Plugin/CapacitorSQLitePlugin.h

This file was deleted.

56 changes: 0 additions & 56 deletions ios/Plugin/CapacitorSQLitePlugin.m

This file was deleted.

55 changes: 54 additions & 1 deletion ios/Plugin/CapacitorSQLitePlugin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,60 @@ import Capacitor
@objc(CapacitorSQLitePlugin)
// swiftlint:disable file_length
// swiftlint:disable type_body_length
public class CapacitorSQLitePlugin: CAPPlugin {
public class CapacitorSQLitePlugin: CAPPlugin, CAPBridgedPlugin {
public let identifier = "CapacitorSQLitePlugin"
public let jsName = "CapacitorSQLite"
public let pluginMethods: [CAPPluginMethod] = [
CAPPluginMethod(name: "echo", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "createConnection", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "closeConnection", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "createNCConnection", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "closeNCConnection", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "getNCDatabasePath", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "open", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "close", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "getUrl", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "getVersion", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "execute", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "executeSet", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "run", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "query", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "isDBExists", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "isDBOpen", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "deleteDatabase", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "importFromJson", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "isJsonValid", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "exportToJson", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "deleteExportedRows", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "createSyncTable", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "setSyncDate", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "getSyncDate", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "addUpgradeStatement", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "copyFromAssets", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "isDatabase", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "isNCDatabase", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "isTableExists", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "getDatabaseList", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "getTableList", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "getMigratableDbList", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "addSQLiteSuffix", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "deleteOldDatabases", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "moveDatabasesAndAddSuffix", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "checkConnectionsConsistency", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "isSecretStored", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "setEncryptionSecret", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "changeEncryptionSecret", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "clearEncryptionSecret", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "getFromHTTPRequest", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "checkEncryptionSecret", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "isInConfigEncryption", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "isInConfigBiometricAuth", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "isDatabaseEncrypted", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "beginTransaction", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "commitTransaction", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "rollbackTransaction", returnType: CAPPluginReturnPromise),
CAPPluginMethod(name: "isTransactionActive", returnType: CAPPluginReturnPromise)
]
private var implementation: CapacitorSQLite?
private let modeList: [String] = ["no-encryption", "encryption", "secret",
"decryption", "newsecret", "wrongsecret"]
Expand Down
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
"src/",
"ios/Plugin/",
"electron/",
"CapacitorCommunitySqlite.podspec"
"CapacitorCommunitySqlite.podspec",
"Package.swift"
],
"author": "Robin Genz <mail@robingenz.dev>",
"license": "MIT",
Expand Down Expand Up @@ -57,7 +58,8 @@
"watch": "tsc --watch",
"test": "echo \"No test specified\"",
"prepublishOnly": "npm run build && npm run build-electron && npm run docgen",
"release": "commit-and-tag-version"
"release": "commit-and-tag-version",
"ios:spm:install": "swift package resolve"
},
"devDependencies": {
"@capacitor/android": "^8.0.0",
Expand Down
Loading