/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ /* * Defines high level functionality to interact with the OpenSocial API. */ function SocialWrapper() { /* * Retrieves the current viewer. */ this.getViewer = function(callback) { osapi.people.getViewer().execute(callback); } /* * Retrieves the current owner. */ this.getOwner = function(callback) { osapi.people.getOwner().execute(callback); } this.getViewerFriends = function(callback) { osapi.people.getViewerFriends().execute(callback); } this.getOwnerFriends = function(callback) { osapi.people.getOwnerFriends().execute(callback); } //------------------------ ALBUMS ---------------------- /* * Retrieves albums by ID(s). */ this.getAlbumsById = function(userId, albumId, callback) { var params = {userId: userId, albumId: albumId}; osapi.albums.get(params).execute(callback); } /* * Retrieves albums by user. */ this.getAlbumsByUser = function(userId, callback) { osapi.albums.get({userId: userId}).execute(callback); } /* * Retrieves albums by group. */ this.getAlbumsByGroup = function(userId, groupId, callback) { osapi.albums.get({userId: userId, groupId: groupId}).execute(callback); } /* * Creates an album for the given user. */ this.createAlbum = function(userId, album, callback) { var params = { userId: userId, album: album }; osapi.albums.create(params).execute(callback); } /* * Updates an album by ID. */ this.updateAlbum = function(userId, albumId, album, callback) { var params = { userId: userId, albumId: albumId, album: album }; osapi.albums.update(params).execute(callback); } /* * Deletes an album by ID. */ this.deleteAlbum = function(userId, albumId, callback) { var params = {userId: userId, albumId: albumId}; osapi.albums.delete(params).execute(callback); } //------------------------------- MEDIAITEMS ---------------------------- /* * Creates a MediaItem. */ this.createMediaItem = function(userId, albumId, mediaItem, callback) { var params = { userId: userId, albumId: albumId, mediaItem: mediaItem }; osapi.mediaItems.create(params).execute(callback); } /* * Updates a MediaItem by ID. */ this.updateMediaItem = function(userId, albumId, mediaItemId, mediaItem, callback) { var params = { userId: userId, albumId: albumId, mediaItemId: mediaItemId, mediaItem: mediaItem }; console.log("PARAMS: " + JSON.stringify(params)); osapi.mediaItems.update(params).execute(callback); } /* * Retrieves MediaItems by ID(s). */ this.getMediaItemsById = function(userId, albumId, mediaItemId, callback) { var params = { userId: userId, albumId: albumId, mediaItemId: mediaItemId }; osapi.mediaItems.get(params).execute(callback); } /* * Retrieves MediaItems by album. */ this.getMediaItemsByAlbum = function(userId, albumId, callback) { osapi.mediaItems.get({userId: userId, albumId: albumId}).execute(callback); } /* * Retrieves MediaItems by user and group. */ this.getMediaItemsByUser = function(userId, groupId, callback) { osapi.mediaItems.get({userId: userId, groupId: groupId}).execute(callback); } /* * Deletes a MediaItem by ID. */ this.deleteMediaItem = function(userId, albumId, mediaItemId, callback) { var params = { userId: userId, albumId: albumId, mediaItemId: mediaItemId }; osapi.mediaItems.delete(params).execute(callback); } }