Skip to content
Snippets Groups Projects
Unverified Commit 52300cf1 authored by Réthelyi Bálint's avatar Réthelyi Bálint :no_mouth:
Browse files

Add basic CRUD operations in db/crud.go

Implemented basic CRUD (Create, Read, Update, Delete) operations for users, products, and spend data. These operations allow the other parts of the application to interact with the database, providing fundamental backend functionalities required for user management, product management, and tracking expenses.
parent ed952b48
No related branches found
No related tags found
1 merge request!25Add API endpoints and middleware for user and product manipulation
package db
import "github.com/go-pg/pg/v10"
func AddProduct(db *pg.DB, product *Product) error {
_, err := db.Model(product).Insert()
return err
}
func GetProductByID(db *pg.DB, id string) (*Product, error) {
product := &Product{}
err := db.Model(product).Where("id = ?", id).Select()
if err != nil {
return nil, err
}
return product, nil
}
func UpdateProduct(db *pg.DB, product *Product) error {
_, err := db.Model(product).Where("id = ?", product.ID).Update()
return err
}
func AddSpend(db *pg.DB, spend *Spend) error {
_, err := db.Model(spend).Insert()
return err
}
func GetSpendByID(db *pg.DB, id string) (*Spend, error) {
spend := &Spend{}
err := db.Model(spend).Relation("User").Relation("Product").Where("id = ?", id).Select()
if err != nil {
return nil, err
}
return spend, nil
}
func GetUserBySchAcc(db *pg.DB, schacc string) (*User, error) {
user := &User{}
err := db.Model(user).Relation("Spends").Where("schacc = ?", schacc).Select()
if err != nil {
return nil, err
}
return user, nil
}
// Function to get all users, sorted by name
func GetUsersSorted(db *pg.DB) ([]*User, error) {
var users []*User
err := db.Model(&users).Order("name ASC").Select()
if err != nil {
return nil, err
}
return users, nil
}
func UpdateUser(db *pg.DB, user *User) error {
_, err := db.Model(user).Where("schacc = ?", user.SchAcc).Update()
return err
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment