@vinnyzepooh

Angularjs как отобрать часть данных, полученных после запроса к источнику(json), для последующего сохранения объектов в азу данных на сервере?

Доброго времени суток.
Прошу помочь с таким вопросом:
Работаю над приложением для ВК. Посредством их API делаю запрос и вытягиваю массив данных со стены пользователя.
запрос:
VK.api('wall.get', {filter: 'all', v: '5.34'}, function (data) {
        if (data.response) {
            $scope.postList = data;
            $scope.$digest();
        }
    });


в ответ приходит json:

{
    count: 301,
    items: [{
        id: 583,
        from_id: 25000000,
        owner_id: 25000000,
        date: 1428996957,
        post_type: 'post',
        text: 'репост',
        copy_history: [{
            id: 5069,
            owner_id: 25000001,
            from_id: 25000001,
            date: 1428965743,
            post_type: 'post',
            text: 'Some plain Text',
            attachments: [{
                type: 'photo',
                photo: {
                    id: 360000000,
                    album_id: -7,
                    owner_id: 25000000,
                    photo_75: 'https://pp.vk.me/...564/s.jpg',
                    photo_130: 'https://pp.vk.me/...565/E.jpg',
                    photo_604: 'https://pp.vk.me/...566/0.jpg',
                    photo_807: 'https://pp.vk.me/...567/k.jpg',
                    photo_1280: 'https://pp.vk.me/...568/g.jpg',
                    width: 1000,
                    height: 1000,
                    text: '',
                    date: 1428964374,
                    post_id: 5069,
                    access_key: '8f59980200b07a2001'
                }
            }, {
                type: 'audio',
                audio: {
                    id: 359000001,
                    owner_id: 2000464173,
                    artist: 'DoubleSense',
                    title: 'Springfield',
                    duration: 271,
                    url: 'https://cs7-4v4.v...e10gk',
                    genre_id: 18
                }
            }, {
                type: 'doc',
                doc: {
                    id: 3813644271,
                    owner_id: 25000001,
                    title: 'DoubleSense – 5R Sp',
                    size: 10873945,
                    ext: 'mp3',
                    url: 'https://vk.com/do...8c594a8d1&api=1',
                    access_key: '2b0434fa68abefa12c'
                }
            }, {
                type: 'link',
                link: {
                    url: 'http://www.myrapg...u11140/tracks/764',
                    title: 'ΛKΛVΛL — исполнители',
                    description: '',
                    image_src: 'https://pp.vk.me/...5e5/aKas.jpg'
                }
            }],
            post_source: {
                type: 'vk'
            }
        }],
        can_delete: 1,
        can_pin: 1,
        is_pinned: 1,
        post_source: {
            type: 'api'
        },
        comments: {
            count: 0,
            can_post: 1
        },
        likes: {
            count: 12,
            user_likes: 0,
            can_like: 1,
            can_publish: 0
        },
        reposts: {
            count: 2,
            user_reposted: 0
        }
    }]
}


Объектов items может быть столько сколько постов на стенке.

Далее, мне не нужен такой большой массив данных. Хочу из postList отобрать часть значений, допустим: [owner_id], [id] и [text]. После чего сделать запрос к Базе данных на сервере, по [owner_id], вытянуть те же поля
и сравнить два результата на:
  • наличие объекта полученного из API в базе на сервере --> если не найден --> запись в базу; найден --> ничего не делать;
  • обратная отработка, а именно: в базе данных, на своём сервере есть, но нет в результате запроса по API ВК --> удалить из Базы

Хотел бы выполнять сиквенс этих действий на AngularJS

Подскажите:
  1. Не тупо ли это? Или лучше применить иную логику?
  2. Что можно использовать, для того что бы реализовать это в AngularJS?

Благодарю.
  • Вопрос задан
  • 527 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Хотел бы выполнять сиквенс этих действий на AngularJS

В моем понимании вы хотите городить логику фильтрации данных в шаблоне. И что у вас scope делает в колбэке для запроса к API?

Что можно использовать, для того что бы реализовать это в AngularJS?

Можно использовать javascript. Берем одну коллекцию, формируем другую. Тут ангуляр вам может помочь только тем, что вы можете инкапсулировать всю эту логику в отдельные сервис.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы