mirror of
https://github.com/glimpse-app/server.git
synced 2025-04-02 10:52:45 -04:00
rename file endpoint, fixes #18
This commit is contained in:
parent
08535ab939
commit
d1f3c2d673
2 changed files with 57 additions and 1 deletions
54
src/routes/update.nim
Normal file
54
src/routes/update.nim
Normal file
|
@ -0,0 +1,54 @@
|
|||
import std/[strutils, os]
|
||||
import jester
|
||||
import norm/sqlite
|
||||
import ../types/[users, files]
|
||||
import ../database
|
||||
|
||||
proc createUpdateRoutes*() =
|
||||
router update:
|
||||
#[
|
||||
request parameters:
|
||||
???
|
||||
returns:
|
||||
???
|
||||
]#
|
||||
# put "/api/v1/newTags":
|
||||
|
||||
#[
|
||||
request parameters:
|
||||
token - string - required via header
|
||||
name - string - old file name via header
|
||||
name - string - new file name via header
|
||||
returns:
|
||||
200 - file renamed successfully
|
||||
]#
|
||||
put "/api/v1/newFileName":
|
||||
var user = newUser()
|
||||
if not db.validToken(user, request.headers["Authorization"]):
|
||||
resp Http403, "Invalid token.\n"
|
||||
|
||||
let
|
||||
oldName = request.headers["Old name"]
|
||||
newName = request.headers["New name"]
|
||||
|
||||
var file = newFile()
|
||||
try:
|
||||
db.select(file, "File.name = ?", oldName)
|
||||
except NotFoundError:
|
||||
resp Http404, "File does not exist.\n"
|
||||
|
||||
block FileDoesNotExist:
|
||||
try:
|
||||
db.select(file, "File.name = ?", newName)
|
||||
except NotFoundError:
|
||||
break FileDoesNotExist
|
||||
resp Http403, "File with that name already exists.\n"
|
||||
|
||||
let newPath = file.path[0..^file.name.len+1] & newName
|
||||
moveFile(file.path, newPath)
|
||||
|
||||
# rename file in db
|
||||
file.path = newPath
|
||||
file.name = newName
|
||||
db.update(file)
|
||||
resp Http200, "File renamed.\n"
|
|
@ -4,12 +4,13 @@ import norm/[model, sqlite]
|
|||
import checksums/sha3
|
||||
import ./types/[users, files]
|
||||
import ./database
|
||||
import ./routes/[auth, delete, download, upload]
|
||||
import ./routes/[auth, delete, download, upload, update]
|
||||
|
||||
createAuthenticationRoutes()
|
||||
createDeletionRoutes()
|
||||
createDownloadRoutes()
|
||||
createUploadRoutes()
|
||||
createUpdateRoutes()
|
||||
|
||||
routes:
|
||||
#[
|
||||
|
@ -26,3 +27,4 @@ routes:
|
|||
extend delete, ""
|
||||
extend download, ""
|
||||
extend upload, ""
|
||||
extend update, ""
|
Loading…
Add table
Reference in a new issue