mirror of
https://gitlab.com/octospacc/octospacc.gitlab.io
synced 2025-02-18 04:40:45 +01:00
102 lines
3.4 KiB
XML
102 lines
3.4 KiB
XML
|
const MbViewerTrasformapiSchema = `<schema>
|
||
|
|
||
|
<!-- WIP, find out how to structure this -->
|
||
|
<endpoint name="messages">
|
||
|
<method name="GET" args="" returns="message[]"/>
|
||
|
<!-- ... -->
|
||
|
</endpoint>
|
||
|
|
||
|
<entity name="message">
|
||
|
<prop name="id" type="int">
|
||
|
<content upstream="rss" key="./guid"/>
|
||
|
<content upstream="wordpress.com" key="ID"/>
|
||
|
<content upstream="wordpress.org" key="id"/>
|
||
|
<content upstream="mastodon" key="id"/>
|
||
|
</prop>
|
||
|
<prop name="url" type="string">
|
||
|
<content upstream="rss" key="./link"/>
|
||
|
<content upstream="wordpress.com" key="URL"/>
|
||
|
<content upstream="wordpress.org" key="link"/>
|
||
|
<content upstream="mastodon" key="url"/>
|
||
|
</prop>
|
||
|
<prop name="title" type="string">
|
||
|
<content upstream="rss" key="title"/>
|
||
|
<content upstream="wordpress.com" key="title"/>
|
||
|
<content upstream="wordpress.org" key="title.rendered"/>
|
||
|
</prop>
|
||
|
<prop name="content" type="string">
|
||
|
<!-- TODO optional multiple 'key' attrs -->
|
||
|
<!--<content upstream="rss" key="content:encoded"/>-->
|
||
|
<content upstream="rss" key="./description"/>
|
||
|
<content upstream="wordpress.com" key="content"/>
|
||
|
<content upstream="wordpress.org" key="content.rendered"/>
|
||
|
<content upstream="mastodon" key="url"/>
|
||
|
</prop>
|
||
|
<!-- TODO: fix this, it's broken with somehow we ending up with an object with urls array, not an attachments array -->
|
||
|
<prop name="attachments" type="file[]">
|
||
|
<!--<content upstream="rss" key="./media:content"/>-->
|
||
|
<content upstream="rss">
|
||
|
<prop name="url" key="*[name()='media:content']" attr="url"/>
|
||
|
</content>
|
||
|
<!--<content upstream="mastodon" key="media_attachments"/>-->
|
||
|
</prop>
|
||
|
<prop name="author" type="profile">
|
||
|
<content upstream="rss"/>
|
||
|
<content upstream="wordpress.com" key="author"/>
|
||
|
<content upstream="wordpress.org"/>
|
||
|
<content upstream="mastodon" key="account"/>
|
||
|
</prop>
|
||
|
<prop name="time" type="string">
|
||
|
<content upstream="rss" key="pubDate"/>
|
||
|
<content upstream="wordpress.com" key="date"/>
|
||
|
<content upstream="wordpress.org" key="date"/>
|
||
|
<content upstream="mastodon" key="created_at"/>
|
||
|
</prop>
|
||
|
<prop name="revisions" type="revision[]">
|
||
|
<content upstream="wordpress.com"/>
|
||
|
<content upstream="wordpress.org"/>
|
||
|
<content upstream="mastodon"/>
|
||
|
</prop>
|
||
|
<prop name="quoting" type="message">
|
||
|
<content upstream="mastodon" key="reblog"/>
|
||
|
</prop>
|
||
|
<!--<prop name="replying" type="message">
|
||
|
<content upstream="mastodon" key=""/>
|
||
|
</prop>-->
|
||
|
</entity>
|
||
|
|
||
|
<entity name="revision">
|
||
|
<prop name="time" type="string">
|
||
|
<content upstream="wordpress.com" key="modified"/>
|
||
|
<content upstream="wordpress.org" key="modified"/>
|
||
|
<content upstream="mastodon" key="edited_at"/>
|
||
|
</prop>
|
||
|
</entity>
|
||
|
|
||
|
<!-- TODO (for wordpress) how to handle both authors and sites as a profile type? maybe add a 'variant' attr for 'content' tags? -->
|
||
|
<entity name="profile">
|
||
|
<prop name="id" type="int">
|
||
|
<content upstream="wordpress.com" key="ID"/>
|
||
|
<content upstream="wordpress.org" key="author"/>
|
||
|
</prop>
|
||
|
<prop name="url" type="string">
|
||
|
<content upstream="wordpress.com" key="profile_URL"/>
|
||
|
</prop>
|
||
|
<prop name="name" type="string">
|
||
|
<!--<content upstream="rss" key="dc:creator"/>-->
|
||
|
<content upstream="rss" key="dc:creator"/>
|
||
|
<content upstream="wordpress.com" key="name"/>
|
||
|
</prop>
|
||
|
<prop name="icon" type="file">
|
||
|
<content upstream="wordpress.com">
|
||
|
<prop name="url" key="avatar_URL"/>
|
||
|
</content>
|
||
|
</prop>
|
||
|
</entity>
|
||
|
|
||
|
<entity name="file">
|
||
|
<prop name="url" type="string"/>
|
||
|
</entity>
|
||
|
|
||
|
</schema>`;
|