From f1869419b1783de6086816b6fa55da8cb47811ae Mon Sep 17 00:00:00 2001 From: Mykola Buhaiov Date: Thu, 7 Mar 2024 11:46:33 +0200 Subject: [PATCH] feat: add mongoDB to storage --- .../Extensions/Application+Extensions.swift | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Services/MongoComponents/Sources/Extensions/Application+Extensions.swift b/Services/MongoComponents/Sources/Extensions/Application+Extensions.swift index 194fd1b..527e1fe 100644 --- a/Services/MongoComponents/Sources/Extensions/Application+Extensions.swift +++ b/Services/MongoComponents/Sources/Extensions/Application+Extensions.swift @@ -57,3 +57,22 @@ extension Application { app.mongoCluster = try await MongoCluster(connectingTo: ConnectionSettings(connectionString)) */ } + +extension Application { + /// A `MongoDBKey` conform to StorageKey protocol + public struct MongoDBKey: StorageKey { + /// Less verbose typealias for `MongoDatabase`. + public typealias Value = MongoDatabase + } + + /// Setup `mongoDB` in application storage + public var mongoDB: MongoDatabase? { + get { storage[MongoDBKey.self] } + set { storage[MongoDBKey.self] = newValue } + } + + /* + /// For example setup mongo database need use method like this: + app.mongoDB = try await try MongoDatabase.lazyConnect(to: connectionString) + */ +}