Skip to content
This repository was archived by the owner on Sep 15, 2025. It is now read-only.

Commit 46e3a5f

Browse files
committed
Move WordPressComRESTAPIVersionedPathBuilder to APIInterface/
1 parent d1c738c commit 46e3a5f

File tree

6 files changed

+76
-61
lines changed

6 files changed

+76
-61
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#import <Foundation/Foundation.h>
2+
#import "WordPressKit/WordPressComRESTAPIVersionedPathBuilder.h"
3+
4+
static NSString* const WordPressComRESTApiVersionStringInvalid = @"invalid_api_version";
5+
static NSString* const WordPressComRESTApiVersionString_1_0 = @"rest/v1";
6+
static NSString* const WordPressComRESTApiVersionString_1_1 = @"rest/v1.1";
7+
static NSString* const WordPressComRESTApiVersionString_1_2 = @"rest/v1.2";
8+
static NSString* const WordPressComRESTApiVersionString_1_3 = @"rest/v1.3";
9+
static NSString* const WordPressComRESTApiVersionString_2_0 = @"wpcom/v2";
10+
11+
@implementation WordPressComRESTAPIVersionedPathBuilder
12+
13+
+ (NSString *)pathForEndpoint:(NSString *)endpoint
14+
withVersion:(WordPressComRESTAPIVersion)apiVersion
15+
{
16+
NSString *apiVersionString = [self apiVersionStringWithEnumValue:apiVersion];
17+
18+
return [NSString stringWithFormat:@"%@/%@", apiVersionString, endpoint];
19+
}
20+
21+
+ (NSString *)apiVersionStringWithEnumValue:(WordPressComRESTAPIVersion)apiVersion
22+
{
23+
NSString *result = nil;
24+
25+
switch (apiVersion) {
26+
case WordPressComRESTAPIVersion_1_0:
27+
result = WordPressComRESTApiVersionString_1_0;
28+
break;
29+
30+
case WordPressComRESTAPIVersion_1_1:
31+
result = WordPressComRESTApiVersionString_1_1;
32+
break;
33+
34+
case WordPressComRESTAPIVersion_1_2:
35+
result = WordPressComRESTApiVersionString_1_2;
36+
break;
37+
38+
case WordPressComRESTAPIVersion_1_3:
39+
result = WordPressComRESTApiVersionString_1_3;
40+
break;
41+
42+
case WordPressComRESTAPIVersion_2_0:
43+
result = WordPressComRESTApiVersionString_2_0;
44+
break;
45+
46+
default:
47+
NSAssert(NO, @"This should never by executed");
48+
result = WordPressComRESTApiVersionStringInvalid;
49+
break;
50+
}
51+
52+
return result;
53+
}
54+
55+
@end
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#import <Foundation/Foundation.h>
2+
#import <WordPressKit/WordPressComRESTAPIVersion.h>
3+
4+
@interface WordPressComRESTAPIVersionedPathBuilder: NSObject
5+
6+
+ (NSString *)pathForEndpoint:(NSString *)endpoint
7+
withVersion:(WordPressComRESTAPIVersion)apiVersion
8+
NS_SWIFT_NAME(path(forEndpoint:withVersion:));
9+
10+
@end

Sources/BasicBlogAPIObjc/ServiceRemoteWordPressComREST.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,4 @@ NS_SWIFT_NAME(path(forEndpoint:withVersion:));
4949

5050
@end
5151

52-
@interface WordPressComRESTVersionedPathBuilder: NSObject
53-
54-
+ (NSString *)pathForEndpoint:(NSString *)endpoint
55-
withVersion:(WordPressComRESTAPIVersion)apiVersion
56-
NS_SWIFT_NAME(path(forEndpoint:withVersion:));
57-
58-
@end
59-
6052
NS_ASSUME_NONNULL_END

Sources/BasicBlogAPIObjc/ServiceRemoteWordPressComREST.m

Lines changed: 2 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -22,59 +22,8 @@ - (NSString *)pathForEndpoint:(NSString *)resourceUrl
2222
{
2323
NSParameterAssert([resourceUrl isKindOfClass:[NSString class]]);
2424

25-
return [WordPressComRESTVersionedPathBuilder pathForEndpoint:resourceUrl
26-
withVersion:apiVersion];
25+
return [WordPressComRESTAPIVersionedPathBuilder pathForEndpoint:resourceUrl
26+
withVersion:apiVersion];
2727
}
2828

