Comments (3)
Hi @yriveiro, thanks for the question! Members and owners have a bit of extra complexity because the member object is cast as a generic DirectoryObject by the API - since it can be a user, a service principal, or another group. This is definitely something that can be improved on, if you have any ideas or preferences I'd love to hear them :)
from hamilton.
I'm using the GetMember
to check if an object from the Directory Object is a member of a group once the client doesn't provide it and iterate the full list of members of the group is a kinda waste of CPU cycles.
I would change this to:
func (c *GroupsClient) IsMemberOf(ctx context.Context, groupId, memberId string) (bool, error) {
_, status, err := c.GetMember(groupId, memberId string)
if err != nil {
false, err
}
return true
}
And the equivalent for IsOwnerOf
also and let GetMember/GetOwner
return the full response from the API once has some extra info.
from hamilton.
I can see a GroupsClient.isMemberOf()
method being useful, I'll look to add that (you're also welcome to send in a PR with the version in your last comment :).
I'm planning to look at ways to implement a generic DirectoryObjectsClient
and if that works out then I think it makes sense to hook up GroupsClient members/owners methods to work with that.
from hamilton.
Related Issues (20)
- Support Synapse in USGovernmentCloud
- Support OData query on appRoleAssignments list
- Consider using beta version of API for accessPackage HOT 1
- azcli auth doesn't support MSAL scopes HOT 1
- Support for Continuous Access Evaluation (CAE) in conditional access session
- Support for Chat Resource HOT 2
- Group writebackConfiguration HOT 2
- Add the app ID for Azure Database for PostgreSQL - Flexible Server.
- Is it possible to fetch synchronizationSchema?
- ProvisionOnDemand() in SynchronizationJobClient returns error even though provisioning was successful
- AdministrativeUnits client uses wrong endpoint
- Replace double forward slash with single forward slash in all requests HOT 1
- How to manage enterprise application service principal saml claims? HOT 4
- Add support for synchronization GetSchema
- Add ServiceManagementReference to model
- Add support for ClientApplications in ConditionalAccessConditionSet
- DEBUG log entry showing up in production.
- Can "encoding/json" be replaced? HOT 1
- Add support for conditional access policy guestsOrExternalUsers settings
- [Question] Dynamic Distribution Lists and mailbox custom attributes HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hamilton.