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  }