text: /**
   * Copyright 2016 Facebook, Inc.
   *
   * You are hereby granted a non-exclusive, worldwide, royalty-free license to
   * use, copy, modify, and distribute this software in source code or binary
   * form for use in connection with the web services and APIs provided by
   * Facebook.
   *
   * As with any software that integrates with the Facebook platform, your use
   * of this software is subject to the Facebook Developer Principles and
   * Policies [http://developers.facebook.com/policy/]. This copyright notice
   * shall be included in all copies or substantial portions of the software.
   *
   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
   * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   * DEALINGS IN THE SOFTWARE
   *
   * @flow
   */
  
  'use strict';
  
  const Platform = require('Platform');
  const Parse = require('parse/react-native');
  
  async function currentInstallation(): Promise<Parse.Installation> {
    const installationId = await Parse._getInstallationId();
    return new Parse.Installation({
      installationId,
      appName: 'F8',
      deviceType: Platform.OS,
      // TODO: Get this information from the app itself
      appIdentifier: Platform.OS === 'ios' ? 'com.facebook.f8' : 'com.facebook.f8',
    });
  }
  
  async function updateInstallation(updates: Object = {}): Promise<void> {
    const installation = await currentInstallation();
    await installation.save(updates);
  }
  
  module.exports = { currentInstallation, updateInstallation };
  