FPSMS-frontend
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

35 linhas
769 B

  1. import { serverFetchJson } from "@/app/utils/fetchUtil";
  2. import { BASE_API_URL } from "@/config/api";
  3. import { cache } from "react";
  4. import "server-only";
  5. export interface Records {
  6. records: UserGroupResult[]
  7. }
  8. export interface UserGroupResult {
  9. id: number;
  10. action: () => void;
  11. name: string;
  12. description: string;
  13. }
  14. export type IndivUserGroup = {
  15. authIds: number[];
  16. data: any;
  17. userIds: number[];
  18. }
  19. export const fetchGroup = cache(async () => {
  20. return serverFetchJson<Records>(`${BASE_API_URL}/group`, {
  21. next: { tags: ["group"] },
  22. });
  23. });
  24. export const fetchIndivGroup = cache(async (id: number) => {
  25. return serverFetchJson<IndivUserGroup>(`${BASE_API_URL}/group/${id}`, {
  26. next: { tags: ["group"] },
  27. });
  28. });