From 155f5b69329dc030df887f9f9b2b52275e4ea640 Mon Sep 17 00:00:00 2001 From: "Steffen D. Sommer" Date: Tue, 5 Jun 2018 13:55:51 +0200 Subject: [PATCH] Split into multiple files --- .gitignore | 1 + Package.swift | 2 +- README.md | 34 +++++- Sources/Flash/Extensions/Future+Flash.swift | 9 ++ Sources/Flash/Extensions/Response+Flash.swift | 10 ++ .../Flash/Extensions/SubContainer+Flash.swift | 10 ++ .../Flash/Middlewares/FlashMiddleware.swift | 41 +++++++ Sources/Flash/Models/Flash.swift | 23 ++++ Sources/Flash/Models/FlashContainer.swift | 16 +++ Sources/Flash/Providers/FlashProvider.swift | 22 ++++ Sources/Flash/Tags/FlashTag.swift | 14 +-- Sources/Flash/flash.swift | 115 ------------------ flash.png | Bin 0 -> 57242 bytes 13 files changed, 172 insertions(+), 125 deletions(-) create mode 100644 Sources/Flash/Extensions/Future+Flash.swift create mode 100644 Sources/Flash/Extensions/Response+Flash.swift create mode 100644 Sources/Flash/Extensions/SubContainer+Flash.swift create mode 100644 Sources/Flash/Middlewares/FlashMiddleware.swift create mode 100644 Sources/Flash/Models/Flash.swift create mode 100644 Sources/Flash/Models/FlashContainer.swift create mode 100644 Sources/Flash/Providers/FlashProvider.swift delete mode 100644 Sources/Flash/flash.swift create mode 100644 flash.png diff --git a/.gitignore b/.gitignore index 0005e74..2f614f1 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ bower_components/ .swift-version CMakeLists.txt Package.pins +Package.resolved diff --git a/Package.swift b/Package.swift index cb4e36a..6837137 100644 --- a/Package.swift +++ b/Package.swift @@ -7,7 +7,7 @@ let package = Package( .library(name: "Flash", targets: ["Flash"]), ], dependencies: [ - .package(url: "https://github.com/vapor/vapor.git", from: "3.0.0-rc"), + .package(url: "https://github.com/vapor/vapor.git", from: "3.0.0"), .package(url: "https://github.com/vapor/leaf.git", from: "3.0.0-rc"), ], targets: [ diff --git a/README.md b/README.md index 38cd37b..193281e 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This package is to ease using flash message between your views -![image](https://cloud.githubusercontent.com/assets/1279756/21659442/fcfdd126-d2ca-11e6-8157-d6860aa02363.png) +![image](https://github.com/nodes-vapor/flash/blob/master/flash.png) # Installation @@ -20,10 +20,40 @@ Update your `Package.swift` file. ## Getting started 🚀 -TODO. While we make the docs, feel free to look at how [Admin Panel](https://github.com/nodes-vapor/admin-panel/tree/vapor-3) uses this package. +First make sure that you've imported Flash everywhere when needed: + +```swift +import Flash +``` + +### Adding the provider + +```swift +public func register(_ services: inout Services) throws { + try services.register(FlashProvider()) +} +``` + +### Adding the middleware + +TODO + +### Adding the Leaf tag + +TODO + +## Using Flash messages + +TODO ### Example of HTML +#### Not using the Bootstrap package + +TODO + +#### Using the Bootstrap package + The below example uses the Vapor 3 [Bootstrap package](https://github.com/nodes-vapor/bootstrap) for generating the alert html. ```html diff --git a/Sources/Flash/Extensions/Future+Flash.swift b/Sources/Flash/Extensions/Future+Flash.swift new file mode 100644 index 0000000..14251bc --- /dev/null +++ b/Sources/Flash/Extensions/Future+Flash.swift @@ -0,0 +1,9 @@ +import Vapor + +public extension Future where T: Response { + public func flash(_ type: Flash.Kind, _ message: String) -> Future { + return self.map(to: Response.self) { res in + return res.flash(type, message) + } + } +} diff --git a/Sources/Flash/Extensions/Response+Flash.swift b/Sources/Flash/Extensions/Response+Flash.swift new file mode 100644 index 0000000..dc1eafd --- /dev/null +++ b/Sources/Flash/Extensions/Response+Flash.swift @@ -0,0 +1,10 @@ +import Vapor + +public extension Response { + public func flash(_ type: Flash.Kind, _ message: String) -> Response { + if let container = try? privateContainer.make(FlashContainer.self) { + container.flashes.append(.init(type, message)) + } + return self + } +} diff --git a/Sources/Flash/Extensions/SubContainer+Flash.swift b/Sources/Flash/Extensions/SubContainer+Flash.swift new file mode 100644 index 0000000..60b72fa --- /dev/null +++ b/Sources/Flash/Extensions/SubContainer+Flash.swift @@ -0,0 +1,10 @@ +import Vapor + +extension SubContainer { + public func flash(_ type: Flash.Kind, _ message: String) -> SubContainer { + if let container = try? self.make(FlashContainer.self) { + container.flashes.append(.init(type, message)) + } + return self + } +} diff --git a/Sources/Flash/Middlewares/FlashMiddleware.swift b/Sources/Flash/Middlewares/FlashMiddleware.swift new file mode 100644 index 0000000..2f25293 --- /dev/null +++ b/Sources/Flash/Middlewares/FlashMiddleware.swift @@ -0,0 +1,41 @@ +import Vapor + +public struct FlashMiddleware: Middleware, ServiceType { + private static let sessionKey = "_flash" + + public static func makeService(for container: Container) throws -> FlashMiddleware { + return .init() + } + + public init() {} + + /// See Middleware.respond + public func respond(to req: Request, chainingTo next: Responder) throws -> Future { + try FlashMiddleware.handle(req: req) + return try next.respond(to: req) + .map(to: Response.self) { resp in + try FlashMiddleware.handle(req: req, resp: resp) + return resp + } + } + + public static func handle(req: Request) throws { + let session = try req.session() + + if let data = session[sessionKey]?.data(using: .utf8) { + let flash = try JSONDecoder().decode(FlashContainer.self, from: data) + let container = try req.privateContainer.make(FlashContainer.self) + container.new = flash.new + container.old = flash.old + } + } + + public static func handle(req: Request, resp: Response) throws { + let container = try resp.privateContainer.make(FlashContainer.self) + let flash = try String( + data: JSONEncoder().encode(container), + encoding: .utf8 + ) + try req.session()[sessionKey] = flash + } +} diff --git a/Sources/Flash/Models/Flash.swift b/Sources/Flash/Models/Flash.swift new file mode 100644 index 0000000..b6a1fd0 --- /dev/null +++ b/Sources/Flash/Models/Flash.swift @@ -0,0 +1,23 @@ +import Vapor + +public final class Flash: Codable { + public enum Kind: String, Codable { + case error + case success + case info + case warning + } + + public var kind: Kind + public var message: String + + public init(kind: Kind, message: String) { + self.kind = kind + self.message = message + } + + public init(_ kind: Kind, _ message: String) { + self.kind = kind + self.message = message + } +} diff --git a/Sources/Flash/Models/FlashContainer.swift b/Sources/Flash/Models/FlashContainer.swift new file mode 100644 index 0000000..d9ffbcd --- /dev/null +++ b/Sources/Flash/Models/FlashContainer.swift @@ -0,0 +1,16 @@ +import Vapor + +public final class FlashContainer: Codable, Service { + public var new: [Flash] = [] + public var old: [Flash] = [] + + public var flashes: [Flash] { + get { + return new + } + + set { + new = newValue + } + } +} diff --git a/Sources/Flash/Providers/FlashProvider.swift b/Sources/Flash/Providers/FlashProvider.swift new file mode 100644 index 0000000..b04f438 --- /dev/null +++ b/Sources/Flash/Providers/FlashProvider.swift @@ -0,0 +1,22 @@ +import Vapor + +extension FlashProvider { + public static var tags: [String: TagRenderer] { + return ["flash": FlashTag()] + } +} + +public final class FlashProvider: Provider { + public init() {} + + public func register(_ services: inout Services) throws { + services.register(FlashMiddleware.self) + services.register { container in + return FlashContainer() + } + } + + public func didBoot(_ container: Container) throws -> EventLoopFuture { + return .done(on: container) + } +} diff --git a/Sources/Flash/Tags/FlashTag.swift b/Sources/Flash/Tags/FlashTag.swift index dbad77f..e2c3cb1 100644 --- a/Sources/Flash/Tags/FlashTag.swift +++ b/Sources/Flash/Tags/FlashTag.swift @@ -18,22 +18,22 @@ public final class FlashTag: TagRenderer { }) dict["errors"] = try .array(flash.flashes.compactMap { flash in - guard flash.type == .error else { return nil } + guard flash.kind == .error else { return nil } return try flash.convertToTemplateData() }) dict["warnings"] = try .array(flash.flashes.compactMap { flash in - guard flash.type == .warning else { return nil } + guard flash.kind == .warning else { return nil } return try flash.convertToTemplateData() }) dict["successes"] = try .array(flash.flashes.compactMap { flash in - guard flash.type == .success else { return nil } + guard flash.kind == .success else { return nil } return try flash.convertToTemplateData() }) dict["information"] = try .array(flash.flashes.compactMap { flash in - guard flash.type == .info else { return nil } + guard flash.kind == .info else { return nil } return try flash.convertToTemplateData() }) @@ -51,14 +51,14 @@ public final class FlashTag: TagRenderer { extension Flash: TemplateDataRepresentable { public func convertToTemplateData() throws -> TemplateData { return TemplateData.dictionary([ - "type": .string(self.type.rawValue), - "bootstrapType": .string(self.type.bootstrapClass), + "kind": .string(self.kind.rawValue), + "bootstrapClass": .string(self.kind.bootstrapClass), "message": .string(self.message) ]) } } -extension FlashType { +extension Flash.Kind { var bootstrapClass: String { switch self { case .error: return "danger" diff --git a/Sources/Flash/flash.swift b/Sources/Flash/flash.swift deleted file mode 100644 index 64db487..0000000 --- a/Sources/Flash/flash.swift +++ /dev/null @@ -1,115 +0,0 @@ -import Service -import Vapor - -extension FlashProvider { - public static var tags: [String: TagRenderer] { - return ["flash": FlashTag()] - } -} - -public final class FlashProvider: Provider { - public init() {} - - public func register(_ services: inout Services) throws { - services.register { container in - return FlashContainer() - } - } - - public func didBoot(_ container: Container) throws -> EventLoopFuture { - return .done(on: container) - } -} - -public final class Flash: Codable { - public var type: FlashType - public var message: String - - public init(type: FlashType, message: String) { - self.type = type - self.message = message - } - - public init(_ type: FlashType, _ message: String) { - self.type = type - self.message = message - } -} - -public final class FlashContainer: Codable, Service { - public var new: [Flash] = [] - public var old: [Flash] = [] - - public var flashes: [Flash] { - get { - return new - } - - set { - new = newValue - } - } -} - -public enum FlashType: String, Codable { - case error - case success - case info - case warning -} - -public extension Response { - public func flash(_ type: FlashType, _ message: String) -> Response { - if let container = try? privateContainer.make(FlashContainer.self) { - container.flashes.append(.init(type, message)) - } - - return self - } -} - -public extension EventLoopFuture where T: Response { - public func flash(_ type: FlashType, _ message: String) -> Future { - return self.map(to: Response.self) { res in - if let container = try? res.privateContainer.make(FlashContainer.self) { - container.flashes.append(.init(type, message)) - } - - return res - } - } -} - -public struct FlashMiddleware: Middleware { - public init() {} - - /// See Middleware.respond - public func respond(to req: Request, chainingTo next: Responder) throws -> Future { - try FlashMiddleware.handle(req: req) - return try next.respond(to: req) - .map(to: Response.self) { resp in - try FlashMiddleware.handle(req: req, resp: resp) - return resp - } - } - - public static func handle(req: Request) throws { - let session = try req.session() - - if let data = session["_flash"]?.data(using: .utf8) { - let flash = try JSONDecoder().decode(FlashContainer.self, from: data) - let container = try req.privateContainer.make(FlashContainer.self) - container.new = flash.new - container.old = flash.old - } - } - - public static func handle(req: Request, resp: Response) throws { - let container = try resp.privateContainer.make(FlashContainer.self) - let flash = try String( - data: JSONEncoder().encode(container), - encoding: .utf8 - ) - try req.session()["_flash"] = flash - } -} diff --git a/flash.png b/flash.png new file mode 100644 index 0000000000000000000000000000000000000000..b13a2bdf1ca2cffcb90a7507d82000dcb6fc646e GIT binary patch literal 57242 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