UNPKG

@aws-amplify/graphql-types-generator

Version:

Generate API code or type annotations based on a GraphQL schema and statements

87 lines (73 loc) 2.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.s3WrapperCode = void 0; exports.s3WrapperCode = ` extension S3Object: AWSS3ObjectProtocol { public func getBucketName() -> String { return bucket } public func getKeyName() -> String { return key } public func getRegion() -> String { return region } } extension S3ObjectInput: AWSS3ObjectProtocol, AWSS3InputObjectProtocol { public func getLocalSourceFileURL() -> URL? { return URL(string: self.localUri) } public func getMimeType() -> String { return self.mimeType } public func getBucketName() -> String { return self.bucket } public func getKeyName() -> String { return self.key } public func getRegion() -> String { return self.region } } import AWSS3 extension AWSS3PreSignedURLBuilder: AWSS3ObjectPresignedURLGenerator { public func getPresignedURL(s3Object: AWSS3ObjectProtocol) -> URL? { let request = AWSS3GetPreSignedURLRequest() request.bucket = s3Object.getBucketName() request.key = s3Object.getKeyName() var url : URL? self.getPreSignedURL(request).continueWith { (task) -> Any? in url = task.result as URL? }.waitUntilFinished() return url } } extension AWSS3TransferUtility: AWSS3ObjectManager { public func download(s3Object: AWSS3ObjectProtocol, toURL: URL, completion: @escaping ((Bool, Error?) -> Void)) { let completionBlock: AWSS3TransferUtilityDownloadCompletionHandlerBlock = { task, url, data, error -> Void in if let _ = error { completion(false, error) } else { completion(true, nil) } } let _ = self.download(to: toURL, bucket: s3Object.getBucketName(), key: s3Object.getKeyName(), expression: nil, completionHandler: completionBlock) } public func upload(s3Object: AWSS3ObjectProtocol & AWSS3InputObjectProtocol, completion: @escaping ((_ success: Bool, _ error: Error?) -> Void)) { let completionBlock : AWSS3TransferUtilityUploadCompletionHandlerBlock = { task, error -> Void in if let _ = error { completion(false, error) } else { completion(true, nil) } } let _ = self.uploadFile(s3Object.getLocalSourceFileURL()!, bucket: s3Object.getBucketName(), key: s3Object.getKeyName(), contentType: s3Object.getMimeType(), expression: nil, completionHandler: completionBlock).continueWith { (task) -> Any? in if let err = task.error { completion(false, err) } return nil } } }`; //# sourceMappingURL=s3Wrapper.js.map