Skip to content
This repository has been archived by the owner on Jan 27, 2024. It is now read-only.

CognitoSyncManager #11

Open
alienintheheights opened this issue Sep 27, 2017 · 0 comments
Open

CognitoSyncManager #11

alienintheheights opened this issue Sep 27, 2017 · 0 comments

Comments

@alienintheheights
Copy link

First off, thanks for this really great sample site. It has already saved me a ton of work.

I'm trying to extend the cognito.js class to include CognitoSyncManager and dataset access (put/get). Something like this:

 getDataSets () {
   Config.credentials.get(function () {
     var syncClient = new CognitoSyncManager()

     syncClient.openOrCreateDataset('myDataset', function (err, dataset) {
       if (err) {
         // handle
       }
      
       dataset.get('timestamp', function (err, value) {
         if (err) {
           console.log(err)
         }
         console.log('timestamp: ' + value)
       })

    // etc

I added the dependency via npm to package.json:
"amazon-cognito-js": "^1.1.0",

And the import to main.js
import 'amazon-cognito-js'

and this to cognito.js:
import {CognitoSyncManager, Config, CognitoIdentityCredentials} from 'aws-sdk'

Having trouble getting the CognitoSyncManager to recognize the Credentials though. Namely, the line from the CognitoSyncManager constructor

this.provider = AWS.config.credentials

is returning null, breaking everything that follows. Here's an excerpt for their constructor JS:

if (void 0 === AWS)
    throw new Error("AWS SDK must be loaded before loading the Sync Manager.");
AWS.CognitoSyncManager = function(a) {
    a = a || {};
    var b = "CognitoJavaScriptSDK/1";
    this.provider = AWS.config.credentials,
    this.identityPoolId = this.provider.params.IdentityPoolId,
    this.region = AWS.config.region,
    this.logger = a.log,
    "function" != typeof this.logger && (this.logger = function() {}
    ),
    this.local = new AWS.CognitoSyncManager.LocalStorage({
        DataStore: a.DataStore ? a.DataStore : AWS.CognitoSyncManager.StoreLocalStorage
    }),
    this.remote = new AWS.CognitoSyncManager.RemoteStorage(this.identityPoolId,this.provider),
    this.remote.setUserAgent(b)
}

See anything I'm missing?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant