Using Sync Gateway 2.8: I wonder if I misunderstood the logic of admin_channels property in Sync Gateway’s user config?
I defined this for the users section of a database config:
"users": {
"GUEST": {"disabled": true, "admin_channels": []},
"mtmsuser": {"password": "xxx", "admin_roles": ["mtms"], "admin_channels": ["config", "tickets_open", "deletions"]}
},
So I expect that the user “mtmsuser” has access to the channels config, tickets_open and deletions without any further action.
In the sync function there is code like this:
if (doc.ticketstatusalias && doc.ticketstatusalias < "10") {
channel("tickets_open");
}
But although I configured the CBL iOS replicator to use these channels I didn’t received documents.
Only after I added an access() call to the sync function:
if (doc.ticketstatusalias && doc.ticketstatusalias < "10") {
access("mtmsuser", "tickets_open");
channel("tickets_open");
}
the replicator got the documents.
Questions:
- Is this the intended behavior?
- Is it a difference to define channel access via admin_channels property or via sync function’s access() in terms of performance?
- Is there a limit how many channels a user might get access to?
Thanks!