Friendiiverse/Source/ApiTransform.js

69 lines
1.2 KiB
JavaScript
Raw Normal View History

var TransSchemas = {
Mastodon: {
Account: {
"__": "Author",
"url": "Url",
2023-04-20 00:19:19 +02:00
"avatar": "Picture",
"header": "Banner",
},
Instance: {
"thumbnail": "Banner",
},
Status: {
"__": "Note",
"account": {"__": "Account"},
"content": "Content",
"created_at": "Time",
"url": "Url",
},
},
};
2023-04-20 18:13:47 +02:00
var ApiSchema = {
__Account__: {
Banner: {
Mastodon: "header",
},
Icon: {
Mastodon: "avatar",
2023-04-20 15:17:00 +02:00
},
2023-04-20 18:13:47 +02:00
Name: {
Mastodon: "display_name",
2023-04-20 15:17:00 +02:00
},
2023-04-20 18:13:47 +02:00
Url: {
Mastodon: "url",
2023-04-20 15:17:00 +02:00
},
},
2023-04-20 18:13:47 +02:00
Note: {
Author: {
Mastodon: "account",
2023-04-20 00:19:19 +02:00
},
2023-04-20 18:13:47 +02:00
Content: {
Mastodon: "content",
2023-04-20 15:17:00 +02:00
},
2023-04-20 18:13:47 +02:00
Time: {
Mastodon: "created_at",
2023-04-20 00:19:19 +02:00
},
2023-04-20 18:13:47 +02:00
Url: {
Mastodon: "url",
2023-04-20 00:19:19 +02:00
},
},
};
2023-04-20 18:13:47 +02:00
ApiSchema.Author = CopyObj(ApiSchema.__Account__);
ApiSchema.Channel = CopyObj(ApiSchema.__Account__);
var TransParsers = {
Mastodon: {
Account(Data) {
2023-04-20 00:19:19 +02:00
return JsonTransformA(Data, TransSchemas.Mastodon.Author, TransSchemas.Mastodon);
},
Instance(Data) {
return JsonTransformA(Data, TransSchemas.Mastodon.Instance, TransSchemas.Mastodon);
},
Status(Data) {
2023-04-20 18:13:47 +02:00
//return JsonTransformA(Data, TransSchemas.Mastodon.Status, TransSchemas.Mastodon);
return JsonTransformB(Data, ApiSchema, ApiSchema.Note, 'Mastodon');
},
},
};