2929
@end
30-
31-
static NSString* const ServiceRemoteWordPressComRESTApiVersionStringInvalid = @"invalid_api_version";
32-
static NSString* const ServiceRemoteWordPressComRESTApiVersionString_1_0 = @"rest/v1";
33-
static NSString* const ServiceRemoteWordPressComRESTApiVersionString_1_1 = @"rest/v1.1";
34-
static NSString* const ServiceRemoteWordPressComRESTApiVersionString_1_2 = @"rest/v1.2";
35-
static NSString* const ServiceRemoteWordPressComRESTApiVersionString_1_3 = @"rest/v1.3";
36-
static NSString* const ServiceRemoteWordPressComRESTApiVersionString_2_0 = @"wpcom/v2";
37-
38-
@implementation WordPressComRESTVersionedPathBuilder
39-
40-
+ (NSString *)pathForEndpoint:(NSString *)endpoint withVersion:(WordPressComRESTAPIVersion)apiVersion
41-
{
42-
NSString *apiVersionString = [self apiVersionStringWithEnumValue:apiVersion];
43-
44-
return [NSString stringWithFormat:@"%@/%@", apiVersionString, endpoint];
45-
}
46-
47-
+ (NSString *)apiVersionStringWithEnumValue:(WordPressComRESTAPIVersion)apiVersion
48-
{
49-
NSString *result = nil;
50-
51-
switch (apiVersion) {
52-
case WordPressComRESTAPIVersion_1_0:
53-
result = ServiceRemoteWordPressComRESTApiVersionString_1_0;
54-
break;
55-
56-
case WordPressComRESTAPIVersion_1_1:
57-
result = ServiceRemoteWordPressComRESTApiVersionString_1_1;
58-
break;
59-
60-
case WordPressComRESTAPIVersion_1_2:
61-
result = ServiceRemoteWordPressComRESTApiVersionString_1_2;
62-
break;
63-
64-
case WordPressComRESTAPIVersion_1_3:
65-
result = ServiceRemoteWordPressComRESTApiVersionString_1_3;
66-
break;
67-
68-
case WordPressComRESTAPIVersion_2_0:
69-
result = ServiceRemoteWordPressComRESTApiVersionString_2_0;
70-
break;
71-
72-
default:
73-
NSAssert(NO, @"This should never by executed");
74-
result = ServiceRemoteWordPressComRESTApiVersionStringInvalid;
75-
break;
76-
}
77-
78-
return result;
79-
}
80-
@end

Sources/WordPressKit/WordPressKit.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ FOUNDATION_EXPORT const unsigned char WordPressKitVersionString[];
99
#import <WordPressKit/FilePart.h>
1010
#import <WordPressKit/WordPressComRESTAPIInterfacing.h>
1111
#import <WordPressKit/WordPressComRESTAPIVersion.h>
12+
#import <WordPressKit/WordPressComRESTAPIVersionedPathBuilder.h>
1213

1314
#import <WordPressKit/ServiceRemoteWordPressComREST.h>
1415
#import <WordPressKit/ServiceRemoteWordPressXMLRPC.h>

