Skip to content

Commit

Permalink
add more simple defaults to GridFS
Browse files Browse the repository at this point in the history
  • Loading branch information
Joannis committed Mar 31, 2020
1 parent aa5aa8e commit 3149130
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
4 changes: 2 additions & 2 deletions Sources/MongoKitten/GridFS/GridFSBucket.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ public final class GridFSBucket {
self.chunksCollection = database[name + ".chunks"]
}

public func upload(_ data: Data, filename: String?, id: Primitive = ObjectId(), metadata: Document? = nil, chunkSize: Int32 = GridFSBucket.defaultChunkSize) -> EventLoopFuture<Void> {
public func upload(_ data: Data, filename: String? = nil, id: Primitive = ObjectId(), metadata: Document? = nil, chunkSize: Int32 = GridFSBucket.defaultChunkSize) -> EventLoopFuture<Void> {
var buffer = GridFSFileWriter.allocator.buffer(capacity: data.count)
buffer.writeBytes(data)

let writer = GridFSFileWriter(fs: self, fileId: id, chunkSize: chunkSize, buffer: buffer)
return writer.finalize(filename: filename, metadata: metadata).map { _ in }
}

public func upload(_ buffer: ByteBuffer, filename: String?, id: Primitive = ObjectId(), metadata: Document? = nil, chunkSize: Int32 = GridFSBucket.defaultChunkSize) -> EventLoopFuture<Void> {
public func upload(_ buffer: ByteBuffer, filename: String? = nil, id: Primitive = ObjectId(), metadata: Document? = nil, chunkSize: Int32 = GridFSBucket.defaultChunkSize) -> EventLoopFuture<Void> {
let writer = GridFSFileWriter(fs: self, fileId: id, chunkSize: chunkSize, buffer: buffer)
return writer.finalize(filename: filename, metadata: metadata).map { _ in }
}
Expand Down
6 changes: 3 additions & 3 deletions Sources/MongoKitten/GridFS/GridFSFileWriter.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ public final class GridFSFileWriter {
var length: Int
var finalized = false

public init(toBucket fs: GridFSBucket, fileId: Primitive, chunkSize: Int32) {
public init(toBucket fs: GridFSBucket, fileId: Primitive = ObjectId(), chunkSize: Int32 = GridFSBucket.defaultChunkSize) {
self.fs = fs
self.fileId = fileId
self.chunkSize = chunkSize
self.buffer = GridFSFileWriter.allocator.buffer(capacity: Int(chunkSize))
self.length = self.buffer.readableBytes
}

internal init(fs: GridFSBucket, fileId: Primitive, chunkSize: Int32, buffer: ByteBuffer? = nil) {
internal init(fs: GridFSBucket, fileId: Primitive = ObjectId(), chunkSize: Int32 = GridFSBucket.defaultChunkSize, buffer: ByteBuffer? = nil) {
self.fs = fs
self.fileId = fileId
self.chunkSize = chunkSize
Expand All @@ -43,7 +43,7 @@ public final class GridFSFileWriter {
return self.flush()
}

public func finalize(filename: String?, metadata: Document? = nil) -> EventLoopFuture<GridFSFile> {
public func finalize(filename: String? = nil, metadata: Document? = nil) -> EventLoopFuture<GridFSFile> {
assert(self.finalized == false, "Finalizing a finalized writer is an error")

self.finalized = true
Expand Down

0 comments on commit 3149130

Please sign in to comment.