GBA001/Delta/Database/GamesDatabase.swift
Riley Testut 93119b4714 Reorganizes Xcode project structure
Merges “Common” folder into main Delta target folder
2016-12-20 18:24:43 -06:00

49 lines
1.1 KiB
Swift

//
// GamesDatabase.swift
// Delta
//
// Created by Riley Testut on 11/16/16.
// Copyright © 2016 Riley Testut. All rights reserved.
//
import Foundation
import SQLite
class GamesDatabase
{
private let connection: Connection
init(fileURL: URL) throws
{
self.connection = try Connection(fileURL.path)
}
func artworkURL(for game: Game) -> URL?
{
let roms = Table("ROMs")
let releases = Table("RELEASES")
let hash = Expression<String>("romHashSHA1")
let romID = Expression<Int>("romID")
let artworkAddress = Expression<String?>("releaseCoverFront")
let gameHash = game.identifier.uppercased()
let query = roms.select(artworkAddress).filter(hash == gameHash).join(releases, on: roms[romID] == releases[romID])
do
{
if let row = try self.connection.pluck(query), let address = row[artworkAddress]
{
let url = URL(string: address)
return url
}
}
catch
{
print(error)
}
return nil
}
}