You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
835 B
36 lines
835 B
import db from "../index.js"
|
|
|
|
class UserModel {
|
|
static async findAll() {
|
|
return db("users").select("*")
|
|
}
|
|
|
|
static async findById(id) {
|
|
return db("users").where("id", id).first()
|
|
}
|
|
|
|
static async create(data) {
|
|
return db("users").insert({
|
|
...data,
|
|
updated_at: db.fn.now(),
|
|
}).returning("*")
|
|
}
|
|
|
|
static async update(id, data) {
|
|
return db("users").where("id", id).update(data).returning("*")
|
|
}
|
|
|
|
static async delete(id) {
|
|
return db("users").where("id", id).del()
|
|
}
|
|
|
|
static async findByUsername(username) {
|
|
return db("users").where("username", username).first()
|
|
}
|
|
static async findByEmail(email) {
|
|
return db("users").where("email", email).first()
|
|
}
|
|
}
|
|
|
|
export default UserModel
|
|
export { UserModel }
|
|
|