feat(api): always set system id on members/groups

This commit is contained in:
Zowie 2024-05-02 22:48:37 +02:00 committed by Iris System
parent 0473bd8f01
commit 1b6c635571
4 changed files with 15 additions and 13 deletions

View file

@ -28,7 +28,7 @@ public class GroupControllerV2: PKControllerBase
var j_groups = await groups var j_groups = await groups
.Where(g => g.Visibility.CanAccess(ctx)) .Where(g => g.Visibility.CanAccess(ctx))
.Select(g => g.ToJson(ctx, needsMembersArray: with_members)) .Select(g => g.ToJson(ctx, needsMembersArray: with_members, systemStr: system.Hid))
.ToListAsync(); .ToListAsync();
if (with_members && j_groups.Count > 0) if (with_members && j_groups.Count > 0)
@ -80,7 +80,7 @@ public class GroupControllerV2: PKControllerBase
await tx.CommitAsync(); await tx.CommitAsync();
return Ok(newGroup.ToJson(LookupContext.ByOwner)); return Ok(newGroup.ToJson(LookupContext.ByOwner, system.Hid));
} }
[HttpGet("groups/{groupRef}")] [HttpGet("groups/{groupRef}")]
@ -127,7 +127,7 @@ public class GroupControllerV2: PKControllerBase
throw new ModelParseError(patch.Errors); throw new ModelParseError(patch.Errors);
var newGroup = await _repo.UpdateGroup(group.Id, patch); var newGroup = await _repo.UpdateGroup(group.Id, patch);
return Ok(newGroup.ToJson(LookupContext.ByOwner)); return Ok(newGroup.ToJson(LookupContext.ByOwner, system.Hid));
} }
[HttpDelete("groups/{groupRef}")] [HttpDelete("groups/{groupRef}")]

View file

@ -19,17 +19,19 @@ public class GroupMemberControllerV2: PKControllerBase
if (group == null) if (group == null)
throw Errors.GroupNotFound; throw Errors.GroupNotFound;
var ctx = ContextFor(group); var ctx = ContextFor(group);
if (!group.ListPrivacy.CanAccess(ctx)) if (!group.ListPrivacy.CanAccess(ctx))
throw Errors.UnauthorizedGroupMemberList; throw Errors.UnauthorizedGroupMemberList;
var system = await _repo.GetSystem(group.System);
var members = _repo.GetGroupMembers(group.Id).Where(m => m.MemberVisibility.CanAccess(ctx)); var members = _repo.GetGroupMembers(group.Id).Where(m => m.MemberVisibility.CanAccess(ctx));
var o = new JArray(); var o = new JArray();
await foreach (var member in members) await foreach (var member in members)
o.Add(member.ToJson(ctx)); o.Add(member.ToJson(ctx, systemStr: system.Hid));
return Ok(o); return Ok(o);
} }
@ -160,7 +162,7 @@ public class GroupMemberControllerV2: PKControllerBase
var o = new JArray(); var o = new JArray();
await foreach (var group in groups) await foreach (var group in groups)
o.Add(group.ToJson(ctx)); o.Add(group.ToJson(ctx, system.Hid));
return Ok(o); return Ok(o);
} }

View file

@ -28,7 +28,7 @@ public class MemberControllerV2: PKControllerBase
var members = _repo.GetSystemMembers(system.Id); var members = _repo.GetSystemMembers(system.Id);
return Ok(await members return Ok(await members
.Where(m => m.MemberVisibility.CanAccess(ctx)) .Where(m => m.MemberVisibility.CanAccess(ctx))
.Select(m => m.ToJson(ctx)) .Select(m => m.ToJson(ctx, systemStr: system.Hid))
.ToListAsync()); .ToListAsync());
} }
@ -64,7 +64,7 @@ public class MemberControllerV2: PKControllerBase
await tx.CommitAsync(); await tx.CommitAsync();
return Ok(newMember.ToJson(LookupContext.ByOwner)); return Ok(newMember.ToJson(LookupContext.ByOwner, systemStr: system.Hid));
} }
[HttpGet("members/{memberRef}")] [HttpGet("members/{memberRef}")]
@ -111,7 +111,7 @@ public class MemberControllerV2: PKControllerBase
throw new ModelParseError(patch.Errors); throw new ModelParseError(patch.Errors);
var newMember = await _repo.UpdateMember(member.Id, patch); var newMember = await _repo.UpdateMember(member.Id, patch);
return Ok(newMember.ToJson(LookupContext.ByOwner)); return Ok(newMember.ToJson(LookupContext.ByOwner, systemStr: system.Hid));
} }
[HttpDelete("members/{memberRef}")] [HttpDelete("members/{memberRef}")]

View file

@ -70,7 +70,7 @@ public class SwitchControllerV2: PKControllerBase
return Ok(new FrontersReturnNew return Ok(new FrontersReturnNew
{ {
Timestamp = sw.Timestamp, Timestamp = sw.Timestamp,
Members = await members.Select(m => m.ToJson(ctx)).ToListAsync(), Members = await members.Select(m => m.ToJson(ctx, systemStr: system.Hid)).ToListAsync(),
Uuid = sw.Uuid, Uuid = sw.Uuid,
}); });
} }
@ -124,7 +124,7 @@ public class SwitchControllerV2: PKControllerBase
{ {
Uuid = newSwitch.Uuid, Uuid = newSwitch.Uuid,
Timestamp = data.Timestamp != null ? data.Timestamp.Value : newSwitch.Timestamp, Timestamp = data.Timestamp != null ? data.Timestamp.Value : newSwitch.Timestamp,
Members = members.Select(x => x.ToJson(LookupContext.ByOwner)), Members = members.Select(x => x.ToJson(LookupContext.ByOwner, systemStr: system.Hid)),
}); });
} }
@ -153,7 +153,7 @@ public class SwitchControllerV2: PKControllerBase
{ {
Uuid = sw.Uuid, Uuid = sw.Uuid,
Timestamp = sw.Timestamp, Timestamp = sw.Timestamp,
Members = await members.Select(m => m.ToJson(ctx)).ToListAsync() Members = await members.Select(m => m.ToJson(ctx, systemStr: system.Hid)).ToListAsync()
}); });
} }
@ -190,7 +190,7 @@ public class SwitchControllerV2: PKControllerBase
{ {
Uuid = sw.Uuid, Uuid = sw.Uuid,
Timestamp = sw.Timestamp, Timestamp = sw.Timestamp,
Members = members.Select(x => x.ToJson(LookupContext.ByOwner)) Members = members.Select(x => x.ToJson(LookupContext.ByOwner, systemStr: system.Hid))
}); });
} }
@ -238,7 +238,7 @@ public class SwitchControllerV2: PKControllerBase
{ {
Uuid = sw.Uuid, Uuid = sw.Uuid,
Timestamp = sw.Timestamp, Timestamp = sw.Timestamp,
Members = members.Select(x => x.ToJson(LookupContext.ByOwner)) Members = members.Select(x => x.ToJson(LookupContext.ByOwner, systemStr: system.Hid))
}); });
} }