github.com/abolfazlbeh/zhycan@v0.0.0-20230819144214-24cf38237387/cmd/cmd_main/commands/templates/app.model.gotmpl (about) 1 /* 2 Create By Zhycan Framework 3 4 Copyright © {{.Year}} 5 Project: {{.ProjectName}} 6 File: `app/model.go` --> {{ .Time.Format .TimeFormat }} by {{.CreatorUserName}} 7 ------------------------------ 8 */ 9 10 package app 11 12 import ( 13 "github.com/gofiber/fiber/v2" 14 "github.com/abolfazlbeh/zhycan/pkg/db" 15 ) 16 17 // MARK: Models 18 19 // User - a sample model to show the functionality 20 type User struct { 21 gorm.Model 22 Name string 23 } 24 25 // CreateNewUser - create a new user record in database 26 func CreateNewUser(name string) (*User, int64, error) { 27 u := User{Name: "test"} 28 29 database, err := db.GetDb("default") 30 if err != nil { 31 return nil, 0, errors.New("UserCreateError") 32 } 33 34 result := database.Create(&u) 35 if result.Error != nil { 36 return nil, 0, result.Error 37 } 38 39 return &u, result.RowsAffected, nil 40 } 41 42 // GetAllUsers - get all user records from database 43 func GetAllUsers() (*[]User, int64, error) { 44 database, err := db.GetDb("default") 45 if err != nil { 46 return nil, errors.New("UserCreateError") 47 } 48 49 var users []User 50 51 result := db2.Find(&users) 52 if result.Error != nil { 53 return nil, 0, result.Error 54 } 55 56 return &users, result.RowsAffected, nil 57 }