private static void Get(HttpContext context, UserSecurityContext ctx, JObject body) { IUserAffiliationProvider prov = UserAffiliationManager.Instance.GetProvider(ctx); if (prov != null) { CompoundIdentity orgId = JsonUtils.ToId(body[JsonUtils.OwnerId]); if (orgId == null) { Guid userId = JsonUtils.ToGuid(body[userId]); IEnumerable <CompoundIdentity> ids = null; if (Guid.Empty.Equals(userId) || userId.Equals(ctx.Identity)) { //this is for self ids = prov.GetIds(ctx.User); } else { //this is for other IIdentityProvider idp = IdentityManager.Instance.GetProvider(ctx); if (idp != null) { IUserIdentity uid = idp.Get(userId); //make sure this is a valid user if (uid != null) { ids = prov.GetIds(uid); } } } if (ids != null) { JArray orgs = JsonUtils.ToJson(ids); if (orgs != null) { RestUtils.Push(context.Response, JsonOpStatus.Ok, orgs); return; } } } else //we're searching by org rather than by user { IOrganizationProvider oProv = OrganizationManager.Instance.GetOrganizationProvider(ctx); if (oProv != null) { Organization org = oProv.Get(orgId); if (org != null) { JArray uids = JsonUtils.ToJson(prov.GetIds(org)); if (uids != null) { RestUtils.Push(context.Response, JsonOpStatus.Ok, uids); return; } } } } RestUtils.Push(context.Response, JsonOpStatus.Failed); } }
private static void GetForUser(HttpContext context, UserSecurityContext ctx) { IUserAffiliationProvider prov = UserAffiliationManager.Instance.GetProvider(ctx); if (prov != null) { IEnumerable <CompoundIdentity> ids = null; ids = prov.GetIds(ctx.User); if (ids != null) { JArray orgs = JsonUtils.ToJson(ids); if (orgs != null) { RestUtils.Push(context.Response, JsonOpStatus.Ok, orgs); return; } } else { RestUtils.Push(context.Response, JsonOpStatus.Ok, "[]"); return; } } RestUtils.Push(context.Response, JsonOpStatus.Failed); }