+ core update
This commit is contained in:
1 parent
d002bd74a7
commit
d8727f56b0
1 file changed
+41
@@ -0,0 +1,41 @@
|
|||||||
|
import {collection} from './db';
|
||||||
|
import {api} from '../instagram';
|
||||||
|
import {postFromInstagramMedia} from '../models/post';
|
||||||
|
import Service from '../api/Service';
|
||||||
|
import {serviceSecret} from '../config';
|
||||||
|
|
||||||
|
const service = new Service(serviceSecret);
|
||||||
|
|
||||||
|
var instagramClient;
|
||||||
|
|
||||||
|
export default async function update(id, data) {
|
||||||
|
const updateTimestamp = data.time;
|
||||||
|
const instagram = await client();
|
||||||
|
try {
|
||||||
|
let data = await instagram.user.mediaRecent(null, 1, updateTimestamp);
|
||||||
|
let items = data.medias.map(postFromInstagramMedia);
|
||||||
|
|
||||||
|
for (i of items) {
|
||||||
|
await service.feed.add(i);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function client() {
|
||||||
|
if (instagramClient) return instagramClient;
|
||||||
|
|
||||||
|
const provider = 'instagram';
|
||||||
|
const users = collection('users');
|
||||||
|
|
||||||
|
let profile = await users.findOne({
|
||||||
|
provider: provider
|
||||||
|
});
|
||||||
|
|
||||||
|
if (profile) {
|
||||||
|
instagramClient = api(profile.accessToken);
|
||||||
|
return instagramClient;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
Reference in new issue
Block a user