summaryrefslogtreecommitdiff
path: root/Types
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-09-08 16:04:35 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2025-09-08 16:04:35 +0200
commitcec89d9e844dc39b84778e1b88e74e23f9ca2e6a (patch)
tree16e36fdc1263dff71510256a43dc0d972bf35c88 /Types
parenta5e25cc05e5e33e114331cc826211c89adbcfa6a (diff)
WIP generic Delicious API compatible
Diffstat (limited to 'Types')
-rw-r--r--Types/Constants.h9
-rw-r--r--Types/Constants.m8
-rw-r--r--Types/SocialSite.h7
-rw-r--r--Types/SocialSite.m22
4 files changed, 31 insertions, 15 deletions
diff --git a/Types/Constants.h b/Types/Constants.h
new file mode 100644
index 0000000..75dd240
--- /dev/null
+++ b/Types/Constants.h
@@ -0,0 +1,9 @@
+
+#pragma mark - Tag QSObject Constants
+
+extern NSString *const kTagType;
+
+extern NSString *const kTagSiteField;
+extern NSString *const kTagUsernameField;
+extern NSString *const kTagHostField;
+extern NSString *const kTagIdentifierField;
diff --git a/Types/Constants.m b/Types/Constants.m
new file mode 100644
index 0000000..9300b54
--- /dev/null
+++ b/Types/Constants.m
@@ -0,0 +1,8 @@
+#pragma mark - Tag QSObject Constants
+
+NSString *const kTagType = @"qs.tag.socialbookmark";
+
+NSString *const kTagSiteField = @"source.site";
+NSString *const kTagUsernameField = @"source.username";
+NSString *const kTagHostField = @"source.host";
+NSString *const kTagIdentifierField = @"source.identifier";
diff --git a/Types/SocialSite.h b/Types/SocialSite.h
index f2c848c..130bc40 100644
--- a/Types/SocialSite.h
+++ b/Types/SocialSite.h
@@ -11,13 +11,14 @@ typedef NS_ENUM(NSInteger, SocialSite) {
SocialSiteDelicious = 0,
SocialSiteMagnolia = 1,
SocialSitePinboard = 2,
- SocialSiteLinkding = 3
+ SocialSiteLinkding = 3,
+ SocialSiteSelfHostedDeliciousCompatible = 4
};
@interface SocialSiteHelper : NSObject
+ (NSString *)displayNameForSite:(SocialSite)site;
+ (NSString *)siteURLForSite:(SocialSite)site;
-+ (NSString *)reversedSiteURLForSite:(SocialSite)site;
++ (BOOL)hasVariableHost:(SocialSite)site;
-@end \ No newline at end of file
+@end
diff --git a/Types/SocialSite.m b/Types/SocialSite.m
index d002235..b73533f 100644
--- a/Types/SocialSite.m
+++ b/Types/SocialSite.m
@@ -17,6 +17,8 @@
return @"Pinboard";
case SocialSiteLinkding:
return @"Linkding";
+ case SocialSiteSelfHostedDeliciousCompatible:
+ return @"Self-Hosted (Delicious Compatible)";
default:
return @"Unknown";
}
@@ -30,6 +32,7 @@
return @"ma.gnolia.com";
case SocialSitePinboard:
return @"pinboard.in";
+ case SocialSiteSelfHostedDeliciousCompatible:
case SocialSiteLinkding:
return @""; // Will be provided by user as host
default:
@@ -37,19 +40,14 @@
}
}
-+ (NSString *)reversedSiteURLForSite:(SocialSite)site {
++ (BOOL)hasVariableHost:(SocialSite)site {
switch (site) {
- case SocialSiteDelicious:
- return @"us.icio.del";
- case SocialSiteMagnolia:
- return @"com.gnolia.ma";
- case SocialSitePinboard:
- return @"in.pinboard";
- case SocialSiteLinkding:
- return @"linkding"; // Generic identifier
- default:
- return nil;
+ case SocialSiteSelfHostedDeliciousCompatible:
+ case SocialSiteLinkding:
+ return YES;
+ default:
+ return NO;
}
}
-@end \ No newline at end of file
+@end