WordPressKit.xcodeproj/project.pbxproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@
7979
3FD634FA2BC3AE6800CEDF5E /* AppTransportSecuritySettingsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46ABD0E9262EEE0400C7FF24 /* AppTransportSecuritySettingsTests.swift */; };
8080
3FD634FB2BC3AE6C00CEDF5E /* Bundle+SPMSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FD634E92BC3A6BA00CEDF5E /* Bundle+SPMSupport.swift */; };
8181
3FD634FF2BC3B3D400CEDF5E /* WordPressComRestApiErrorDomain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FD634FE2BC3B3D400CEDF5E /* WordPressComRestApiErrorDomain.swift */; };
82+
3FD635042BC3F05400CEDF5E /* WordPressComRESTAPIVersionedPathBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FD635032BC3F03200CEDF5E /* WordPressComRESTAPIVersionedPathBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
83+
3FD635062BC3F08400CEDF5E /* WordPressComRESTAPIVersionedPathBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FD635052BC3F08400CEDF5E /* WordPressComRESTAPIVersionedPathBuilder.m */; };
8284
3FE2E94F2BB29A1B002CA2E1 /* FilePart.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FE2E94D2BB29A1B002CA2E1 /* FilePart.m */; };
8385
3FE2E9502BB29A1B002CA2E1 /* FilePart.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FE2E94E2BB29A1B002CA2E1 /* FilePart.h */; settings = {ATTRIBUTES = (Public, ); }; };
8486
3FE2E9672BBEB8D2002CA2E1 /* WordPressComRESTAPIVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FE2E9662BBEB8D2002CA2E1 /* WordPressComRESTAPIVersion.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -824,6 +826,8 @@
824826
3FD634F02BC3AD6200CEDF5E /* WebauthChallengeInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebauthChallengeInfo.swift; sourceTree = "<group>"; };
825827
3FD634F12BC3AD6200CEDF5E /* StringEncoding+IANA.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "StringEncoding+IANA.swift"; sourceTree = "<group>"; };
826828
3FD634FE2BC3B3D400CEDF5E /* WordPressComRestApiErrorDomain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WordPressComRestApiErrorDomain.swift; sourceTree = "<group>"; };
829+
3FD635032BC3F03200CEDF5E /* WordPressComRESTAPIVersionedPathBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WordPressComRESTAPIVersionedPathBuilder.h; sourceTree = "<group>"; };
830+
3FD635052BC3F08400CEDF5E /* WordPressComRESTAPIVersionedPathBuilder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WordPressComRESTAPIVersionedPathBuilder.m; sourceTree = "<group>"; };
827831
3FE2E94D2BB29A1B002CA2E1 /* FilePart.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FilePart.m; sourceTree = "<group>"; };
828832
3FE2E94E2BB29A1B002CA2E1 /* FilePart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FilePart.h; sourceTree = "<group>"; };
829833
3FE2E9662BBEB8D2002CA2E1 /* WordPressComRESTAPIVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WordPressComRESTAPIVersion.h; sourceTree = "<group>"; };
@@ -2092,6 +2096,7 @@
20922096
3FE2E94E2BB29A1B002CA2E1 /* FilePart.h */,
20932097
3FFCC0552BABC78B0051D229 /* WordPressComRESTAPIInterfacing.h */,
20942098
3FE2E9662BBEB8D2002CA2E1 /* WordPressComRESTAPIVersion.h */,
2099+
3FD635032BC3F03200CEDF5E /* WordPressComRESTAPIVersionedPathBuilder.h */,
20952100
);
20962101
path = include;
20972102
sourceTree = "<group>";
@@ -2101,6 +2106,7 @@
21012106
children = (
21022107
3FE2E9522BB3F4ED002CA2E1 /* include */,
21032108
3FE2E94D2BB29A1B002CA2E1 /* FilePart.m */,
2109+
3FD635052BC3F08400CEDF5E /* WordPressComRESTAPIVersionedPathBuilder.m */,
21042110
);
21052111
path = APIInterface;
21062112
sourceTree = "<group>";
@@ -2670,6 +2676,7 @@
26702676
9368C78C1EC5EF1B0092CE8E /* WordPressKit.h in Headers */,
26712677
93C674F11EE8351E00BFAF05 /* NSMutableDictionary+Helpers.h in Headers */,
26722678
93BD273C1EE73282002BB00B /* AccountServiceRemoteREST.h in Headers */,
2679+
3FD635042BC3F05400CEDF5E /* WordPressComRESTAPIVersionedPathBuilder.h in Headers */,
26732680
93BD27711EE737A8002BB00B /* ServiceRemoteWordPressXMLRPC.h in Headers */,
26742681
3FE2E9672BBEB8D2002CA2E1 /* WordPressComRESTAPIVersion.h in Headers */,
26752682
93BD276F1EE737A8002BB00B /* ServiceRemoteWordPressComREST.h in Headers */,
@@ -3463,6 +3470,7 @@
34633470
32FC20CE255DCC6100CD0A7B /* JetpackScanThreat.swift in Sources */,
34643471
FE50965F2A2E42A500DDD071 /* JetpackSocialServiceRemote.swift in Sources */,
34653472
3F3195AD266FF94B00397EE7 /* ZendeskMetadata.swift in Sources */,
3473+
3FD635062BC3F08400CEDF5E /* WordPressComRESTAPIVersionedPathBuilder.m in Sources */,
34663474
40A71C6E220E1D8E002E3D25 /* StatsServiceRemoteV2.swift in Sources */,
34673475
82FFBF521F45F04100F4573F /* RemoteBlogJetpackMonitorSettings.swift in Sources */,
34683476
462422292548B98A002B8A12 /* SiteDesignServiceRemote.swift in Sources */,

0 commit comments

Comments
 (0)