This is a simple and straight forward api call, but surprisingly failing to assign role and Im getting this error .Any pointers will be a big help, it looks like Im missing a small step…
what have I done:
a) Defined a site Member
b) Defined a Role
c) Defined Velo code to call assignRole api
// API Reference: Introduction - Velo API Reference - Wix.com
// “Hello, World!” Example: Velo Learning Center
import { assignRole } from ‘backend/memberRole’ ;
import { removeRole } from ‘backend/memberRole’ ;
import wixUsers from ‘wix-users’ ;
const currentUser = wixUsers.currentUser; //added on 13 march
var user = wixUsers.currentUser;
var userId = user.id; // “r5cme-6fem-485j-djre-4844c49”
var isLoggedIn = user.loggedIn; // true
var roleId;
var roleAction = “assign role” ;
$w.onReady( function () {
var clientRoleval = “92e87bb1-21e9-4d2d-a716-4ebc9354a73c” ;
$w( “#txtPlanRole” ).text = "assign role " + clientRoleval + "to member " + userId;
if (roleAction === “assign role” ) {
assignRole(clientRoleval, userId).then(assignRoleClient => {
console.log( “from front end” + assignRoleClient);
$w( “#txtPlanRole” ).text = “api called” ;
})
. catch (error => {
console.log( “from frontend error” + error);
});
}
if (roleAction === “remove role” ) {
assignRole( “92e87bb1-21e9-4d2d-a716-4ebc9354a73c” , userId).then(removeRoleClient => {
console.log(removeRoleClient);
})
. catch (error => {
console.log(error);
});
}
//$w(“#txtPlanRole”).text = planSummary;
});
d) Backend Script: memberRole.jsw (code is reaching till line, " console.log( “backend Role api called " +roleId+ " assigned to member " +memberId );” , then throws the error.
// Filename: backend/memberRole.jsw (web modules need to have a .jsw extension)
import {roles} from ‘wix-users-backend’ ;
import wixUsersBackend from ‘wix-users-backend’
export function assignRole(roleId, memberId) {
console.log("backend Role api called " +roleId+ " assigned to member "+memberId );
return roles.assignRole(roleId, memberId, { suppressAuth: false })
.then( () => {
console.log( "Role " +roleId+ " assigned to member " +memberId );
})
. catch ((error) => {
console.log( "error from server " + error);
});
}
export function removeRole(roleId, memberId) {
return roles.removeRole(roleId, memberId, { suppressAuth: false })
.then( () => {
console.log( “Role removed from member” );
})
. catch ((error) => {
console.log(error);
});
}