2021-01-14 17:01:43 +00:00
|
|
|
const config = require('../../../shared/config');
|
|
|
|
const externalRequest = require('../../lib/request-external');
|
2021-10-08 16:12:19 +01:00
|
|
|
|
2021-01-14 17:01:43 +00:00
|
|
|
const OEmbed = require('../../services/oembed');
|
2021-10-08 16:12:19 +01:00
|
|
|
const oembed = new OEmbed({config, externalRequest});
|
2021-11-30 10:34:14 +02:00
|
|
|
|
2021-11-10 16:15:31 +02:00
|
|
|
const NFT = require('../../services/nft-oembed');
|
2021-11-30 10:32:38 +02:00
|
|
|
const nft = new NFT({
|
|
|
|
config: {
|
|
|
|
apiKey: config.get('opensea').privateReadOnlyApiKey
|
|
|
|
}
|
|
|
|
});
|
2021-11-30 10:34:14 +02:00
|
|
|
|
|
|
|
const Twitter = require('../../services/twitter-embed');
|
|
|
|
const twitter = new Twitter({
|
|
|
|
config: {
|
|
|
|
bearerToken: config.get('twitter').privateReadOnlyToken
|
2021-12-14 11:22:39 +00:00
|
|
|
}
|
2021-11-30 10:34:14 +02:00
|
|
|
});
|
|
|
|
|
2021-11-10 16:15:31 +02:00
|
|
|
oembed.registerProvider(nft);
|
2021-11-30 10:34:14 +02:00
|
|
|
oembed.registerProvider(twitter);
|
2020-06-08 15:06:00 +01:00
|
|
|
|
2019-08-09 19:41:24 +05:30
|
|
|
module.exports = {
|
|
|
|
docName: 'oembed',
|
|
|
|
|
|
|
|
read: {
|
|
|
|
permissions: false,
|
|
|
|
data: [
|
2019-08-27 19:31:02 +05:30
|
|
|
'url',
|
|
|
|
'type'
|
2019-08-09 19:41:24 +05:30
|
|
|
],
|
|
|
|
options: [],
|
|
|
|
query({data}) {
|
2019-08-27 19:31:02 +05:30
|
|
|
let {url, type} = data;
|
2019-08-09 19:41:24 +05:30
|
|
|
|
2021-08-23 10:36:18 +04:00
|
|
|
return oembed.fetchOembedDataFromUrl(url, type);
|
2019-08-09 19:41:24 +05:30
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|