diff --git a/SodaLive/Resources/Info.plist b/SodaLive/Resources/Info.plist index 3f68a1e..252891c 100644 --- a/SodaLive/Resources/Info.plist +++ b/SodaLive/Resources/Info.plist @@ -2,19 +2,19 @@ - FirebaseAppDelegateProxyEnabled - - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - UIAppFonts - - gmarket_sans_bold.otf - gmarket_sans_medium.otf - gmarket_sans_light.otf - + FirebaseAppDelegateProxyEnabled + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + UIAppFonts + + gmarket_sans_bold.otf + gmarket_sans_medium.otf + gmarket_sans_light.otf + UIBackgroundModes audio diff --git a/SodaLive/Sources/MyPage/ServiceCenter/ServiceCenterView.swift b/SodaLive/Sources/MyPage/ServiceCenter/ServiceCenterView.swift index bf089ac..df71c06 100644 --- a/SodaLive/Sources/MyPage/ServiceCenter/ServiceCenterView.swift +++ b/SodaLive/Sources/MyPage/ServiceCenter/ServiceCenterView.swift @@ -43,7 +43,7 @@ struct ServiceCenterView: View { .cornerRadius(8) .padding(.top, 20) .onTapGesture { - UIApplication.shared.open(URL(string: "http://pf.kakao.com/_sZaeb")!) + UIApplication.shared.open(URL(string: "http://pf.kakao.com/_lkxgxhG/chat")!) } Rectangle() diff --git a/SodaLive/Sources/User/FindPassword/FindPasswordView.swift b/SodaLive/Sources/User/FindPassword/FindPasswordView.swift index 7ea90f7..9ac78dd 100644 --- a/SodaLive/Sources/User/FindPassword/FindPasswordView.swift +++ b/SodaLive/Sources/User/FindPassword/FindPasswordView.swift @@ -71,7 +71,7 @@ struct FindPasswordView: View { ) .padding(.top, 93) .onTapGesture { - UIApplication.shared.open(URL(string: "http://pf.kakao.com/_sZaeb")!) + UIApplication.shared.open(URL(string: "http://pf.kakao.com/_lkxgxhG/chat")!) } } } diff --git a/generated/EntityInfo-SodaLive.generated.swift b/generated/EntityInfo-SodaLive.generated.swift index ccabd90..995380a 100644 --- a/generated/EntityInfo-SodaLive.generated.swift +++ b/generated/EntityInfo-SodaLive.generated.swift @@ -1,5 +1,3 @@ -// Build your project to run Sourcery and create current contents for this file - // Generated using the ObjectBox Swift Generator — https://objectbox.io // DO NOT EDIT @@ -9,6 +7,209 @@ import Foundation // MARK: - Entity metadata + +extension PlaybackTracking: ObjectBox.__EntityRelatable { + internal typealias EntityType = PlaybackTracking + + internal var _id: EntityId { + return EntityId(self.id.value) + } +} + +extension PlaybackTracking: ObjectBox.EntityInspectable { + internal typealias EntityBindingType = PlaybackTrackingBinding + + /// Generated metadata used by ObjectBox to persist the entity. + internal static var entityInfo = ObjectBox.EntityInfo(name: "PlaybackTracking", id: 1) + + internal static var entityBinding = EntityBindingType() + + fileprivate static func buildEntity(modelBuilder: ObjectBox.ModelBuilder) throws { + let entityBuilder = try modelBuilder.entityBuilder(for: PlaybackTracking.self, id: 1, uid: 3505126452256778496) + try entityBuilder.addProperty(name: "id", type: PropertyType.long, flags: [.id], id: 1, uid: 3015742136611980288) + try entityBuilder.addProperty(name: "audioContentId", type: PropertyType.long, id: 2, uid: 4514028351567224064) + try entityBuilder.addProperty(name: "totalDuration", type: PropertyType.long, id: 3, uid: 2774692953804315136) + try entityBuilder.addProperty(name: "startPosition", type: PropertyType.long, id: 4, uid: 4685945140397464320) + try entityBuilder.addProperty(name: "isFree", type: PropertyType.bool, id: 5, uid: 3695738940226634752) + try entityBuilder.addProperty(name: "isPreview", type: PropertyType.bool, id: 6, uid: 3540290081935639552) + try entityBuilder.addProperty(name: "endPosition", type: PropertyType.long, id: 7, uid: 536664180525729280) + try entityBuilder.addProperty(name: "playDateTime", type: PropertyType.string, id: 8, uid: 6331873187329186816) + + try entityBuilder.lastProperty(id: 8, uid: 6331873187329186816) + } +} + +extension PlaybackTracking { + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { PlaybackTracking.id == myId } + internal static var id: Property { return Property(propertyId: 1, isPrimaryKey: true) } + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { PlaybackTracking.audioContentId > 1234 } + internal static var audioContentId: Property { return Property(propertyId: 2, isPrimaryKey: false) } + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { PlaybackTracking.totalDuration > 1234 } + internal static var totalDuration: Property { return Property(propertyId: 3, isPrimaryKey: false) } + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { PlaybackTracking.startPosition > 1234 } + internal static var startPosition: Property { return Property(propertyId: 4, isPrimaryKey: false) } + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { PlaybackTracking.isFree == true } + internal static var isFree: Property { return Property(propertyId: 5, isPrimaryKey: false) } + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { PlaybackTracking.isPreview == true } + internal static var isPreview: Property { return Property(propertyId: 6, isPrimaryKey: false) } + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { PlaybackTracking.endPosition > 1234 } + internal static var endPosition: Property { return Property(propertyId: 7, isPrimaryKey: false) } + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { PlaybackTracking.playDateTime.startsWith("X") } + internal static var playDateTime: Property { return Property(propertyId: 8, isPrimaryKey: false) } + + fileprivate func __setId(identifier: ObjectBox.Id) { + self.id = Id(identifier) + } +} + +extension ObjectBox.Property where E == PlaybackTracking { + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { .id == myId } + + internal static var id: Property { return Property(propertyId: 1, isPrimaryKey: true) } + + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { .audioContentId > 1234 } + + internal static var audioContentId: Property { return Property(propertyId: 2, isPrimaryKey: false) } + + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { .totalDuration > 1234 } + + internal static var totalDuration: Property { return Property(propertyId: 3, isPrimaryKey: false) } + + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { .startPosition > 1234 } + + internal static var startPosition: Property { return Property(propertyId: 4, isPrimaryKey: false) } + + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { .isFree == true } + + internal static var isFree: Property { return Property(propertyId: 5, isPrimaryKey: false) } + + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { .isPreview == true } + + internal static var isPreview: Property { return Property(propertyId: 6, isPrimaryKey: false) } + + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { .endPosition > 1234 } + + internal static var endPosition: Property { return Property(propertyId: 7, isPrimaryKey: false) } + + /// Generated entity property information. + /// + /// You may want to use this in queries to specify fetch conditions, for example: + /// + /// box.query { .playDateTime.startsWith("X") } + + internal static var playDateTime: Property { return Property(propertyId: 8, isPrimaryKey: false) } + +} + + +/// Generated service type to handle persisting and reading entity data. Exposed through `PlaybackTracking.EntityBindingType`. +internal class PlaybackTrackingBinding: ObjectBox.EntityBinding { + internal typealias EntityType = PlaybackTracking + internal typealias IdType = Id + + internal required init() {} + + internal func generatorBindingVersion() -> Int { 1 } + + internal func setEntityIdUnlessStruct(of entity: EntityType, to entityId: ObjectBox.Id) { + entity.__setId(identifier: entityId) + } + + internal func entityId(of entity: EntityType) -> ObjectBox.Id { + return entity.id.value + } + + internal func collect(fromEntity entity: EntityType, id: ObjectBox.Id, + propertyCollector: ObjectBox.FlatBufferBuilder, store: ObjectBox.Store) throws { + let propertyOffset_playDateTime = propertyCollector.prepare(string: entity.playDateTime) + + propertyCollector.collect(id, at: 2 + 2 * 1) + propertyCollector.collect(entity.audioContentId, at: 2 + 2 * 2) + propertyCollector.collect(entity.totalDuration, at: 2 + 2 * 3) + propertyCollector.collect(entity.startPosition, at: 2 + 2 * 4) + propertyCollector.collect(entity.isFree, at: 2 + 2 * 5) + propertyCollector.collect(entity.isPreview, at: 2 + 2 * 6) + propertyCollector.collect(entity.endPosition, at: 2 + 2 * 7) + propertyCollector.collect(dataOffset: propertyOffset_playDateTime, at: 2 + 2 * 8) + } + + internal func createEntity(entityReader: ObjectBox.FlatBufferReader, store: ObjectBox.Store) -> EntityType { + let entity = PlaybackTracking() + + entity.id = entityReader.read(at: 2 + 2 * 1) + entity.audioContentId = entityReader.read(at: 2 + 2 * 2) + entity.totalDuration = entityReader.read(at: 2 + 2 * 3) + entity.startPosition = entityReader.read(at: 2 + 2 * 4) + entity.isFree = entityReader.read(at: 2 + 2 * 5) + entity.isPreview = entityReader.read(at: 2 + 2 * 6) + entity.endPosition = entityReader.read(at: 2 + 2 * 7) + entity.playDateTime = entityReader.read(at: 2 + 2 * 8) + + return entity + } +} + + /// Helper function that allows calling Enum(rawValue: value) with a nil value, which will return nil. fileprivate func optConstruct(_ type: T.Type, rawValue: T.RawValue?) -> T? { guard let rawValue = rawValue else { return nil } @@ -19,7 +220,8 @@ fileprivate func optConstruct(_ type: T.Type, rawValue: T.R fileprivate func cModel() throws -> OpaquePointer { let modelBuilder = try ObjectBox.ModelBuilder() - modelBuilder.lastEntity(id: 0, uid: 0) + try PlaybackTracking.buildEntity(modelBuilder: modelBuilder) + modelBuilder.lastEntity(id: 1, uid: 3505126452256778496) return modelBuilder.finish() } diff --git a/model-SodaLive.json b/model-SodaLive.json new file mode 100644 index 0000000..099b4a3 --- /dev/null +++ b/model-SodaLive.json @@ -0,0 +1,67 @@ +{ + "_note1": "KEEP THIS FILE! Check it into a version control system (VCS) like git.", + "_note2": "ObjectBox manages crucial IDs for your object model. See docs for details.", + "_note3": "If you have VCS merge conflicts, you must resolve them according to ObjectBox docs.", + "entities": [ + { + "id": "1:3505126452256778496", + "lastPropertyId": "8:6331873187329186816", + "name": "PlaybackTracking", + "properties": [ + { + "flags": 1, + "id": "1:3015742136611980288", + "name": "id", + "type": 6 + }, + { + "id": "2:4514028351567224064", + "name": "audioContentId", + "type": 6 + }, + { + "id": "3:2774692953804315136", + "name": "totalDuration", + "type": 6 + }, + { + "id": "4:4685945140397464320", + "name": "startPosition", + "type": 6 + }, + { + "id": "5:3695738940226634752", + "name": "isFree", + "type": 1 + }, + { + "id": "6:3540290081935639552", + "name": "isPreview", + "type": 1 + }, + { + "id": "7:536664180525729280", + "name": "endPosition", + "type": 6 + }, + { + "id": "8:6331873187329186816", + "name": "playDateTime", + "type": 9 + } + ], + "relations": [] + } + ], + "lastEntityId": "1:3505126452256778496", + "lastIndexId": "0:0", + "lastRelationId": "0:0", + "lastSequenceId": "0:0", + "modelVersion": 5, + "modelVersionParserMinimum": 4, + "retiredEntityUids": [], + "retiredIndexUids": [], + "retiredPropertyUids": [], + "retiredRelationUids": [], + "version": 1 +} \ No newline at end of file