35 lines
1.2 KiB
Swift
35 lines
1.2 KiB
Swift
//
|
|
// ObjectBoxService.swift
|
|
// SodaLive
|
|
//
|
|
// Created by klaus on 2023/08/11.
|
|
//
|
|
|
|
import Foundation
|
|
import ObjectBox
|
|
|
|
class ObjectBoxService {
|
|
let store: Store!
|
|
let playbackTrackingBox: Box<PlaybackTracking>
|
|
|
|
init() {
|
|
let databaseName = "yozmlive"
|
|
let appSupport = try! FileManager.default.url(for: .applicationSupportDirectory,
|
|
in: .userDomainMask,
|
|
appropriateFor: nil,
|
|
create: true)
|
|
.appendingPathComponent(Bundle.main.bundleIdentifier!)
|
|
let directory = appSupport.appendingPathComponent(databaseName)
|
|
try? FileManager.default.createDirectory(at: directory,
|
|
withIntermediateDirectories: true,
|
|
attributes: nil)
|
|
|
|
if try! Store.isOpen(directory: directory.path) {
|
|
self.store = try! Store.attachTo(directory: directory.path)
|
|
} else {
|
|
self.store = try! Store(directoryPath: directory.path)
|
|
}
|
|
self.playbackTrackingBox = store.box(for: PlaybackTracking.self)
|
|
}
|
|
}
|