diff options
-rw-r--r-- | http.go | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/http.go b/http.go new file mode 100644 index 0000000..822a552 --- /dev/null +++ b/http.go @@ -0,0 +1,72 @@ +// http.go bundles the http endpoint definitions +// Copyright (C) 2019 Emile Hansmaennel +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <https://www.gnu.org/licenses/>. + +package main + +import ( + "git.darknebu.la/GalaxySimulator/structs" +) + +// IndexEndpoint gives a basic overview over the api +func indexEndpoint() string { + indexString := `Galaxy Simulator Database + +API: + - / ("GET") + - /new ("POST") + - /printall ("GET") + - /insert/{treeindex} ("POST") + - /starlist/{treeindex} ("GET") + - /dumptree/{treeindex} ("GET") + + - /updatetotalmass/{treeindex} ("GET") + - /updatecenterofmass/{treeindex} ("GET") + + - /metrics ("GET") + - /export/{treeindex} ("POST") + + - /fastinsertjson/{filename} ("GET") + - /fastinsertlist/{filename} ("GET") + + - /readdir ("GET") +` + + return indexString +} + +// newTree creates a new tree +func newTreeEndpoint(width float64) { + db := connectToDB() + newTree(db, width) +} + +// insertStarEndpoint inserts the star into the tree with the given index +func insertStarEndpoint(star structs.Star2D, index int64) { + db := connectToDB() + insertStar(db, star, index) +} + +// deleteStarsEndpoint deletes all the rows from the stars table +func deleteStarsEndpoint() { + db := connectToDB() + deleteAllStars(db) +} + +// deleteNodesEndpoint deletes all the rows from the nodes table +func deleteNodesEndpoint() { + db := connectToDB() + deleteAllNodes(db) +} |