build: switch from yarn to npm to manage js dependencies and move js contents to root
yarn v1 is being deprecated and starts to have some issues Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
46
src/composition/apollo/members.ts
Normal file
46
src/composition/apollo/members.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import { GROUP_MEMBERS } from "@/graphql/member";
|
||||
import { IGroup } from "@/types/actor";
|
||||
import { MemberRole } from "@/types/enums";
|
||||
import { useQuery } from "@vue/apollo-composable";
|
||||
import { computed } from "vue";
|
||||
import type { Ref } from "vue";
|
||||
|
||||
type useGroupMembersOptions = {
|
||||
membersPage?: number;
|
||||
membersLimit?: number;
|
||||
roles?: MemberRole[];
|
||||
enabled?: Ref<boolean>;
|
||||
name?: string;
|
||||
};
|
||||
|
||||
export function useGroupMembers(
|
||||
groupName: Ref<string>,
|
||||
options: useGroupMembersOptions = {}
|
||||
) {
|
||||
console.debug("useGroupMembers", options);
|
||||
const { result, error, loading, onResult, onError, refetch, fetchMore } =
|
||||
useQuery<
|
||||
{
|
||||
group: IGroup;
|
||||
},
|
||||
{
|
||||
name: string;
|
||||
membersPage?: number;
|
||||
membersLimit?: number;
|
||||
}
|
||||
>(
|
||||
GROUP_MEMBERS,
|
||||
() => ({
|
||||
groupName: groupName.value,
|
||||
page: options.membersPage,
|
||||
limit: options.membersLimit,
|
||||
name: options.name,
|
||||
}),
|
||||
() => ({
|
||||
enabled: !!groupName.value && options.enabled?.value,
|
||||
fetchPolicy: "cache-and-network",
|
||||
})
|
||||
);
|
||||
const members = computed(() => result.value?.group?.members);
|
||||
return { members, error, loading, onResult, onError, refetch, fetchMore };
|
||||
}
|
||||
Reference in New Issue
Block a user