Mercurial Hosting > linkmystyle
diff src/move_icon.js.luan @ 0:8f4df159f06b
start public repo
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 11 Jul 2025 20:57:49 -0600 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/move_icon.js.luan Fri Jul 11 20:57:49 2025 -0600 @@ -0,0 +1,26 @@ +local Luan = require "luan:Luan.luan" +local error = Luan.error +local Http = require "luan:http/Http.luan" +local Icon = require "site:/lib/Icon.luan" +local User = require "site:/lib/User.luan" +local Db = require "site:/lib/Db.luan" +local run_in_transaction = Db.run_in_transaction or error() + + +return function() + local user = User.current() or error() + local icon_id = Http.request.parameters.icon or error() + local prev_id = Http.request.parameters.prev or error() + run_in_transaction( function() + local icon = Icon.get_by_id(icon_id) or error() + icon.user_id == user.id or error() + local prev + if prev_id == "null" then + prev = nil + else + prev = Icon.get_by_id(prev_id) or error() + end + icon.move_after(prev) + icon.save() + end ) +end