Can i somehow make user changeable in such code? adding var modifier is not working. and i am still getting this error
Error: 'user.username' cannot be assigned to
import pkg/mike
import pkg/ponairi
type
User = object
id {.primary, autoIncrement.}: int64
username: string
password: string
token: string
UpdateUser = object
password: Option[string]
let dbConn = newConn(":memory:")
dbConn.create(User)
proc fromRequest*[T: User](ctx: Context, name: string, _: typedesc[T]): T =
## recieve current user from Authorization header
let auth = ctx.getHeader("Authorization")
let existed = dbConn.find(Option[User],
sql"SELECT * FROM User WHERE token = ?", auth)
if existed.isNone:
raise (ref BadRequestError)(msg: "bad token", status: Http401)
return existed.get()
"/user" -> put(user: var User, data: Json[UpdateUser]):
## Updated user information for current user
if data.password.isSome:
user.password = data.password.get()
dbConn.upsert(user)
ctx.send(user)
I know the workaround can be adding a new line
"/user" -> put(u: User, data: Json[UpdateUser]):
var user = u # hack
Can i somehow make user changeable in such code? adding
var
modifier is not working. and i am still getting this errorError: 'user.username' cannot be assigned to
I know the workaround can be adding a new line