Skip to content

Commit 1b76ad9

Browse files
committed
Rename COS.Object.key and add convenient access to the real key
1 parent 749bb17 commit 1b76ad9

File tree

5 files changed

+12
-8
lines changed

5 files changed

+12
-8
lines changed

Examples/LocalDebugging/MyCloudFunction/scripts/package.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ set -eu
3131
executable=$1
3232

3333
target=".build/scf/$executable"
34-
rm -rf "$target" "$target.zip"
34+
rm -rf "$target"
3535
mkdir -p "$target"
3636

3737
cp ".build/release/$executable" "$target/"

Sources/TencentSCFEvents/COS/COS.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,11 @@ public enum COS {
7171

7272
public struct Object: Equatable {
7373
public let url: URL
74-
public let key: String
74+
public let fullKey: String
75+
public var key: String {
76+
fullKey.split(separator: "/").dropFirst(2).joined(separator: "/")
77+
}
78+
7579
public let vid: String
7680
public let size: UInt64
7781

Sources/TencentSCFEvents/COS/EventRecord+Codable.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ extension COS.Event.Record: Codable {
3333

3434
public init(from decoder: Decoder) throws {
3535
let container = try decoder.container(keyedBy: CodingKeys.self)
36-
3736
cos = try container.decode(COS.Entity.self, forKey: .cos)
3837

3938
let eventContainer = try container.nestedContainer(keyedBy: EventCodingKeys.self, forKey: .event)

Sources/TencentSCFEvents/COS/Object+Codable.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ extension COS.Object: Codable {
3939
let container = try decoder.container(keyedBy: CodingKeys.self)
4040

4141
url = try container.decode(URL.self, forKey: .url)
42-
key = try container.decode(String.self, forKey: .key)
42+
fullKey = try container.decode(String.self, forKey: .key)
4343
vid = try container.decode(String.self, forKey: .vid)
4444
size = try container.decode(UInt64.self, forKey: .size)
4545

@@ -57,7 +57,7 @@ extension COS.Object: Codable {
5757
public func encode(to encoder: Encoder) throws {
5858
var container = encoder.container(keyedBy: CodingKeys.self)
5959
try container.encode(url, forKey: .url)
60-
try container.encode(key, forKey: .key)
60+
try container.encode(fullKey, forKey: .key)
6161
try container.encode(vid, forKey: .vid)
6262
try container.encode(size, forKey: .size)
6363
try container.encode(customMeta.mapKeys { "x-cos-meta-" + $0 }, forKey: .meta)

Tests/TencentSCFEventsTests/COSTests.swift

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class COSTests: XCTestCase {
5454
"cosNotificationId": "unknown"
5555
},
5656
"event": {
57-
"eventName": "cos:ObjectCreated:*",
57+
"eventName": "cos:ObjectCreated:CompleteMultipartUpload",
5858
"eventVersion": "1.0",
5959
"eventTime": 1545205770,
6060
"eventSource": "qcs::cos",
@@ -87,7 +87,8 @@ class COSTests: XCTestCase {
8787
XCTAssertEqual(record.cos.bucket.region, "cd")
8888
XCTAssertEqual(record.cos.bucket.name, "testpic")
8989
XCTAssertEqual(record.cos.bucket.appid, "1253970026")
90-
XCTAssertEqual(record.cos.object.key, "/1253970026/testpic/testfile")
90+
XCTAssertEqual(record.cos.object.fullKey, "/1253970026/testpic/testfile")
91+
XCTAssertEqual(record.cos.object.key, "testfile")
9192
XCTAssertEqual(record.cos.object.size, 1029)
9293
XCTAssertEqual(record.cos.object.vid, "")
9394
XCTAssertEqual(record.cos.object.contentType, "")
@@ -97,7 +98,7 @@ class COSTests: XCTestCase {
9798
XCTAssertEqual(record.cos.object.expireTime?.description, "2012-04-05 21:47:37 +0000")
9899
XCTAssertEqual(record.cos.object.customMeta, ["mykey": "myvalue"])
99100

100-
XCTAssertEqual(record.eventName, "cos:ObjectCreated:*")
101+
XCTAssertEqual(record.eventName, "cos:ObjectCreated:CompleteMultipartUpload")
101102
XCTAssertEqual(record.eventVersion, "1.0")
102103
XCTAssertEqual(record.eventSource, "qcs::cos")
103104
XCTAssertEqual(record.eventTime, Date(timeIntervalSince1970: 1_545_205_770))

0 commit comments

Comments
 (0)