Brijesh's Git Server — watchman-frontend @ e5f8a20cacd1325bfa96c4cf086b0645862a9d5f

admin site for watchman

src/api/projects.ts (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
// type APIResponseType = {
//   Status: string;
//   Message: string;
//   RequestID: string;
//   Data: any;
// };

type ProjectType = {
  ID?: string;
  Name?: string;
};

async function CreatePorject(
  projectObject: ProjectType,
  setter: (response: any) => void,
) {
  fetch("http://127.0.0.1:4000/projects", {
    method: "POST",
    body: JSON.stringify(projectObject),
  })
    .then((res) => res.json())
    .then((data) => {
      setter(data);
    });
}

function ListProjects(setter: any) {
  fetch("http://127.0.0.1:4000/projects")
    .then((res) => res.json())
    .then((data) => {
      setter(data);
    });
}

function GetProjectById(projectID: string, setter: any) {
  projectID &&
    fetch("http://127.0.0.1:4000/project?id=" + projectID)
      .then((res) => res.json())
      .then((data) => {
        setter(data);
      });
}

function UpdateProject(
  projectObject: ProjectType,
  setter: (response: any) => void,
) {
  fetch("http://127.0.0.1:4000/project", {
    method: "PUT",
    body: JSON.stringify(projectObject),
  })
    .then((res) => res.json())
    .then((data) => {
      setter(data);
    });
}

function DeleteProject(
  projectObject: ProjectType,
  setter: (response: any) => void,
) {
  fetch("http://127.0.0.1:4000/project", {
    method: "DELETE",
    body: JSON.stringify(projectObject),
  })
    .then((res) => res.json())
    .then((data) => {
      setter(data);
    });
}

export {
  CreatePorject,
  ListProjects,
  GetProjectById,
  UpdateProject,
  DeleteProject,
};