Skip to content

Instantly share code, notes, and snippets.

View BK1031's full-sized avatar

Bharat Kathi BK1031

View GitHub Profile
@BK1031
BK1031 / book.go
Created July 15, 2024 22:31
singlestore-go-bookstore updated CreateBook function
package service
import (
"bookstore/database"
"bookstore/model"
)
func CreateBook(book model.Book) (model.Book, error) {
result := database.DB.Create(&book)
if result.Error != nil {
@BK1031
BK1031 / book_test.go
Created July 15, 2024 20:56
singlestore-go-bookstore TestCreateBook
package service
import (
"bookstore/model"
"testing"
)
func TestCreateBook(t *testing.T) {
// Arrange
book := model.Book{
@BK1031
BK1031 / book.go
Created July 15, 2024 19:20
singlestore-go-bookstore create book service stub
package service
import "bookstore/model"
func CreateBook(book model.Book) (model.Book, error) {
return book, nil
}
@BK1031
BK1031 / main_test.go
Created July 15, 2024 19:07
singlestore-go-bookstore service testmain
package service
import (
"bookstore/config"
"bookstore/database"
"context"
"log"
"os"
"testing"
@BK1031
BK1031 / main.go
Created July 15, 2024 18:38
singlestore-go-bookstore initialize db from main
package main
import (
"bookstore/database"
"fmt"
)
func main() {
fmt.Println("Hello, World!")
database.InitializeDB() // add this
@BK1031
BK1031 / db.go
Created July 15, 2024 18:36
singlestore-go-bookstore database connection
package database
import (
"bookstore/config"
"bookstore/model"
"fmt"
"log"
"gorm.io/driver/mysql"
"gorm.io/gorm"
@BK1031
BK1031 / order.go
Last active July 16, 2024 01:26
singlestore-go-bookstore order structs
package model
import "time"
type Order struct {
ID int `json:"id" gorm:"primaryKey,autoIncrement"`
Total float64 `json:"total"`
Items []OrderItem `json:"items" gorm:"-"`
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime,precision:6"`
}
@BK1031
BK1031 / book.go
Created July 15, 2024 17:59
singlestore-go-bookstore
package model
import "time"
type Book struct {
ID int `json:"id" gorm:"primaryKey"`
Title string `json:"title"`
Author string `json:"author"`
Genre string `json:"genre"`
Price float64 `json:"price"`
@BK1031
BK1031 / .env
Created July 15, 2024 17:50
singlestore-go-bookstore env example
DB_HOST=some-id.some-region.svc.singlestore.com
DB_PORT=3306
DB_USERNAME=admin
DB_PASSWORD=SomeSuperSecurePassword
DB_DATABASE=bookstore
@BK1031
BK1031 / config.go
Created July 15, 2024 17:44
singlestore-go-bookstore config/config.go
package config
import "os"
var Port = "8080"
var Database = struct {
Host string
Port string
Username string