synquery UserControl API
Manual & Documentation
last update: Sun, 07 Jul 2019 21:45:42 GMT ( 4 years ago )

        API and Sample Code

        • signup

          • syntax

            syntax

            .signup( email [,options] )
            keys for options:
            <String> IDID for synquery (default: email-address)
            <String> passwordpassword for synquery (default: [not set])
            <Array> owner[owner's _id] (default: [not set])
            <Object> dataany data for application
          • code

            @param (String)email require
            @param (Object)options optional
            @return jQuery Promise Object
            resolve value token information + log-in user information (when execute with some logged-in)
            reject value error information

            var uc = new $S.api.UserControl();
            foonyah.es6promise(uc.signup(email, options)).then(done, fail);

            // e.g.) Login user operation
            // email = "user_input@synquery.com"; options = { ID: "Input ID" };
            // e.g.) Agent operation
            // email = "user_input@synquery.com"; options = { ID: "Input ID" password: "Default PW", agent: { project: "Agent Project ID" } };

            // If not set "password" you sould update user's password with "validation code"
            // If set "owner", the owner(s) can modify the user's data. see more: $S.via('getUserInfo') function done(){
            // console out the message.
            console.log('signup successfully.');
            }
            function fail(e){
            // console out the message.
            console.log('signup failed.', e);
            }

        • login

          • syntax

            syntax

            .login( ID, PW )
            @returns jQuery.Deferred( )
          • code

            @param (String)ID ID or email for synquery require
            @param (String)PW password for synquery require
            @return jQuery Promise Object

            var uc = new $S.api.UserControl();
            var ID = 'demo', PW = 'demo'; // Email-address is also ok to substitute for ID
            foonyah.es6promise(uc.login(ID, PW)).then(done, fail);
            function done(ud){
            // console out the message and user data.
            console.log('demo user login succeeded!', ud);
            }
            function fail(e){
            // console out the message.
            console.log('login failed.', e);
            }

        • secureLogin

          secureLogin function can use only on online.
          • syntax

            syntax

            .secureLogin( key_ID, key_PW ,options )
            keys for options:
            <String> collectioncollection that security informations in. (default: [not set])
            <String> _id_id that security informations in. (default: [not set])
            <String> keyprimary key to get security informations by _id (default: "_id")
            <Boolean> encryptedwhether password is encrypted or not (default: false)
          • code

            @param (String)key_ID key for email require
            @param (String)key_PW key for password require
            @param (String)options secureOptions require
            @return jQuery Promise Object

            var uc = new $S.api.UserControl();
            // in this case:
            // database: "(accessing project)", collection: "security"
            // has a object:
            // { _id: '00000000', user: 'hoge', password: 'hoge' }
            foonyah.es6promise(uc.secureLogin('user', 'password', {
            collection: 'security',
            _id: '00000000',
            // key: '_id',
            // encrypted: false
            })).then(done, fail);
            function done(ud){
            // console out the message and user data.
            console.log('demo user secureLogin succeeded!', ud);
            }
            function fail(e){
            // console out the message.
            console.log('login failed.', e);
            }

        • update

          • syntax

            syntax

            .update( user_data [, options] )
            keys for options:
            <Boolean> agent agent operation or not (default:false)
          • code (normal)

            @param (Object) user_data require
            @param (Object) options optional
            @return jQuery Promise Object

            var uc = new $S.api.UserControl();
            foonyah.es6promise(uc.update(user_data, options)).then(done, fail);

            // e.g.(login user operation)
            // user_data = { password: "(new password)" }; options = { };
            // e.g.(agent operation)
            // user_data = { _id: "(Update target user's _id value)" /* required */, password: "(new password)" }; options = { agent: true };

            function done(){
            // console out the message.
            console.log('update successfully.');
            }
            function fail(e){
            // console out the message.
            console.log('update failed.', e);
            }

          • code (after signup)

            @param (String) action set "activate" require
            @param (String) validation_code set validation code that user received require
            @param (String) password set new password for synquery optional
            @return jQuery Promise Object

            var uc = new $S.api.UserControl();
            foonyah.es6promise(uc.update('activate' ,validation_code [, password])).then(done, fail);
            // "validation_code" is passed via url query string "vc"
            function done(){
            // console out the message.
            console.log('activate successfully.');
            }
            function fail(e){
            // console out the message.
            console.log('activate failed.', e);
            }

            // example of RETURN VALUE (when update succeeded)
            {
            ID: "sakamoto@east-cloud.co.jp"
            // synquery UserID (unique)
            _id: "56092a6e761685835bbade2f"
            // synquery user data identifier (unique, not changed permanently)
            code: "e108e42f7492f22b"
            // validation code
            data: null
            // user sharing date
            email: "sakamoto@east-cloud.co.jp"
            // user email (unique)
            lang: "ja"
            // user language
            update: 1
            // update count (always 1)
            }
          • code (after reset)

            @param (String) action set "reset" require
            @param (String) reset_code set reset code that user received require
            @param (String) password set new password for synquery require
            @return jQuery Promise Object

            var uc = new $S.api.UserControl();
            foonyah.es6promise(uc.update('reset' ,reset_code ,password)).then(done, fail);
            // "reset_code" is passed via url query string "rc"
            function done(){
            // console out the message.
            console.log('reset password successfully.');
            }
            function fail(e){
            // console out the message.
            console.log('reset password failed.', e);
            }

        • state

          • syntax

            syntax

            .state( state, param [,define_once] )
          • code

            @param (String)state next state for user, you can use any string for the state require
            @param (Object)param set state informations for application require
            @param (Array)define_once set array of information key(s) to check the key is the first time to set optional
            @return jQuery Promise Object

            var uc = new $S.api.UserControl();
            // e.g.) setter
            foonyah.es6promise(uc.state("login_user", { signup: "ok" }, ["signup"] )).then(done, fail);
            // e.g.) state getter
            // uc.state().then(doneCallback, failCallback);
            function done(){
            // console out the message.
            console.log('state set successfully.');
            }
            function fail(e){
            // console out the message.
            console.log('state set failed.', e);
            }
        • logout

          Login function can use both online/offline.
          When offline, logout function removes the credential from localStorage, and logout will be succeeded.
          • syntax

            syntax

            .logout()
          • code

            @return jQuery Promise Object
            var uc = new $S.api.UserControl();
            foonyah.es6promise(uc.logout()).then(done, fail);
            function done(){
            // console out the message.
            console.log('logout successfully.');
            }
            function fail(e){
            // console out the message.
            console.log('logout failed.', e);
            }

        • reset

          • syntax

            syntax

            .reset( email )
          • code

            @param email (String) require
            @return jQuery Promise Object

            var uc = new $S.api.UserControl();
            foonyah.es6promise(uc.reset(email)).then(done, fail);
            function done(){
            // console out the message.
            console.log('reset mail sending successfully.');
            }
            function fail(e){
            // console out the message.
            console.log('reset mail sending password failed.', e);
            }