addRole function
Implementation
Future<void> addRole({
required String accessToken,
required String newRole,
})async{
Account? account = await getAccountUsingAccessToken(
accessToken: accessToken,
);
if(account != null){
//Add role if it does not exist already
if(account.roles.contains(newRole)){
throw "$newRole role already exists";
}else{
List<String> updatedRoles = account.roles;
updatedRoles.add(newRole);
Account updatedAccount = Account(
uuid: account.uuid,
username: account.username,
password: account.password,
accessTokens: account.accessTokens,
roles: updatedRoles,
);
File outputFile = File("${authFolder.path}/${updatedAccount.uuid}.json");
await outputFile.writeAsString(updatedAccount.json());
}
}else{
throw "Invalid access token";
}
}