mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-04 04:56:49 +00:00
fix(dash): allow any valid id as page URL parameter
This commit is contained in:
parent
7fe492e98e
commit
009bbde176
2 changed files with 14 additions and 15 deletions
|
|
@ -50,15 +50,13 @@
|
||||||
let groupsStore: Writable<Group[]> = writable([])
|
let groupsStore: Writable<Group[]> = writable([])
|
||||||
$: members = setContext<Writable<Member[]>>("members", membersStore)
|
$: members = setContext<Writable<Member[]>>("members", membersStore)
|
||||||
$: groups = setContext<Writable<Group[]>>("groups", groupsStore)
|
$: groups = setContext<Writable<Group[]>>("groups", groupsStore)
|
||||||
$: group = $groups.filter(g => g.id === $params.id)[0] || {}
|
let group: Group|null = null
|
||||||
|
|
||||||
let title = isPublic ? "group" : "group (dash)";
|
let title = isPublic ? "group" : "group (dash)";
|
||||||
|
|
||||||
async function fetchGroup() {
|
async function fetchGroup() {
|
||||||
try {
|
try {
|
||||||
const res = await api().groups($params.id).get({auth: !isPublic});
|
group = await api().groups($params.id).get({ auth: !isPublic })
|
||||||
$groups = [res]
|
|
||||||
group = $groups.filter(g => g.id === $params.id)[0];
|
|
||||||
if (!isPublic && !group.privacy) {
|
if (!isPublic && !group.privacy) {
|
||||||
notOwnSystem = true;
|
notOwnSystem = true;
|
||||||
throw new Error("Group is not from own system.");
|
throw new Error("Group is not from own system.");
|
||||||
|
|
@ -85,7 +83,7 @@
|
||||||
members.set(groupMembers);
|
members.set(groupMembers);
|
||||||
} else {
|
} else {
|
||||||
const systemGroups: Group[] = await api().systems("@me").groups.get({ auth: true, query: { with_members: true } });
|
const systemGroups: Group[] = await api().systems("@me").groups.get({ auth: true, query: { with_members: true } });
|
||||||
group.members = systemGroups.filter((g: Group) => g.id === $params.id).map((m: Member) => m.uuid);
|
group.members = systemGroups.find((g: Group) => g.uuid === group.uuid).members
|
||||||
groups.set(systemGroups);
|
groups.set(systemGroups);
|
||||||
|
|
||||||
const systemMembers = await api().systems("@me").members.get({ auth: true });
|
const systemMembers = await api().systems("@me").members.get({ auth: true });
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@
|
||||||
let groupsStore: Writable<Group[]> = writable([])
|
let groupsStore: Writable<Group[]> = writable([])
|
||||||
$: members = setContext<Writable<Member[]>>("members", membersStore)
|
$: members = setContext<Writable<Member[]>>("members", membersStore)
|
||||||
$: groups = setContext<Writable<Group[]>>("groups", groupsStore)
|
$: groups = setContext<Writable<Group[]>>("groups", groupsStore)
|
||||||
$: member = $members.filter(m => m.id === $params.id)[0] || {}
|
let member: Member|null = null
|
||||||
|
|
||||||
let title = isPublic ? "member" : "member (dash)";
|
let title = isPublic ? "member" : "member (dash)";
|
||||||
|
|
||||||
|
|
@ -58,12 +58,10 @@
|
||||||
try {
|
try {
|
||||||
if (isPublic) {
|
if (isPublic) {
|
||||||
const res: Member = await api().members($params.id).get({auth: !isPublic});
|
const res: Member = await api().members($params.id).get({auth: !isPublic});
|
||||||
$members = [res]
|
member = res;
|
||||||
member = $members.filter(m => m.id === $params.id)[0]
|
|
||||||
} else {
|
} else {
|
||||||
const res: Member[] = await api().systems("@me").members.get({ auth: true});
|
const res: Member = await api().members($params.id).get({auth: !isPublic});
|
||||||
$members = res;
|
member = res
|
||||||
member = $members.filter(m => m.id === $params.id)[0]
|
|
||||||
|
|
||||||
if (!member.privacy) {
|
if (!member.privacy) {
|
||||||
notOwnSystem = true;
|
notOwnSystem = true;
|
||||||
|
|
@ -86,14 +84,17 @@
|
||||||
|
|
||||||
async function fetchGroups() {
|
async function fetchGroups() {
|
||||||
try {
|
try {
|
||||||
let memberGroups: Group[] = await api().members($params.id).groups().get({auth: !isPublic });
|
|
||||||
if (!isPublic) memberGroups.forEach(g => g.members = [])
|
|
||||||
groups.set(memberGroups)
|
|
||||||
|
|
||||||
if (!isPublic) {
|
if (!isPublic) {
|
||||||
const systemGroups: Group[] = await api().systems("@me").groups.get({ auth: true, query: { with_members: true } });
|
const systemGroups: Group[] = await api().systems("@me").groups.get({ auth: true, query: { with_members: true } });
|
||||||
|
const memberList: Member[] = await api().systems("@me").members.get({ auth: true })
|
||||||
|
members.set(memberList)
|
||||||
groups.set(systemGroups)
|
groups.set(systemGroups)
|
||||||
|
} else {
|
||||||
|
let memberGroups: Group[] = await api().members($params.id).groups().get({auth: !isPublic });
|
||||||
|
if (!isPublic) memberGroups.forEach(g => g.members = [])
|
||||||
|
groups.set(memberGroups)
|
||||||
}
|
}
|
||||||
|
|
||||||
groupErr = "";
|
groupErr = "";
|
||||||
groupLoading = false;
|
groupLoading = false;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue