diff --git a/src/views/mastoapi.nim b/src/views/mastoapi.nim
index 7d0ebbb..c380b53 100644
--- a/src/views/mastoapi.nim
+++ b/src/views/mastoapi.nim
@@ -200,6 +200,43 @@ proc getActivityStream*(user: User, cfg: Config, prefs: Prefs): JsonNode =
asProps["movedTo"] = contextMovedTo
context.add(asProps)
+ var fields: seq[JsonNode] = @[]
+
+ if user.location.len > 0:
+ var location = newJObject()
+ location["type"] = %"PropertyValue"
+ location["name"] = %"Location"
+ location["value"] = %user.location
+ fields.add(location)
+
+ if user.website.len > 0:
+ var website = newJObject()
+ website["type"] = %"PropertyValue"
+ website["name"] = %"Website"
+ website["value"] = %(&"{user.website}")
+ fields.add(website)
+
+ if user.botOwner.len > 0:
+ var botOwner = newJObject()
+ botOwner["type"] = %"PropertyValue"
+ botOwner["name"] = %"Automated by"
+ botOwner["value"] = %(&"{user.botOwner}")
+ fields.add(botOwner)
+
+ if user.pcf != "" and user.pcf != "None":
+ var pcf = newJObject()
+ pcf["type"] = %"PropertyValue"
+ pcf["name"] = %"PCF Label"
+ pcf["value"] = %user.pcf
+ fields.add(pcf)
+
+ if user.verifiedType != none:
+ var verified = newJObject()
+ verified["type"] = %"PropertyValue"
+ verified["name"] = %"Verified Type"
+ verified["value"] = %user.verifiedType
+ fields.add(verified)
+
var userJson = newJObject()
userJson["@context"] = %context
userJson["id"] = %userUrl
@@ -221,7 +258,7 @@ proc getActivityStream*(user: User, cfg: Config, prefs: Prefs): JsonNode =
userJson["memorial"] = %false
userJson["publicKey"] = newJNull()
userJson["tag"] = newJArray()
- userJson["attachment"] = newJArray()
+ userJson["attachment"] = %fields
userJson["endpoints"] = newJObject()
userJson["icon"] = %*{
"type": "Image",
@@ -260,6 +297,20 @@ proc getMastoAPIUser*(user: User, cfg: Config): JsonNode =
botOwner["verified_at"] = newJNull()
fields.add(botOwner)
+ if user.pcf != "" and user.pcf != "None":
+ var pcf = newJObject()
+ pcf["name"] = %"PCF Label"
+ pcf["value"] = %user.pcf
+ pcf["verified_at"] = newJNull()
+ fields.add(pcf)
+
+ if user.verifiedType != none:
+ var verified = newJObject()
+ verified["name"] = %"Verified Type"
+ verified["value"] = %user.verifiedType
+ verified["verified_at"] = newJNull()
+ fields.add(verified)
+
var userJson = newJObject()
userJson["id"] = %user.id
userJson["username"] = %user.username