mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-09 06:43:25 +01:00
[AltStoreCore] Fixes incorrectly merging permissions for same app from different sources
This commit is contained in:
@@ -27,8 +27,9 @@
|
|||||||
</uniquenessConstraints>
|
</uniquenessConstraints>
|
||||||
</entity>
|
</entity>
|
||||||
<entity name="AppPermission" representedClassName="AppPermission" syncable="YES">
|
<entity name="AppPermission" representedClassName="AppPermission" syncable="YES">
|
||||||
<attribute name="appBundleID" optional="YES" attributeType="String"/>
|
<attribute name="appBundleID" attributeType="String"/>
|
||||||
<attribute name="permission" attributeType="String"/>
|
<attribute name="permission" attributeType="String"/>
|
||||||
|
<attribute name="sourceID" attributeType="String"/>
|
||||||
<attribute name="type" attributeType="String"/>
|
<attribute name="type" attributeType="String"/>
|
||||||
<attribute name="usageDescription" attributeType="String"/>
|
<attribute name="usageDescription" attributeType="String"/>
|
||||||
<relationship name="app" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="StoreApp" inverseName="permissions" inverseEntity="StoreApp"/>
|
<relationship name="app" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="StoreApp" inverseName="permissions" inverseEntity="StoreApp"/>
|
||||||
@@ -37,6 +38,7 @@
|
|||||||
<constraint value="appBundleID"/>
|
<constraint value="appBundleID"/>
|
||||||
<constraint value="permission"/>
|
<constraint value="permission"/>
|
||||||
<constraint value="type"/>
|
<constraint value="type"/>
|
||||||
|
<constraint value="sourceID"/>
|
||||||
</uniquenessConstraint>
|
</uniquenessConstraint>
|
||||||
</uniquenessConstraints>
|
</uniquenessConstraints>
|
||||||
</entity>
|
</entity>
|
||||||
|
|||||||
@@ -97,7 +97,8 @@ public class AppPermission: NSManagedObject, Decodable, Fetchable
|
|||||||
@NSManaged @objc(permission) private var _permission: String
|
@NSManaged @objc(permission) private var _permission: String
|
||||||
|
|
||||||
// Set by StoreApp.
|
// Set by StoreApp.
|
||||||
@NSManaged public var appBundleID: String?
|
@NSManaged public var appBundleID: String
|
||||||
|
@NSManaged public var sourceID: String
|
||||||
|
|
||||||
/* Relationships */
|
/* Relationships */
|
||||||
@NSManaged public internal(set) var app: StoreApp?
|
@NSManaged public internal(set) var app: StoreApp?
|
||||||
|
|||||||
@@ -137,6 +137,11 @@ public class StoreApp: NSManagedObject, Decodable, Fetchable
|
|||||||
{
|
{
|
||||||
version.sourceID = newValue
|
version.sourceID = newValue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for permission in self.permissions
|
||||||
|
{
|
||||||
|
permission.sourceID = self.sourceIdentifier ?? ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@NSManaged private var primitiveSourceIdentifier: String?
|
@NSManaged private var primitiveSourceIdentifier: String?
|
||||||
|
|||||||
Reference in New Issue
Block a user