lots of functionality

This commit is contained in:
2024-02-12 18:38:40 -06:00
parent 8642b1f73a
commit a59702182f
15 changed files with 1902 additions and 15 deletions

View File

@@ -132,6 +132,66 @@ func (c *APIClient) RetrieveAllShelves() ([]*types.ShelfLocation, error) {
return resp.ShelfLocations, nil
}
func (c *APIClient) DeleteShelfByID(idNumber string) (*types.ShelfLocation, error) {
url := fmt.Sprintf("%s/shelves/%s", c.Host, idNumber)
req, _ := http.NewRequest("DELETE", url, bytes.NewBuffer([]byte{}))
resp, err := makeRequest[types.ShelfResponse](c, req)
if err != nil {
return nil, err
}
return resp.ShelfLocation, nil
}
func (c *APIClient) CreateShelf(request types.CreateShelfRequest) (*types.ShelfLocation, error) {
url := fmt.Sprintf("%s/shelves", c.Host)
body, err := json.Marshal(request)
if err != nil {
return nil, err
}
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(body))
resp, err := makeRequest[types.ShelfResponse](c, req)
if err != nil {
return nil, err
}
return resp.ShelfLocation, nil
}
func (c *APIClient) UpdateShelf(id string, request types.CreateShelfRequest) (*types.ShelfLocation, error) {
url := fmt.Sprintf("%s/shelves/%s", c.Host, id)
body, err := json.Marshal(request)
if err != nil {
return nil, err
}
req, _ := http.NewRequest("PUT", url, bytes.NewBuffer(body))
resp, err := makeRequest[types.ShelfResponse](c, req)
if err != nil {
return nil, err
}
return resp.ShelfLocation, nil
}
func (c *APIClient) RetrieveShelfByID(idNumber string) (*types.ShelfLocation, error) {
url := fmt.Sprintf("%s/shelves/%s", c.Host, idNumber)
req, _ := http.NewRequest("GET", url, bytes.NewBuffer([]byte{}))
resp, err := makeRequest[types.ShelfResponse](c, req)
if err != nil {
return nil, err
}
return resp.ShelfLocation, nil
}
func (c *APIClient) RetrieveAllCategories() ([]*types.Category, error) {
url := fmt.Sprintf("%s/categories", c.Host)
req, _ := http.NewRequest("GET", url, bytes.NewBuffer([]byte{}))
@@ -143,3 +203,15 @@ func (c *APIClient) RetrieveAllCategories() ([]*types.Category, error) {
return resp.Categories, nil
}
func (c *APIClient) RetrieveAllBuildings() ([]*types.Building, error) {
url := fmt.Sprintf("%s/buildings", c.Host)
req, _ := http.NewRequest("GET", url, bytes.NewBuffer([]byte{}))
resp, err := makeRequest[types.MultipleBuildingResponse](c, req)
if err != nil {
return nil, err
}
return resp.Buildings, nil
}