Skip to content

Commit e713bb3

Browse files
authored
Merge pull request #259 from TaskarCenterAtUW/feature-remove-store-version-dependancy
Feature remove store version dependancy
2 parents f78c4fa + 145657d commit e713bb3

File tree

8 files changed

+28
-41
lines changed

8 files changed

+28
-41
lines changed

GoInfoGame/GoInfoGame/AppQuestManager.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,11 +147,11 @@ class AppQuestManager {
147147
let storedElementType = changeset.elementType
148148
var parserElement: osmparser.Element? = nil
149149
if (storedElementType == .node) {
150-
let storedElement = dbInstance.getNode(id: storedElementId, version: .original)
150+
let storedElement = dbInstance.getNode(id: storedElementId)
151151
parserElement = storedElement?.asNode()
152152
}
153153
else if (storedElementType == .way){
154-
let storedElement = dbInstance.getWay(id: storedElementId, version: .original)
154+
let storedElement = dbInstance.getWay(id: storedElementId)
155155
parserElement = storedElement?.asWay()
156156
}
157157
if let parserElement = parserElement {

GoInfoGame/GoInfoGame/DataBase/DBModels/StoredWay.swift

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,6 @@ import osmparser
1212
import MapKit
1313
import osmapi
1414

15-
enum StoredWayVersion: String {
16-
case original
17-
case edited
18-
}
19-
20-
enum StoredNodeVersion: String {
21-
case original
22-
case edited
23-
}
24-
25-
2615
// Represents one stored way
2716
class StoredWay: Object {
2817

GoInfoGame/GoInfoGame/DataBase/DatabaseConnector.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,8 @@ class DatabaseConnector {
220220
@param id: String value of the node ID
221221
@return StoredNode
222222
*/
223-
func getNode(id:Int, version: StoredNodeVersion) -> StoredNode? {
224-
let compoundId = "\(id)-\(version.rawValue)"
223+
func getNode(id:Int) -> StoredNode? {
224+
let compoundId = "\(id)"
225225
return realm.object(ofType: StoredNode.self, forPrimaryKey: compoundId)
226226
}
227227
/**
@@ -233,8 +233,8 @@ class DatabaseConnector {
233233
// return realm.object(ofType: StoredWay.self, forPrimaryKey: Int(id))
234234
// }
235235

236-
func getWay(id: Int, version: StoredWayVersion) -> StoredWay? {
237-
let compoundId = "\(id)-\(version.rawValue)"
236+
func getWay(id: Int) -> StoredWay? {
237+
let compoundId = "\(id)"
238238
return realm.object(ofType: StoredWay.self, forPrimaryKey: compoundId)
239239
}
240240

@@ -253,7 +253,7 @@ class DatabaseConnector {
253253
func addWayTags(id: Int, tags: [String: String], version: Int) -> StoredWay? {
254254

255255
// Step 1: Try to get the editable copy first
256-
if let editable = getWay(id: id, version: .original) {
256+
if let editable = getWay(id: id) {
257257
// Step 2: Update the existing editable copy
258258
do {
259259
try realm.write {
@@ -279,7 +279,7 @@ class DatabaseConnector {
279279
func addNodeTags(id: Int, tags: [String: String], version: Int) -> StoredNode? {
280280
print("🟣 addNodeTags called for id: \(id) with tags: \(tags)")
281281

282-
if let editable = getNode(id: id, version: .original) {
282+
if let editable = getNode(id: id) {
283283
print("✏️ Editable node exists: \(editable.compoundId)")
284284
do {
285285
try realm.write {
@@ -393,7 +393,7 @@ class DatabaseConnector {
393393

394394
func updateNodeVersion(nodeId: String, version:Int) -> StoredNode?{
395395
let intId = Int(nodeId) ?? -1
396-
guard let theNode = getNode(id: intId, version: .original) else { return nil }
396+
guard let theNode = getNode(id: intId) else { return nil }
397397
do {
398398
try realm.write {
399399
theNode.version = version
@@ -408,7 +408,7 @@ class DatabaseConnector {
408408

409409
func updateWayVersion(wayId: String, version: Int) -> StoredWay? {
410410
let intId = Int(wayId) ?? -1
411-
guard let theWay = getWay(id: intId, version: .original) else { return nil }
411+
guard let theWay = getWay(id: intId) else { return nil }
412412

413413
do {
414414
try realm.write {

GoInfoGame/GoInfoGame/UI/Map/MapView.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -406,8 +406,8 @@ struct MapView: View {
406406
print("selected workspace",selectedWorkspace?.title ?? "")
407407
QuestsRepository.shared.loadLongQuests(from: "longQuestJson")
408408
// self.baseUrl = "https://osm.workspaces-stage.sidewalks.washington.edu"
409-
// let original = DatabaseConnector.shared.getNode(id: 43, version: .original)
410-
// let edited = DatabaseConnector.shared.getNode(id: 43, version: .edited)
409+
// let original = DatabaseConnector.shared.getNode(id: 43)
410+
// let edited = DatabaseConnector.shared.getNode(id: 43)
411411
// print("ORIGINAL --->>>\(original)")
412412
// print("EDITED --->>>\(edited)")
413413
}

GoInfoGame/GoInfoGame/data/DatasyncManager.swift

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,16 @@ class DatasyncManager {
6565

6666
// Filter changesets that have valid edited versions
6767
let validChangesets = changesets.filter {
68-
let intId = Int($0.elementId) ?? -1
68+
let intId = Int($0.elementId)
6969
switch $0.elementType {
7070
case .way:
71-
let exists = self.dbInstance.getWay(id: intId, version: .original) != nil
71+
let exists = self.dbInstance.getWay(id: intId) != nil
7272
if !exists {
7373
print("⚠️ Edited way not found for ID: \(intId)")
7474
}
7575
return exists
7676
case .node:
77-
let exists = self.dbInstance.getNode(id: intId, version: .original) != nil
77+
let exists = self.dbInstance.getNode(id: intId) != nil
7878
if !exists {
7979
print("⚠️ Edited node not found for ID: \(intId)")
8080
}
@@ -90,12 +90,10 @@ class DatasyncManager {
9090
var waysToSync: [String: StoredChangeset] = [:]
9191

9292
for cs in validChangesets {
93-
let intId = Int(cs.elementId) ?? -1
94-
if cs.elementType == .node,
95-
let node = dbInstance.getNode(id: intId, version: .original) {
93+
let intId = Int(cs.elementId)
94+
if cs.elementType == .node {
9695
nodesToSync[cs.id] = cs
97-
} else if cs.elementType == .way,
98-
let way = dbInstance.getWay(id: intId, version: .original) {
96+
} else if cs.elementType == .way {
9997
waysToSync[cs.id] = cs
10098
}
10199
}
@@ -156,7 +154,7 @@ class DatasyncManager {
156154

157155

158156
func refreshOriginalWayIfNewer(_ newWay: OSMWay) {
159-
guard let existing = DatabaseConnector.shared.getWay(id: newWay.id, version: .original) else {
157+
guard let existing = DatabaseConnector.shared.getWay(id: newWay.id) else {
160158
DatabaseConnector.shared.saveOSMElements([newWay])
161159
return
162160
}
@@ -167,7 +165,7 @@ class DatasyncManager {
167165
}
168166

169167
func refreshOriginalNodeIfNewer(_ newNode: OSMNode) {
170-
guard let existing = DatabaseConnector.shared.getNode(id: newNode.id, version: .original) else {
168+
guard let existing = DatabaseConnector.shared.getNode(id: newNode.id) else {
171169
DatabaseConnector.shared.saveOSMElements([newNode])
172170
return
173171
}

GoInfoGame/GoInfoGame/quests/QuestProtocols.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,13 @@ class QuestBase {
8787
case .way:
8888
elementSubmittingToPOSM = .way
8989
// _ = DatabaseConnector.shared.addWayTags(id: storedId, tags: tags)
90-
let way = DatabaseConnector.shared.getWay(id: Int(id), version: .original)!
90+
let way = DatabaseConnector.shared.getWay(id: Int(id))!
9191
// Create a changeset
9292
_ = DatabaseConnector.shared.createChangeset(id: Int(id), type: storedElementType, originalTags: way.tags.toDictionary(), tags: tags, version: way.version, nodes: way.nodes)
9393
case .node:
9494
elementSubmittingToPOSM = .node
9595
// _ = DatabaseConnector.shared.addNodeTags(id: storedId, tags: tags)
96-
let node = DatabaseConnector.shared.getNode(id: Int(id), version: .original)!
96+
let node = DatabaseConnector.shared.getNode(id: Int(id))!
9797
// Create a changeset
9898
_ = DatabaseConnector.shared.createChangeset(id: Int(id), type: storedElementType, originalTags: node.tags.toDictionary(), tags: tags, version: node.version, point: node.point)
9999
case .unknown:

GoInfoGame/GoInfoGame/quests/QuestUndoManager.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,18 @@ extension MapUndoManager {
5454
// try? realm.write {
5555
// switch type {
5656
// case .way:
57-
// if let original = DatabaseConnector.shared.getWay(id: id, version: .original) {
57+
// if let original = DatabaseConnector.shared.getWay(id: id) {
5858
// original.tags["ext:gig_complete"] = "yes"
5959
// }
60-
// if let edited = DatabaseConnector.shared.getWay(id: id, version: .edited) {
60+
// if let edited = DatabaseConnector.shared.getWay(id: id) {
6161
// realm.delete(edited)
6262
// }
6363
//
6464
// case .node:
65-
// if let original = DatabaseConnector.shared.getNode(id: id, version: .original) {
65+
// if let original = DatabaseConnector.shared.getNode(id: id) {
6666
// original.tags["ext:gig_complete"] = "yes"
6767
// }
68-
// if let edited = DatabaseConnector.shared.getNode(id: id, version: .edited) {
68+
// if let edited = DatabaseConnector.shared.getNode(id: id) {
6969
// realm.delete(edited)
7070
// }
7171
//

GoInfoGame/GoInfoGameTests/UserFlowTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ final class UserFlowTests: XCTestCase {
172172
// Get the element type
173173
if changeset.elementType == .node {
174174
// Get the node
175-
if let node = dbInstance.getNode(id: Int(changeset.elementId) ?? 0, version: .original) {
175+
if let node = dbInstance.getNode(id: Int(changeset.elementId) ?? 0) {
176176
XCTAssert(node.tags.keys.contains("width"))
177177
// Publish the node here.
178178
let osmConnection = OSMConnection()
@@ -281,7 +281,7 @@ final class UserFlowTests: XCTestCase {
281281
if let node = AppQuestManager.shared.fetchQuestsFromDB().first(where: { element in
282282
element.id == nodeID
283283
}),
284-
let element = DatabaseConnector.shared.getNode(id: nodeID, version: .original) {
284+
let element = DatabaseConnector.shared.getNode(id: nodeID) {
285285
let tags = element.tags
286286
XCTAssert(tags[testingTagKey] != testingTagValue, "Testing tag is already present")
287287

0 commit comments

Comments
 (0)