From 627e4a90cf489ed4fce17db260e436d449e72ac6 Mon Sep 17 00:00:00 2001 From: Sunioatm <104454675+Sunioatm@users.noreply.github.com> Date: Sat, 13 Jan 2024 12:48:46 +0700 Subject: [PATCH 1/8] feat: database seed --- src/database/seeds/1705074984036-pet.seed.go | 12 + src/database/seeds/1705075734828-user.seed.go | 25 ++ src/database/seeds/constant.seed.go | 276 ++++++++++++++++++ src/database/seeds/seeder.go | 95 ++++++ src/main.go | 23 ++ 5 files changed, 431 insertions(+) create mode 100644 src/database/seeds/1705074984036-pet.seed.go create mode 100644 src/database/seeds/1705075734828-user.seed.go create mode 100644 src/database/seeds/constant.seed.go create mode 100644 src/database/seeds/seeder.go diff --git a/src/database/seeds/1705074984036-pet.seed.go b/src/database/seeds/1705074984036-pet.seed.go new file mode 100644 index 0000000..f6ff025 --- /dev/null +++ b/src/database/seeds/1705074984036-pet.seed.go @@ -0,0 +1,12 @@ +package seed + +func (s Seed) PetSeed1705074984036() error { + for _, b := range pets { + err := s.db.Save(&b).Error + + if err != nil { + return err + } + } + return nil +} diff --git a/src/database/seeds/1705075734828-user.seed.go b/src/database/seeds/1705075734828-user.seed.go new file mode 100644 index 0000000..c75f1f6 --- /dev/null +++ b/src/database/seeds/1705075734828-user.seed.go @@ -0,0 +1,25 @@ +package seed + +import ( + "github.com/isd-sgcu/johnjud-backend/src/app/model/user" + + "github.com/bxcodec/faker/v3" +) + +func (s Seed) UserSeed1705075734828() error { + for i := 0; i < 3; i++ { + usr := user.User{ + Email: faker.Email(), + Password: faker.Password(), + Firstname: faker.FirstName(), + Lastname: faker.LastName(), + Role: "admin", + } + err := s.db.Create(&usr).Error + + if err != nil { + return err + } + } + return nil +} diff --git a/src/database/seeds/constant.seed.go b/src/database/seeds/constant.seed.go new file mode 100644 index 0000000..3d85bbd --- /dev/null +++ b/src/database/seeds/constant.seed.go @@ -0,0 +1,276 @@ +package seed + +import ( + "github.com/isd-sgcu/johnjud-backend/src/app/model/pet" + constant "github.com/isd-sgcu/johnjud-backend/src/constant/pet" +) + +var pets = []pet.Pet{ + { + Type: "", + Species: "", + Name: "เต้าเจี้ยว", + Birthdate: "", + Gender: constant.MALE, + Color: "", + Pattern: "", + Habit: "ขี้อ้อน ชอบนั่งตัก ติดคน", + Caption: "สวัสดีฮะ ผมชื่อเต้าเจี้ยวเป็นแมวจากร้านข้าวมันไก่ เป็นพี่น้องซีอิ้ว เดิมผมอยู่กับคุณป้าร้านข้าวมันไก่ มีคุณป้าคอยให้อาหาร กินอาหารเม็ดบ้าง เศษไก่ เศษข้าวบ้าง จนพี่ๆจากชมรมมาเจอและขอพาผมไปทำหมัน ตอนนี้ผมเลยได้มาอยู่ในชมรม รอใครสักคนมารับผมกลับบ้าน ผมกลัวพี่แมวตัวใหญ่ในชมรมนิดหน่อย ทำให้ไม่ค่อยได้เลยกับพี่ทีมงานเท่าที่ควร แต่จริงๆแล้วผมเป็นแมวขี้เล่นและขี้อ้อนมากนะ สนใจรับผมไปอยู่บ้านด้วยกันมั้ยครับ", + Status: constant.FINDHOME, + IsSterile: true, + IsVaccinated: true, + IsVisible: true, + IsClubPet: true, + Origin: "", + Address: "", + Contact: "", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "ซีอิ๊ว", + Birthdate: "", + Gender: constant.FEMALE, + Color: "", + Pattern: "", + Habit: "ขี้อ้อน ขี้กลัว", + Caption: "หนูชื่อซีอิ๊ว ที่ได้ชื่อนี้เพราะหนูมาจากร้านข้าวมันไก่ ตอนแรกหนูมีคุณป้าร้านข้าวมันไก่คอยให้ข้าวให้น้ำ และให้ที่หลบรถและคนน่ากลัวอยู่หลังร้านของคุณป้า จนหนูถูกพามาทำหมันและได้มาอยู่ในชมรม หนูยังคงเป็นแมวขี้ระแวง ไว้ใจแค่เต้าเจี้ยวและพี่ทีมงานบ้างคน ถึงหนูจะขี้ระแวงแต่หนูก็ไม่เคยกัดหรือข่วนใคร ยิ่งกับคนที่หนูไว้ใจหนูจะขี้อ้อนมากๆเลยนะ อยากเล่นด้วยและอยากได้รับความรักอยู่ตลอด", + Status: constant.FINDHOME, + IsSterile: true, + IsVaccinated: true, + IsVisible: true, + IsClubPet: true, + Origin: "", + Address: "", + Contact: "", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "พัดพา", + Birthdate: "", + Gender: constant.FEMALE, + Color: "", + Pattern: "", + Habit: "ติดคน ชอบคน ขี้อ้อนมาก ชอบนั่งตัก", + Caption: "ในวันที่ลมพัดแรงและฝนกำลังจะตกอย่างหนัก ผมแมวจรที่กำลังวิ่งหาที่หลบฝนอยู่ จนได้ไปหลบที่พุ่มไม้บริเวณคณะสัตวแพทย์ วันนั้นผมเตรียมใจแล้วว่าจะต้องโดนฝนและเปียกแน่ๆ กลายเป็นว่าวันนั้น ผมไม่ได้เปียกอย่างที่คาด เพราะมีพี่ชมรมคนนึงผ่านมาเห็นผม และอุ้มผมไปหลบฝน พร้อมกับโอบกอดผมเอาไว้อย่างอบอุ่น และเป็นสาเหตุที่ทำให้ผมได้ชื่อใหม่ว่า ’พัดพา’", + Status: constant.FINDHOME, + IsSterile: true, + IsVaccinated: true, + IsVisible: true, + IsClubPet: true, + Origin: "", + Address: "", + Contact: "", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "โอริโอ้", + Birthdate: "", + Gender: constant.MALE, + Color: "", + Pattern: "", + Habit: "ซน เล่นแรง กอดได้", + Caption: "ผมชื่อโอริโอ้ เป็นแมวจากตลาดสามย่าน ผมเคยได้บ้านไปแล้ว แต่เนื่องจากเหตุผลจำเป็นทำให้คุณแม่คนเดิมของผมไม่สามารถดูแลผมต่อได้ ผมเลยต้องกลับมาอยู่ที่ชมรมอีกครั้ง ผมเป็นเด็กดีนะ ร่าเริง ขี้เล่น และแข็งแรงเหมือนแมวปกติทั่วไป ถึงจะเข้าใจแต่ก็อดเสียใจไม่ได้ที่ต้องกลับมาเป็นแมวไม่มีเจ้าของอีกครั้ง จะมีอีกมั้ยโอกาสครั้งที่2 ที่จะมีคนมาให้ความรักแมวดำตัวอ้วนๆตัวนี้", + Status: constant.FINDHOME, + IsSterile: true, + IsVaccinated: true, + IsVisible: true, + IsClubPet: true, + Origin: "", + Address: "", + Contact: "", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "แม่พลอย", + Birthdate: "", + Gender: constant.FEMALE, + Color: "", + Pattern: "", + Habit: "เข้ากับแมวตัวอื่นได้ดี เรียบร้อย", + Caption: "แม่พลอย แมวจรบริเวณสะพานลอยสยาม เดิมทีหนูเป็นแมวจรใช้ชีวิต หลบฝน หลบรถ และหากินเองข้างนอก จนวันหนึ่งต่อมก้นหนูอักเสบและเป็นแผล ทางชมรมจึงพาหนูมารักษาและหาหมอ ปัจจุบันหนูหายดีแล้ว แต่เพราะระยะเวลาการรักษาที่นาน บวกกับมีแมวเจ้าถิ่นตัวใหม่ ทำให้หนูไม่สามารถกลับไปใช้ชีวิตที่เดิมได้อีกแล้ว ตอนนี้หนูชินที่จะอยู่ในห้อง เรียนรู้ที่จะมีความสุขกับการนอนบนผ้านิ่มๆ ฝนเล็บกับกล่องลัง และส่งสายตาอ้อนให้พี่ทีมงานลูบหัวในทุกๆวัน", + Status: constant.FINDHOME, + IsSterile: true, + IsVaccinated: true, + IsVisible: true, + IsClubPet: true, + Origin: "", + Address: "", + Contact: "", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "แมงมุม", + Birthdate: "", + Gender: constant.MALE, + Color: "", + Pattern: "", + Habit: "ขี้เล่น ร่าเริง ชอบของเล่น", + Caption: "ผมเป็นลูกแมวที่ถูกช่วยมาจากบริเวณสยาม ที่ได้ชื่อว่าแมงมุมก็เพราะนิสัยที่ชอบนอนบนหลังคากระบะทรายและหลังคากรงของผม ตอนอยู่กับคนผมเป็นแมวขี้อ้อน และตอนอยู่กับเพื่อนๆแมวผมก็เป็นแมวขี้เล่น สดใส ซนตามวัย ตอนนี้เพื่อนแมวหลายตัวค่อยๆทยอยได้บ้านกันไป เหลือก็แต่ผมที่ยังคงนั่งนับวันรอ เมื่อไหร่นะจะมีคนมาหลงรักและพาผมไปอยู่ด้วยกันบ้าง", + Status: constant.FINDHOME, + IsSterile: false, + IsVaccinated: true, + IsVisible: true, + IsClubPet: true, + Origin: "", + Address: "", + Contact: "", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "ลูกหม่อน", + Birthdate: "", + Gender: constant.FEMALE, + Color: "", + Pattern: "", + Habit: "ขี้อ้อนมาก ติดคน ชอบร้องเรียกคน ฉลาด ซนตามวัย", + Caption: "รอแคปชั่น", + Status: constant.FINDHOME, + IsSterile: false, + IsVaccinated: true, + IsVisible: true, + IsClubPet: true, + Origin: "", + Address: "", + Contact: "", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "ซาบะ", + Birthdate: "", + Gender: constant.FEMALE, + Color: "", + Pattern: "", + Habit: "เรียบร้อย นิ่ง ขี้อ้อน ไม่โวยวาย", + Caption: "รอแคปชั่น", + Status: constant.FINDHOME, + IsSterile: true, + IsVaccinated: true, + IsVisible: true, + IsClubPet: true, + Origin: "", + Address: "", + Contact: "", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "ทูน่า", + Birthdate: "", + Gender: constant.FEMALE, + Color: "", + Pattern: "", + Habit: "ขี้อ้อนมากถึงมากที่สุด ขอให้ได้ถูคน เดินตามติดชิดเหมือนเงา ร้องจนกว่าจะได้แตะตัวคน เสียงน่ารักมาก", + Caption: "รอแคปชั่น", + Status: constant.FINDHOME, + IsSterile: false, + IsVaccinated: true, + IsVisible: true, + IsClubPet: true, + Origin: "", + Address: "", + Contact: "", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "มีจ้า", + Birthdate: "", + Gender: constant.MALE, + Color: "", + Pattern: "", + Habit: "ขี้เล่น ขี้สงสัย ชอบกระโดด ทำหน้าตลกๆ", + Caption: "มีจ้าเป็นลูกแมวกำพร้าตัวคนเดียวติดมากับมอเตอร์ไซค์ จากนั้นได้รับความช่วยเหลือให้อยู่ในการดูแลจาก “แม่” มีคิ้ว ซึ่งทำหน้าที่เป็นคุณแม่บุญธรรมของมีจ้า ผ่านไปไม่นาน มีจ้าก็ได้มีพี่น้องชื่อ มะพร้าว และมะเฟือง แต่ภายหลัง ทั้งสามตัวป่วย เป็นโชคดีที่มีจ้าหายจากอาการป่วยมาได้ แต่แล้วโชคก็เล่นตลกร้ายกับมีจ้า เพราะทั้งมะพร้าวและมะเฟืองได้จากไปอย่างไม่มีวันกลับ ทำให้มีจ้าต้องกลับมาอยู่คนเดียวอีกครั้ง ระหว่างที่กำลังพักฟื้น หนูได้มีโอกาสพบเจอแมวอื่นมากมาย แต่ส่วนใหญ่ทุกคนก็ได้บ้านหมดแล้ว เหลือแต่หนูแล้วสิ แต่หนูก็จะรอ รอวันที่หนูจะไม่ต้องเหงาอีกแล้ว รอวันที่หนูได้รับความรัก ในชีวิตหนูมีช่วงเวลาให้ต้องอยู่คนเดียวมากมายเหลือเกิน หนูหวังว่าจะมีใครสักคนที่มาโอบกอดหนูไว้ มาพาหนูกลับบ้าน แล้วหนูจะไม่ต้องตัวคนเดียวอีก แต่เอ๊ะ! หนูได้ข่าวมาว่าพี่ๆในชมรมกำลังช่วยกันหาบ้านที่อบอุ่นให้กับหนู หนูดีใจและตื่นเต้นมากๆ ชักอดใจไม่ไหวที่จะสำรวจบ้านในอนาคตแล้วว", + Status: constant.ADOPTED, + IsSterile: false, + IsVaccinated: true, + IsVisible: true, + IsClubPet: true, + Origin: "", + Address: "", + Contact: "", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "หวานเจี๊ยบ", + Birthdate: "", + Gender: constant.FEMALE, + Color: "", + Pattern: "", + Habit: "แมวเด็กติดคน ชอบปีนขึ้นที่สูง ให้กระโดดขึ้นตักได้ ชอบเล่นซ่อนแอบแต่ก็วิ่งมาหาอยู่ดี", + Caption: "รอแคปชั่น", + Status: constant.FINDHOME, + IsSterile: false, + IsVaccinated: true, + IsVisible: true, + IsClubPet: true, + Origin: "", + Address: "", + Contact: "", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "มะกอก & มะกรูด", + Birthdate: "", + Gender: constant.MALE, + Color: "", + Pattern: "", + Habit: "ขี้เล่น สุขภาพแข็งแรงดี", + Caption: "มะกอกกระโดดไม่ค่อยได้ เพราะ เคยตกหลังคามาก่อน", + Status: constant.FINDHOME, + IsSterile: false, + IsVaccinated: true, + IsVisible: true, + IsClubPet: false, + Origin: "ซอยราชครู ถ.พหลโยธิน พญาไท", + Address: "", + Contact: "เบอร์โทร 0863450127 , Line ID: pumviranee", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "น้องมอม", + Birthdate: "", + Gender: constant.FEMALE, + Color: "", + Pattern: "", + Habit: "ขี้อ้อน ขี้กลัว", + Caption: "คาดว่าหลุดมา ก่อนหน้านี้มีคลอดลูกแล้ว 3 ตัว ลูกๆได้บ้านครบแล้ว เหลือแม่เหมียวที่ยังไม่มีคนรับเลี้ยง", + Status: constant.FINDHOME, + IsSterile: true, + IsVaccinated: true, + IsVisible: true, + IsClubPet: false, + Origin: "บางรัก", + Address: "", + Contact: "inbox โดยตรงที่ Noppawan Pleankhum", + AdoptBy: "", + }, { + Type: "", + Species: "", + Name: "น้องเด็กหรือแมวเด็ก", + Birthdate: "", + Gender: constant.FEMALE, + Color: "", + Pattern: "", + Habit: "ไม่ได้ระบุมา", + Caption: "คาดว่าน้องน่าจะพลัดหลงกับแม่ ตอนฝนตกหนัก", + Status: constant.FINDHOME, + IsSterile: false, + IsVaccinated: false, + IsVisible: true, + IsClubPet: false, + Origin: "ราชเทวี", + Address: "", + Contact: "Line ID: @paboyababy , เบอร์โทร 0846145357", + AdoptBy: "", + }, +} diff --git a/src/database/seeds/seeder.go b/src/database/seeds/seeder.go new file mode 100644 index 0000000..1cae69b --- /dev/null +++ b/src/database/seeds/seeder.go @@ -0,0 +1,95 @@ +package seed + +import ( + "log" + "reflect" + "sort" + "strconv" + "strings" + + "github.com/pkg/errors" + "gorm.io/gorm" +) + +type Seed struct { + db *gorm.DB +} + +type Method struct { + Name string // actually name + Timestamp string +} + +func seed(s Seed, seedMethodName string) error { + m := reflect.ValueOf(s).MethodByName(seedMethodName) + + if !m.IsValid() { + return errors.New("invalid seed") + } + + err := m.Call(nil) + if !err[0].IsNil() { + log.Fatalf("Cannot seed %v , got an error %v", seedMethodName, err[0]) + } + + log.Println("✔️Seed", seedMethodName, "succeed") + + return nil +} + +func Execute(db *gorm.DB, seedMethodNames ...string) error { + s := Seed{db} + + seedType := reflect.TypeOf(s) + + var seedMethods []Method + seeds := make(map[string]reflect.Method) + + for i := 0; i < seedType.NumMethod(); i++ { + method := seedType.Method(i) + + name := strings.Split(method.Name, "Seed") + + seedMethod := Method{ + Name: name[0], + Timestamp: name[1], + } + + seedMethods = append(seedMethods, seedMethod) + seeds[name[0]] = method + } + + sort.Slice(seedMethods, func(p, q int) bool { + timestamp1, err := strconv.Atoi(seedMethods[p].Timestamp) + if err != nil { + log.Fatalln(err) + } + + timestamp2, err := strconv.Atoi(seedMethods[q].Timestamp) + if err != nil { + log.Fatalln(err) + } + + return timestamp1 < timestamp2 + }) + + // Execute all + if len(seedMethodNames) == 0 { + log.Println("Running all seeder...") + for _, seedMethod := range seedMethods { + err := seed(s, seeds[seedMethod.Name].Name) + if err != nil { + return err + } + } + } + + // Execute only the given names + for _, item := range seedMethodNames { + err := seed(s, seeds[item].Name) + if err != nil { + return err + } + } + return nil +} diff --git a/src/main.go b/src/main.go index e23b1b4..01398ad 100644 --- a/src/main.go +++ b/src/main.go @@ -2,6 +2,7 @@ package main import ( "context" + "flag" "fmt" "net" "os" @@ -17,6 +18,7 @@ import ( petSrv "github.com/isd-sgcu/johnjud-backend/src/app/service/pet" "github.com/isd-sgcu/johnjud-backend/src/config" "github.com/isd-sgcu/johnjud-backend/src/database" + seed "github.com/isd-sgcu/johnjud-backend/src/database/seeds" likePb "github.com/isd-sgcu/johnjud-go-proto/johnjud/backend/like/v1" petPb "github.com/isd-sgcu/johnjud-go-proto/johnjud/backend/pet/v1" imagePb "github.com/isd-sgcu/johnjud-go-proto/johnjud/file/image/v1" @@ -26,8 +28,27 @@ import ( "google.golang.org/grpc/health" "google.golang.org/grpc/health/grpc_health_v1" "google.golang.org/grpc/reflection" + "gorm.io/gorm" ) +func handleArgs(db *gorm.DB) { + flag.Parse() + args := flag.Args() + + if len(args) >= 1 { + switch args[0] { + case "seed": + err := seed.Execute(db, args[1:]...) + if err != nil { + log.Fatal(). + Str("service", "seeder"). + Msg("Not found seed") + } + os.Exit(0) + } + } +} + type operation func(ctx context.Context) error func gracefulShutdown(ctx context.Context, timeout time.Duration, ops map[string]operation) <-chan struct{} { @@ -101,6 +122,8 @@ func main() { Msg("Failed to init postgres connection") } + handleArgs(db) + fileConn, err := grpc.Dial(conf.Service.File, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { log.Fatal(). From 0ce351fa93e4aad928545d0ad71e3e54608580ad Mon Sep 17 00:00:00 2001 From: Sunioatm <104454675+Sunioatm@users.noreply.github.com> Date: Sat, 13 Jan 2024 13:32:06 +0700 Subject: [PATCH 2/8] fix: constant seed --- src/database/seeds/constant.seed.go | 40 ++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/database/seeds/constant.seed.go b/src/database/seeds/constant.seed.go index 3d85bbd..3aa5dff 100644 --- a/src/database/seeds/constant.seed.go +++ b/src/database/seeds/constant.seed.go @@ -7,7 +7,7 @@ import ( var pets = []pet.Pet{ { - Type: "", + Type: "cat", Species: "", Name: "เต้าเจี้ยว", Birthdate: "", @@ -26,7 +26,7 @@ var pets = []pet.Pet{ Contact: "", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "ซีอิ๊ว", Birthdate: "", @@ -45,7 +45,7 @@ var pets = []pet.Pet{ Contact: "", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "พัดพา", Birthdate: "", @@ -64,7 +64,7 @@ var pets = []pet.Pet{ Contact: "", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "โอริโอ้", Birthdate: "", @@ -83,7 +83,7 @@ var pets = []pet.Pet{ Contact: "", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "แม่พลอย", Birthdate: "", @@ -102,7 +102,7 @@ var pets = []pet.Pet{ Contact: "", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "แมงมุม", Birthdate: "", @@ -121,7 +121,7 @@ var pets = []pet.Pet{ Contact: "", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "ลูกหม่อน", Birthdate: "", @@ -140,7 +140,7 @@ var pets = []pet.Pet{ Contact: "", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "ซาบะ", Birthdate: "", @@ -159,7 +159,7 @@ var pets = []pet.Pet{ Contact: "", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "ทูน่า", Birthdate: "", @@ -178,7 +178,7 @@ var pets = []pet.Pet{ Contact: "", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "มีจ้า", Birthdate: "", @@ -197,7 +197,7 @@ var pets = []pet.Pet{ Contact: "", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "หวานเจี๊ยบ", Birthdate: "", @@ -216,7 +216,7 @@ var pets = []pet.Pet{ Contact: "", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "มะกอก & มะกรูด", Birthdate: "", @@ -230,12 +230,12 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: false, - Origin: "ซอยราชครู ถ.พหลโยธิน พญาไท", - Address: "", + Origin: "", + Address: "ซอยราชครู ถ.พหลโยธิน พญาไท", Contact: "เบอร์โทร 0863450127 , Line ID: pumviranee", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "น้องมอม", Birthdate: "", @@ -249,12 +249,12 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: false, - Origin: "บางรัก", - Address: "", + Origin: "", + Address: "บางรัก", Contact: "inbox โดยตรงที่ Noppawan Pleankhum", AdoptBy: "", }, { - Type: "", + Type: "cat", Species: "", Name: "น้องเด็กหรือแมวเด็ก", Birthdate: "", @@ -268,8 +268,8 @@ var pets = []pet.Pet{ IsVaccinated: false, IsVisible: true, IsClubPet: false, - Origin: "ราชเทวี", - Address: "", + Origin: "", + Address: "ราชเทวี", Contact: "Line ID: @paboyababy , เบอร์โทร 0846145357", AdoptBy: "", }, From c31e8a8b0e7501aa93f0bbfc44ee55be67c39065 Mon Sep 17 00:00:00 2001 From: Sunioatm <104454675+Sunioatm@users.noreply.github.com> Date: Sun, 14 Jan 2024 13:58:36 +0700 Subject: [PATCH 3/8] fix: delete pet - return pet not found when pet already delete --- src/app/repository/pet/pet.repository.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/app/repository/pet/pet.repository.go b/src/app/repository/pet/pet.repository.go index 0f72ae1..6bb59b1 100644 --- a/src/app/repository/pet/pet.repository.go +++ b/src/app/repository/pet/pet.repository.go @@ -1,6 +1,8 @@ package pet import ( + "errors" + "github.com/isd-sgcu/johnjud-backend/src/app/model/pet" "gorm.io/gorm" ) @@ -30,5 +32,13 @@ func (r *Repository) Update(id string, result *pet.Pet) error { } func (r *Repository) Delete(id string) error { - return r.db.Where("id = ?", id).Delete(&pet.Pet{}).Error + var pet pet.Pet + err := r.db.Where("id = ? AND deleted_at IS NULL", id).First(&pet).Error + if err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return gorm.ErrRecordNotFound + } + return err + } + return r.db.Delete(&pet).Error } From 6a9d69bc5f51c499e5e0007259644b72a2a07e45 Mon Sep 17 00:00:00 2001 From: Sunioatm <104454675+Sunioatm@users.noreply.github.com> Date: Sun, 14 Jan 2024 14:05:33 +0700 Subject: [PATCH 4/8] chore: add origin in seed constant --- src/database/seeds/constant.seed.go | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/database/seeds/constant.seed.go b/src/database/seeds/constant.seed.go index 3aa5dff..5c333ae 100644 --- a/src/database/seeds/constant.seed.go +++ b/src/database/seeds/constant.seed.go @@ -21,7 +21,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: true, - Origin: "", + Origin: "club", Address: "", Contact: "", AdoptBy: "", @@ -40,7 +40,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: true, - Origin: "", + Origin: "club", Address: "", Contact: "", AdoptBy: "", @@ -59,7 +59,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: true, - Origin: "", + Origin: "club", Address: "", Contact: "", AdoptBy: "", @@ -78,7 +78,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: true, - Origin: "", + Origin: "club", Address: "", Contact: "", AdoptBy: "", @@ -97,7 +97,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: true, - Origin: "", + Origin: "club", Address: "", Contact: "", AdoptBy: "", @@ -116,7 +116,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: true, - Origin: "", + Origin: "club", Address: "", Contact: "", AdoptBy: "", @@ -135,7 +135,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: true, - Origin: "", + Origin: "club", Address: "", Contact: "", AdoptBy: "", @@ -154,7 +154,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: true, - Origin: "", + Origin: "club", Address: "", Contact: "", AdoptBy: "", @@ -173,7 +173,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: true, - Origin: "", + Origin: "club", Address: "", Contact: "", AdoptBy: "", @@ -192,7 +192,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: true, - Origin: "", + Origin: "club", Address: "", Contact: "", AdoptBy: "", @@ -211,7 +211,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: true, - Origin: "", + Origin: "club", Address: "", Contact: "", AdoptBy: "", @@ -230,7 +230,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: false, - Origin: "", + Origin: "entrust", Address: "ซอยราชครู ถ.พหลโยธิน พญาไท", Contact: "เบอร์โทร 0863450127 , Line ID: pumviranee", AdoptBy: "", @@ -249,7 +249,7 @@ var pets = []pet.Pet{ IsVaccinated: true, IsVisible: true, IsClubPet: false, - Origin: "", + Origin: "entrust", Address: "บางรัก", Contact: "inbox โดยตรงที่ Noppawan Pleankhum", AdoptBy: "", @@ -268,7 +268,7 @@ var pets = []pet.Pet{ IsVaccinated: false, IsVisible: true, IsClubPet: false, - Origin: "", + Origin: "entrust", Address: "ราชเทวี", Contact: "Line ID: @paboyababy , เบอร์โทร 0846145357", AdoptBy: "", From 78fda002bdcc35991447a8c7b5d9041f11f5a9ff Mon Sep 17 00:00:00 2001 From: Sunioatm <104454675+Sunioatm@users.noreply.github.com> Date: Fri, 19 Jan 2024 01:58:55 +0700 Subject: [PATCH 5/8] chore: add more detail in seed --- go.mod | 1 + go.sum | 1 + src/database/seeds/constant.seed.go | 222 ++++++++++++++-------------- 3 files changed, 116 insertions(+), 108 deletions(-) diff --git a/go.mod b/go.mod index ba7e136..96981a6 100644 --- a/go.mod +++ b/go.mod @@ -8,6 +8,7 @@ require ( github.com/bxcodec/faker/v3 v3.8.1 github.com/google/uuid v1.5.0 github.com/isd-sgcu/johnjud-go-proto v0.5.0 + github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.31.0 github.com/spf13/viper v1.18.1 github.com/stretchr/testify v1.8.4 diff --git a/go.sum b/go.sum index 458a30d..4b8be75 100644 --- a/go.sum +++ b/go.sum @@ -47,6 +47,7 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= diff --git a/src/database/seeds/constant.seed.go b/src/database/seeds/constant.seed.go index 5c333ae..df537a0 100644 --- a/src/database/seeds/constant.seed.go +++ b/src/database/seeds/constant.seed.go @@ -7,270 +7,276 @@ import ( var pets = []pet.Pet{ { - Type: "cat", - Species: "", + Type: "แมว", Name: "เต้าเจี้ยว", - Birthdate: "", + Birthdate: "4 July 2023", Gender: constant.MALE, - Color: "", - Pattern: "", + Color: "ครีม", + Pattern: "สีล้วน", Habit: "ขี้อ้อน ชอบนั่งตัก ติดคน", Caption: "สวัสดีฮะ ผมชื่อเต้าเจี้ยวเป็นแมวจากร้านข้าวมันไก่ เป็นพี่น้องซีอิ้ว เดิมผมอยู่กับคุณป้าร้านข้าวมันไก่ มีคุณป้าคอยให้อาหาร กินอาหารเม็ดบ้าง เศษไก่ เศษข้าวบ้าง จนพี่ๆจากชมรมมาเจอและขอพาผมไปทำหมัน ตอนนี้ผมเลยได้มาอยู่ในชมรม รอใครสักคนมารับผมกลับบ้าน ผมกลัวพี่แมวตัวใหญ่ในชมรมนิดหน่อย ทำให้ไม่ค่อยได้เลยกับพี่ทีมงานเท่าที่ควร แต่จริงๆแล้วผมเป็นแมวขี้เล่นและขี้อ้อนมากนะ สนใจรับผมไปอยู่บ้านด้วยกันมั้ยครับ", - Status: constant.FINDHOME, + Status: constant.ADOPTED, IsSterile: true, IsVaccinated: true, IsVisible: true, - IsClubPet: true, Origin: "club", Address: "", Contact: "", AdoptBy: "", }, { - Type: "cat", - Species: "", + Type: "แมว", Name: "ซีอิ๊ว", - Birthdate: "", + Birthdate: "4 July 2023", Gender: constant.FEMALE, - Color: "", - Pattern: "", + Color: "ดำ", + Pattern: "สีล้วน", Habit: "ขี้อ้อน ขี้กลัว", Caption: "หนูชื่อซีอิ๊ว ที่ได้ชื่อนี้เพราะหนูมาจากร้านข้าวมันไก่ ตอนแรกหนูมีคุณป้าร้านข้าวมันไก่คอยให้ข้าวให้น้ำ และให้ที่หลบรถและคนน่ากลัวอยู่หลังร้านของคุณป้า จนหนูถูกพามาทำหมันและได้มาอยู่ในชมรม หนูยังคงเป็นแมวขี้ระแวง ไว้ใจแค่เต้าเจี้ยวและพี่ทีมงานบ้างคน ถึงหนูจะขี้ระแวงแต่หนูก็ไม่เคยกัดหรือข่วนใคร ยิ่งกับคนที่หนูไว้ใจหนูจะขี้อ้อนมากๆเลยนะ อยากเล่นด้วยและอยากได้รับความรักอยู่ตลอด", Status: constant.FINDHOME, IsSterile: true, IsVaccinated: true, IsVisible: true, - IsClubPet: true, Origin: "club", Address: "", Contact: "", AdoptBy: "", }, { - Type: "cat", - Species: "", + Type: "แมว", Name: "พัดพา", - Birthdate: "", + Birthdate: "18 June 2023", Gender: constant.FEMALE, - Color: "", - Pattern: "", + Color: "เทา", + Pattern: "สลิด", Habit: "ติดคน ชอบคน ขี้อ้อนมาก ชอบนั่งตัก", Caption: "ในวันที่ลมพัดแรงและฝนกำลังจะตกอย่างหนัก ผมแมวจรที่กำลังวิ่งหาที่หลบฝนอยู่ จนได้ไปหลบที่พุ่มไม้บริเวณคณะสัตวแพทย์ วันนั้นผมเตรียมใจแล้วว่าจะต้องโดนฝนและเปียกแน่ๆ กลายเป็นว่าวันนั้น ผมไม่ได้เปียกอย่างที่คาด เพราะมีพี่ชมรมคนนึงผ่านมาเห็นผม และอุ้มผมไปหลบฝน พร้อมกับโอบกอดผมเอาไว้อย่างอบอุ่น และเป็นสาเหตุที่ทำให้ผมได้ชื่อใหม่ว่า ’พัดพา’", - Status: constant.FINDHOME, + Status: constant.ADOPTED, IsSterile: true, IsVaccinated: true, IsVisible: true, - IsClubPet: true, Origin: "club", Address: "", Contact: "", AdoptBy: "", }, { - Type: "cat", - Species: "", + Type: "แมว", Name: "โอริโอ้", - Birthdate: "", + Birthdate: "20 December 2022", Gender: constant.MALE, - Color: "", - Pattern: "", + Color: "ดำ", + Pattern: "สีล้วน", Habit: "ซน เล่นแรง กอดได้", Caption: "ผมชื่อโอริโอ้ เป็นแมวจากตลาดสามย่าน ผมเคยได้บ้านไปแล้ว แต่เนื่องจากเหตุผลจำเป็นทำให้คุณแม่คนเดิมของผมไม่สามารถดูแลผมต่อได้ ผมเลยต้องกลับมาอยู่ที่ชมรมอีกครั้ง ผมเป็นเด็กดีนะ ร่าเริง ขี้เล่น และแข็งแรงเหมือนแมวปกติทั่วไป ถึงจะเข้าใจแต่ก็อดเสียใจไม่ได้ที่ต้องกลับมาเป็นแมวไม่มีเจ้าของอีกครั้ง จะมีอีกมั้ยโอกาสครั้งที่2 ที่จะมีคนมาให้ความรักแมวดำตัวอ้วนๆตัวนี้", Status: constant.FINDHOME, IsSterile: true, IsVaccinated: true, IsVisible: true, - IsClubPet: true, Origin: "club", Address: "", Contact: "", AdoptBy: "", }, { - Type: "cat", - Species: "", + Type: "แมว", Name: "แม่พลอย", - Birthdate: "", + Birthdate: "18 July 2017", Gender: constant.FEMALE, - Color: "", - Pattern: "", + Color: "เทา", + Pattern: "สลิด", Habit: "เข้ากับแมวตัวอื่นได้ดี เรียบร้อย", Caption: "แม่พลอย แมวจรบริเวณสะพานลอยสยาม เดิมทีหนูเป็นแมวจรใช้ชีวิต หลบฝน หลบรถ และหากินเองข้างนอก จนวันหนึ่งต่อมก้นหนูอักเสบและเป็นแผล ทางชมรมจึงพาหนูมารักษาและหาหมอ ปัจจุบันหนูหายดีแล้ว แต่เพราะระยะเวลาการรักษาที่นาน บวกกับมีแมวเจ้าถิ่นตัวใหม่ ทำให้หนูไม่สามารถกลับไปใช้ชีวิตที่เดิมได้อีกแล้ว ตอนนี้หนูชินที่จะอยู่ในห้อง เรียนรู้ที่จะมีความสุขกับการนอนบนผ้านิ่มๆ ฝนเล็บกับกล่องลัง และส่งสายตาอ้อนให้พี่ทีมงานลูบหัวในทุกๆวัน", - Status: constant.FINDHOME, + Status: constant.ADOPTED, IsSterile: true, IsVaccinated: true, IsVisible: true, - IsClubPet: true, Origin: "club", Address: "", Contact: "", AdoptBy: "", }, { - Type: "cat", - Species: "", + Type: "แมว", Name: "แมงมุม", - Birthdate: "", + Birthdate: "6 September 2023", Gender: constant.MALE, - Color: "", - Pattern: "", + Color: "น้ำตาล", + Pattern: "สีล้วน", Habit: "ขี้เล่น ร่าเริง ชอบของเล่น", Caption: "ผมเป็นลูกแมวที่ถูกช่วยมาจากบริเวณสยาม ที่ได้ชื่อว่าแมงมุมก็เพราะนิสัยที่ชอบนอนบนหลังคากระบะทรายและหลังคากรงของผม ตอนอยู่กับคนผมเป็นแมวขี้อ้อน และตอนอยู่กับเพื่อนๆแมวผมก็เป็นแมวขี้เล่น สดใส ซนตามวัย ตอนนี้เพื่อนแมวหลายตัวค่อยๆทยอยได้บ้านกันไป เหลือก็แต่ผมที่ยังคงนั่งนับวันรอ เมื่อไหร่นะจะมีคนมาหลงรักและพาผมไปอยู่ด้วยกันบ้าง", - Status: constant.FINDHOME, - IsSterile: false, + Status: constant.ADOPTED, + IsSterile: true, IsVaccinated: true, IsVisible: true, - IsClubPet: true, Origin: "club", Address: "", Contact: "", AdoptBy: "", }, { - Type: "cat", - Species: "", + Type: "แมว", Name: "ลูกหม่อน", - Birthdate: "", + Birthdate: "18 August 2023", Gender: constant.FEMALE, - Color: "", - Pattern: "", + Color: "น้ำตาล", + Pattern: "เปรอะ", Habit: "ขี้อ้อนมาก ติดคน ชอบร้องเรียกคน ฉลาด ซนตามวัย", - Caption: "รอแคปชั่น", + Caption: "“ลูกหม่อน” หรือ “มอลลี่” ถูกพบบริเวณพุ่มไม้หน้าตึกคณะอักษร จุฬาฯ วันแรกที่เจอกัน ทั้งเนื้อทั้งตัวมอมแมมและมีหมัดเต็มไปหมด การพบกันครั้งแรกของพวกเราไม่ค่อยดีเท่าไรค่ะเพราะลูกหม่อนเอาแต่ขู่เพราะกลัว ณ ตอนนั้นทางชมรมไม่มีที่แม้แต่จะเลี้ยงลูกแมวตัวน้อย 1 ตัว เพราะชมรมเราก็มีแมวมากมายที่รอหาบ้าน จึงต้องทำการฝากทางพี่แม่บ้านอักษรดูแล ต้องขอบคุณพี่ ๆ ที่ดูแลหนูอย่างดีนะคะ พอถึงเวลาลูกหม่อนก็ได้ย้ายมาอยู่ภายใต้การดูแลของชมรม ลูกหม่อนเริ่มอ้อนขึ้น ติดคนขึ้นมาก การที่ได้เห็นการเปลี่ยนแปลงของลูกแมวตัวน้อย ๆ ค่อย ๆ เติบโตขึ้นทุกวันเป็นอะไรที่น่าปลื้มใจมากค่ะ จากใจพี่เลี้ยงเจ้าลูกหม่อนอยู่ช่วงหนึ่ง ความหวังอันสูงสุดที่พวกเราเฝ้าภาวนาให้แมวในชมรมทุกวันคือขอให้แมวทุกตัวในชมรมได้ไปอยู่บ้านที่อบอุ่น มีคนพร้อมรับอุปการะและให้ความรักแมวจรตาแป๋ว ๆ พวกนี้ จนถึงช่วงชีวิตสุดท้ายของพวกเขา ลูกหม่อนก็เป็นหนึ่งในนั้นค่ะ ขอฝากเอ็นดูเจ้าลูกหม่อนไว้ในอ้อมอกอ้อมใจทุกคนด้วยนะคะ ขอให้ได้บ้านไวๆ นะลูกหม่อน💖", Status: constant.FINDHOME, - IsSterile: false, + IsSterile: true, IsVaccinated: true, IsVisible: true, - IsClubPet: true, Origin: "club", Address: "", Contact: "", AdoptBy: "", }, { - Type: "cat", - Species: "", + Type: "แมว", Name: "ซาบะ", - Birthdate: "", + Birthdate: "18 June 2023", Gender: constant.FEMALE, - Color: "", - Pattern: "", + Color: "เทา", + Pattern: "สลิด", Habit: "เรียบร้อย นิ่ง ขี้อ้อน ไม่โวยวาย", - Caption: "รอแคปชั่น", - Status: constant.FINDHOME, + Caption: "หนูชื่อ ซาบะ แมวจรบริเวณ CU Terrace เพราะหนูเกิดเป็นแมวจร จึงหลีกเลี่ยงไม่ได้ที่จะต้องดิ้นรน ต่อสู้ แย่งอาหาร เพื่อที่จะมีชีวิตต่อ แต่การใช้ชีวิตอย่างนั้นกลับทำให้หนูติดเชื้อไวรัส FIV โดยไม่รู้ตัว ตอนนี้หนูมาอยู่กับพี่ ๆ ในชมรม มีพี่ ๆ มาเล่นด้วย มามอบความรักให้หนู ด้วยข้อจำกัดที่ว่าต้องป้องกันไม่ให้เพื่อน ๆ ตัวอื่นมีความเสี่ยง พี่ ๆ จึงเล่นกับหนูได้แค่ตอนเย็นและต้องเล่นกับหนูเป็นตัวสุดท้าย ถ้าหนูได้มีบ้านเป็นของตัวเอง มีสถานที่ที่หนูสามารถเดินไปไหนก็ได้ มีใครสักคนที่หนูสามารถอ้อนได้ตลอดเวลาและมอบความรักให้หนู โดยไม่ต้องรอต่อคิวใคร.. หากคุณ…กำลังมองหาแมวสักตัวหากคุณ…เป็นอีกหนึ่งคนที่มีโอกาสที่จะเปลี่ยนชีวิตชีวิตหนึ่งไปตลอดกาล รับหนู “ซาบะ” ไว้พิจารณาดูสักครั้งนะคะ แมวเป็นโรคอย่างหนูจะเป็นแมวที่นิสัยดีที่สุด รักคุณที่สุด ตอบแทนโอกาสที่คุณมอบให้อย่างแน่นอนค่ะ", + Status: constant.ADOPTED, IsSterile: true, IsVaccinated: true, IsVisible: true, - IsClubPet: true, Origin: "club", Address: "", Contact: "", AdoptBy: "", }, { - Type: "cat", - Species: "", - Name: "ทูน่า", - Birthdate: "", - Gender: constant.FEMALE, - Color: "", - Pattern: "", - Habit: "ขี้อ้อนมากถึงมากที่สุด ขอให้ได้ถูคน เดินตามติดชิดเหมือนเงา ร้องจนกว่าจะได้แตะตัวคน เสียงน่ารักมาก", - Caption: "รอแคปชั่น", - Status: constant.FINDHOME, - IsSterile: false, + Type: "แมว", + Name: "มีจ้า", + Birthdate: "4 September 2023", + Gender: constant.MALE, + Color: "น้ำตาล", + Pattern: "สีล้วน", + Habit: "ขี้เล่น ขี้สงสัย ชอบกระโดด ทำหน้าตลกๆ", + Caption: "มีจ้าเป็นลูกแมวกำพร้าตัวคนเดียวติดมากับมอเตอร์ไซค์ จากนั้นได้รับความช่วยเหลือให้อยู่ในการดูแลจาก “แม่” มีคิ้ว ซึ่งทำหน้าที่เป็นคุณแม่บุญธรรมของมีจ้า ผ่านไปไม่นาน มีจ้าก็ได้มีพี่น้องชื่อ มะพร้าว และมะเฟือง แต่ภายหลัง ทั้งสามตัวป่วย เป็นโชคดีที่มีจ้าหายจากอาการป่วยมาได้ แต่แล้วโชคก็เล่นตลกร้ายกับมีจ้า เพราะทั้งมะพร้าวและมะเฟืองได้จากไปอย่างไม่มีวันกลับ ทำให้มีจ้าต้องกลับมาอยู่คนเดียวอีกครั้ง ระหว่างที่กำลังพักฟื้น หนูได้มีโอกาสพบเจอแมวอื่นมากมาย แต่ส่วนใหญ่ทุกคนก็ได้บ้านหมดแล้ว เหลือแต่หนูแล้วสิ แต่หนูก็จะรอ รอวันที่หนูจะไม่ต้องเหงาอีกแล้ว รอวันที่หนูได้รับความรัก ในชีวิตหนูมีช่วงเวลาให้ต้องอยู่คนเดียวมากมายเหลือเกิน หนูหวังว่าจะมีใครสักคนที่มาโอบกอดหนูไว้ มาพาหนูกลับบ้าน แล้วหนูจะไม่ต้องตัวคนเดียวอีก แต่เอ๊ะ! หนูได้ข่าวมาว่าพี่ๆในชมรมกำลังช่วยกันหาบ้านที่อบอุ่นให้กับหนู หนูดีใจและตื่นเต้นมากๆ ชักอดใจไม่ไหวที่จะสำรวจบ้านในอนาคตแล้วว", + Status: constant.ADOPTED, + IsSterile: true, IsVaccinated: true, IsVisible: true, - IsClubPet: true, Origin: "club", Address: "", Contact: "", AdoptBy: "", }, { - Type: "cat", - Species: "", - Name: "มีจ้า", - Birthdate: "", - Gender: constant.MALE, - Color: "", - Pattern: "", - Habit: "ขี้เล่น ขี้สงสัย ชอบกระโดด ทำหน้าตลกๆ", - Caption: "มีจ้าเป็นลูกแมวกำพร้าตัวคนเดียวติดมากับมอเตอร์ไซค์ จากนั้นได้รับความช่วยเหลือให้อยู่ในการดูแลจาก “แม่” มีคิ้ว ซึ่งทำหน้าที่เป็นคุณแม่บุญธรรมของมีจ้า ผ่านไปไม่นาน มีจ้าก็ได้มีพี่น้องชื่อ มะพร้าว และมะเฟือง แต่ภายหลัง ทั้งสามตัวป่วย เป็นโชคดีที่มีจ้าหายจากอาการป่วยมาได้ แต่แล้วโชคก็เล่นตลกร้ายกับมีจ้า เพราะทั้งมะพร้าวและมะเฟืองได้จากไปอย่างไม่มีวันกลับ ทำให้มีจ้าต้องกลับมาอยู่คนเดียวอีกครั้ง ระหว่างที่กำลังพักฟื้น หนูได้มีโอกาสพบเจอแมวอื่นมากมาย แต่ส่วนใหญ่ทุกคนก็ได้บ้านหมดแล้ว เหลือแต่หนูแล้วสิ แต่หนูก็จะรอ รอวันที่หนูจะไม่ต้องเหงาอีกแล้ว รอวันที่หนูได้รับความรัก ในชีวิตหนูมีช่วงเวลาให้ต้องอยู่คนเดียวมากมายเหลือเกิน หนูหวังว่าจะมีใครสักคนที่มาโอบกอดหนูไว้ มาพาหนูกลับบ้าน แล้วหนูจะไม่ต้องตัวคนเดียวอีก แต่เอ๊ะ! หนูได้ข่าวมาว่าพี่ๆในชมรมกำลังช่วยกันหาบ้านที่อบอุ่นให้กับหนู หนูดีใจและตื่นเต้นมากๆ ชักอดใจไม่ไหวที่จะสำรวจบ้านในอนาคตแล้วว", + Type: "แมว", + Name: "หวานเจี๊ยบ", + Birthdate: "4 September 2023", + Gender: constant.FEMALE, + Color: "ดำ", + Pattern: "ทักซิโด้", + Habit: "แมวเด็กติดคน ชอบปีนขึ้นที่สูง ให้กระโดดขึ้นตักได้ ชอบเล่นซ่อนแอบแต่ก็วิ่งมาหาอยู่ดี", + Caption: "หนู ชื่อ “ หวานเจี๊ยบ ” นะค๊าา เพราะ หนูนิสัยน่ารักขี้อ้อนมากๆ หนูเป็นลูกแมวจรที่มีคนช่วยมา แต่พี่ที่ช่วยหนูมาไม่สามารถพาหนูกลับไปอยู่ด้วยได้ ได้แต่เลี้ยงหนูไว้ในกรง พี่ปล่อยให้หนูเดินเล่นบ้างเป็นบางเวลาภายในห้องเล็กๆเท่านั้น พี่เค้าจึงขอให้พี่ๆทีมงานในชมรมช่วยหาบ้านให้หนู เพราะ หนูจะได้มีบ้านที่อบอุ่นไม่ต้องอยู่แต่ในกรงอย่างทุกวันนี้", Status: constant.ADOPTED, - IsSterile: false, + IsSterile: true, IsVaccinated: true, IsVisible: true, - IsClubPet: true, Origin: "club", Address: "", Contact: "", AdoptBy: "", }, { - Type: "cat", - Species: "", - Name: "หวานเจี๊ยบ", - Birthdate: "", + Type: "แมว", + Name: "วินนี่", + Birthdate: "4 October 2023", Gender: constant.FEMALE, - Color: "", - Pattern: "", - Habit: "แมวเด็กติดคน ชอบปีนขึ้นที่สูง ให้กระโดดขึ้นตักได้ ชอบเล่นซ่อนแอบแต่ก็วิ่งมาหาอยู่ดี", - Caption: "รอแคปชั่น", + Color: "ดำ", + Pattern: "สีล้วน", + Habit: "หนูค่อนข้างซน ชอบแกล้งพี่ๆทีมงาน ชอบงับๆนิ้วเพราะหนูหมั่นเขี้ยว😆 ใครได้หนูไป รับรองว่าไม่มีทางเหงาแน่นอน เพราะหนูก็อยากหาเพื่อนเล่นด้วยเหมือนกัน", + Caption: "ที่หนูชื่อว่า “ วินนี่” เพราะ พี่ทีมงานไปเจอหนูอยู่กับ พี่วินมอเตอร์ไซต์ที่เป็นคนพบและช่วยอุ้มหนูมาให้พี่ๆทีมงาน พี่ทีมงานรับหนูเข้ามาในชมรม เพราะเห็นว่าหนูยังเล็กมากๆ พี่ๆเป็นห่วง กลัวว่าถ้าปล่อยหนูไว้ที่เดิม น่าจะไม่รอดแน่ๆ อยู่แถวนั้น ไม่รู้ว่าจะมีใครให้อะไรกินได้บ้างมั้ย จะโดนรถแถวนั้นชนรึเปล่า ตัวหนูเล็กนิดเดียว รถอาจจะไม่ทันสังเกตเห็น ก็เลยพาหนูกลับมาชมรม รอหาบ้านให้ดีกว่า พอหนูเข้ามาพี่ๆก็พากันตั้งชื่อหนูกัน พี่ๆจะตั้งชื่อว่าหนูว่า วิน มันก็ดูจะแมนไปหน่อย เพราะ หนูเป็นผู้หญิง ก็เลยตั้งชื่อว่า วินนี่ ไปเลยแระกัน ก็ฟังดูน่ารักดีใช่มั้ยคะ หลังจากพี่ทีมงานรับหนูมาดูแลในชมรมสักพักนึง หนูก็ดันท้องเสียขึ้นมา ลำบากพี่ๆทีมงานพาหนูไปหาหมอกันใหญ่ ต้องคอยดูแล ป้อนข้าว ป้อนยาหนูอย่างใกล้ชิด จนตอนนี้หนูหายดีแล้ว กลับมาซน กลับซ่า วิ่งเล่นทั่วห้องได้เหมือนเดิม", Status: constant.FINDHOME, IsSterile: false, IsVaccinated: true, IsVisible: true, - IsClubPet: true, Origin: "club", Address: "", Contact: "", AdoptBy: "", }, { - Type: "cat", - Species: "", + Type: "แมว", Name: "มะกอก & มะกรูด", - Birthdate: "", + Birthdate: "18 June 2023", Gender: constant.MALE, - Color: "", - Pattern: "", + Color: "เทา", + Pattern: "สลิด", Habit: "ขี้เล่น สุขภาพแข็งแรงดี", Caption: "มะกอกกระโดดไม่ค่อยได้ เพราะ เคยตกหลังคามาก่อน", Status: constant.FINDHOME, IsSterile: false, IsVaccinated: true, IsVisible: true, - IsClubPet: false, Origin: "entrust", Address: "ซอยราชครู ถ.พหลโยธิน พญาไท", Contact: "เบอร์โทร 0863450127 , Line ID: pumviranee", AdoptBy: "", }, { - Type: "cat", - Species: "", + Type: "แมว", Name: "น้องมอม", - Birthdate: "", + Birthdate: "18 January 2022", Gender: constant.FEMALE, - Color: "", - Pattern: "", + Color: "เทา", + Pattern: "สลิด", Habit: "ขี้อ้อน ขี้กลัว", Caption: "คาดว่าหลุดมา ก่อนหน้านี้มีคลอดลูกแล้ว 3 ตัว ลูกๆได้บ้านครบแล้ว เหลือแม่เหมียวที่ยังไม่มีคนรับเลี้ยง", Status: constant.FINDHOME, IsSterile: true, IsVaccinated: true, IsVisible: true, - IsClubPet: false, Origin: "entrust", Address: "บางรัก", Contact: "inbox โดยตรงที่ Noppawan Pleankhum", AdoptBy: "", }, { - Type: "cat", - Species: "", + Type: "แมว", Name: "น้องเด็กหรือแมวเด็ก", - Birthdate: "", + Birthdate: "4 June 2023", Gender: constant.FEMALE, - Color: "", - Pattern: "", - Habit: "ไม่ได้ระบุมา", + Color: "น้ำตาล", + Pattern: "เปรอะ", + Habit: "ไม่ได้ระบุนิสัยมาให้", Caption: "คาดว่าน้องน่าจะพลัดหลงกับแม่ ตอนฝนตกหนัก", Status: constant.FINDHOME, IsSterile: false, IsVaccinated: false, IsVisible: true, - IsClubPet: false, Origin: "entrust", Address: "ราชเทวี", Contact: "Line ID: @paboyababy , เบอร์โทร 0846145357", AdoptBy: "", + }, { + Type: "แมว", + Name: "น้องเล็ก", + Birthdate: "4 June 2023", + Gender: constant.MALE, + Color: "เทา", + Pattern: "สลิด", + Habit: "เชื่อง ยอมให้จับ ให้ลูบเล่นและอุ้มได้ แต่ตอนนี้น้องอยู่แต่ในกรง ทำให้ไม่ได้ใช้ชีวิตเท่าที่ควร น้องอยากออกจากกรงมาก ถ้าได้บ้านคงจะติดคนและขี้อ้อนน่าดู", + Caption: "ไม่ได้ระบุประวัติมาให้", + Status: constant.FINDHOME, + IsSterile: false, + IsVaccinated: false, + IsVisible: true, + Origin: "entrust", + Address: "พระราม4 เขตคลองเตย อยู่ตรงข้ามกับการไฟฟ้านครหลวงคลองเคย", + Contact: " เบอร์ 081-8221625", + AdoptBy: "", + }, { + Type: "แมว", + Name: "หนิงหนิง", + Birthdate: "18 August 2023", + Gender: constant.MALE, + Color: "นวล", + Pattern: "สลิด", + Habit: "ยังกลัวๆอยู่ ขี้อ้อน เรียบร้อย ไม่ซน ไม่กัด", + Caption: "น้องเคยป่วยมาก่อนและได้พาไปรักษาจนหายเรียบร้อย", + Status: constant.FINDHOME, + IsSterile: false, + IsVaccinated: true, + IsVisible: true, + Origin: "entrust", + Address: "ภายในกทม / สมุทรปราการ", + Contact: "ติดต่อ 0992127851", + AdoptBy: "", }, } From 67fb1f32a2b51764c6be1cdb377f7c75764e9cf4 Mon Sep 17 00:00:00 2001 From: Idhibhat Pankam Date: Fri, 19 Jan 2024 17:16:14 +0700 Subject: [PATCH 6/8] feat: add seeding makefile --- Makefile | 3 +++ README.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Makefile b/Makefile index 0dce9f5..126bf3a 100644 --- a/Makefile +++ b/Makefile @@ -14,3 +14,6 @@ test: server: . ./tools/export-env.sh ; go run ./src/. + +seed: + . ./tools/export-env.sh ; go run ./src/. seed \ No newline at end of file diff --git a/README.md b/README.md index f813ad7..b14312e 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,9 @@ Johnjud is a pet adoption web application of the [CUVET For Animal Welfare Club] 1. Run `docker-compose up -d` 2. Run `make server` or `go run ./src/.` +### Data Seeding +1. Run `make seed` or `. ./tools/export-env.sh ; go run ./src/. seed` + ### Testing 1. Run `make test` or `go test -v -coverpkg ./... -coverprofile coverage.out -covermode count ./...` From e45e6c585534aa49a7c40c6f51bfad231fb8ceff Mon Sep 17 00:00:00 2001 From: Siwakorn Sangiammahasal Date: Fri, 19 Jan 2024 21:59:31 +0700 Subject: [PATCH 7/8] refactor: birthdate format --- src/database/seeds/constant.seed.go | 32 ++++++++++++++--------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/database/seeds/constant.seed.go b/src/database/seeds/constant.seed.go index df537a0..4a16525 100644 --- a/src/database/seeds/constant.seed.go +++ b/src/database/seeds/constant.seed.go @@ -9,7 +9,7 @@ var pets = []pet.Pet{ { Type: "แมว", Name: "เต้าเจี้ยว", - Birthdate: "4 July 2023", + Birthdate: "2023-07-04 00:00:00.000000", Gender: constant.MALE, Color: "ครีม", Pattern: "สีล้วน", @@ -26,7 +26,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "ซีอิ๊ว", - Birthdate: "4 July 2023", + Birthdate: "2023-07-04 00:00:00.000000", Gender: constant.FEMALE, Color: "ดำ", Pattern: "สีล้วน", @@ -43,7 +43,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "พัดพา", - Birthdate: "18 June 2023", + Birthdate: "2023-06-18 00:00:00.000000", Gender: constant.FEMALE, Color: "เทา", Pattern: "สลิด", @@ -60,7 +60,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "โอริโอ้", - Birthdate: "20 December 2022", + Birthdate: "2022-12-20 00:00:00.000000", Gender: constant.MALE, Color: "ดำ", Pattern: "สีล้วน", @@ -77,7 +77,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "แม่พลอย", - Birthdate: "18 July 2017", + Birthdate: "2017-07-18 00:00:00.000000", Gender: constant.FEMALE, Color: "เทา", Pattern: "สลิด", @@ -94,7 +94,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "แมงมุม", - Birthdate: "6 September 2023", + Birthdate: "2023-09-06 00:00:00.000000", Gender: constant.MALE, Color: "น้ำตาล", Pattern: "สีล้วน", @@ -111,7 +111,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "ลูกหม่อน", - Birthdate: "18 August 2023", + Birthdate: "2023-08-18 00:00:00.000000", Gender: constant.FEMALE, Color: "น้ำตาล", Pattern: "เปรอะ", @@ -128,7 +128,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "ซาบะ", - Birthdate: "18 June 2023", + Birthdate: "2023-06-18 00:00:00.000000", Gender: constant.FEMALE, Color: "เทา", Pattern: "สลิด", @@ -145,7 +145,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "มีจ้า", - Birthdate: "4 September 2023", + Birthdate: "2023-09-04 00:00:00.000000", Gender: constant.MALE, Color: "น้ำตาล", Pattern: "สีล้วน", @@ -162,7 +162,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "หวานเจี๊ยบ", - Birthdate: "4 September 2023", + Birthdate: "2023-09-04 00:00:00.000000", Gender: constant.FEMALE, Color: "ดำ", Pattern: "ทักซิโด้", @@ -179,7 +179,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "วินนี่", - Birthdate: "4 October 2023", + Birthdate: "2023-10-04 00:00:00.000000", Gender: constant.FEMALE, Color: "ดำ", Pattern: "สีล้วน", @@ -196,7 +196,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "มะกอก & มะกรูด", - Birthdate: "18 June 2023", + Birthdate: "2023-06-18 00:00:00.000000", Gender: constant.MALE, Color: "เทา", Pattern: "สลิด", @@ -213,7 +213,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "น้องมอม", - Birthdate: "18 January 2022", + Birthdate: "2022-01-18 00:00:00.000000", Gender: constant.FEMALE, Color: "เทา", Pattern: "สลิด", @@ -230,7 +230,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "น้องเด็กหรือแมวเด็ก", - Birthdate: "4 June 2023", + Birthdate: "2023-06-04 00:00:00.000000", Gender: constant.FEMALE, Color: "น้ำตาล", Pattern: "เปรอะ", @@ -247,7 +247,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "น้องเล็ก", - Birthdate: "4 June 2023", + Birthdate: "2023-06-04 00:00:00.000000", Gender: constant.MALE, Color: "เทา", Pattern: "สลิด", @@ -264,7 +264,7 @@ var pets = []pet.Pet{ }, { Type: "แมว", Name: "หนิงหนิง", - Birthdate: "18 August 2023", + Birthdate: "2023-08-18 00:00:00.000000", Gender: constant.MALE, Color: "นวล", Pattern: "สลิด", From 573e2fa401412808abc793c7a5ff20778fd5a7cc Mon Sep 17 00:00:00 2001 From: Siwakorn Sangiammahasal Date: Sat, 20 Jan 2024 20:35:20 +0700 Subject: [PATCH 8/8] fix: remove pattern in seed --- src/database/seeds/constant.seed.go | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/database/seeds/constant.seed.go b/src/database/seeds/constant.seed.go index 4a16525..1b60725 100644 --- a/src/database/seeds/constant.seed.go +++ b/src/database/seeds/constant.seed.go @@ -12,7 +12,6 @@ var pets = []pet.Pet{ Birthdate: "2023-07-04 00:00:00.000000", Gender: constant.MALE, Color: "ครีม", - Pattern: "สีล้วน", Habit: "ขี้อ้อน ชอบนั่งตัก ติดคน", Caption: "สวัสดีฮะ ผมชื่อเต้าเจี้ยวเป็นแมวจากร้านข้าวมันไก่ เป็นพี่น้องซีอิ้ว เดิมผมอยู่กับคุณป้าร้านข้าวมันไก่ มีคุณป้าคอยให้อาหาร กินอาหารเม็ดบ้าง เศษไก่ เศษข้าวบ้าง จนพี่ๆจากชมรมมาเจอและขอพาผมไปทำหมัน ตอนนี้ผมเลยได้มาอยู่ในชมรม รอใครสักคนมารับผมกลับบ้าน ผมกลัวพี่แมวตัวใหญ่ในชมรมนิดหน่อย ทำให้ไม่ค่อยได้เลยกับพี่ทีมงานเท่าที่ควร แต่จริงๆแล้วผมเป็นแมวขี้เล่นและขี้อ้อนมากนะ สนใจรับผมไปอยู่บ้านด้วยกันมั้ยครับ", Status: constant.ADOPTED, @@ -29,7 +28,6 @@ var pets = []pet.Pet{ Birthdate: "2023-07-04 00:00:00.000000", Gender: constant.FEMALE, Color: "ดำ", - Pattern: "สีล้วน", Habit: "ขี้อ้อน ขี้กลัว", Caption: "หนูชื่อซีอิ๊ว ที่ได้ชื่อนี้เพราะหนูมาจากร้านข้าวมันไก่ ตอนแรกหนูมีคุณป้าร้านข้าวมันไก่คอยให้ข้าวให้น้ำ และให้ที่หลบรถและคนน่ากลัวอยู่หลังร้านของคุณป้า จนหนูถูกพามาทำหมันและได้มาอยู่ในชมรม หนูยังคงเป็นแมวขี้ระแวง ไว้ใจแค่เต้าเจี้ยวและพี่ทีมงานบ้างคน ถึงหนูจะขี้ระแวงแต่หนูก็ไม่เคยกัดหรือข่วนใคร ยิ่งกับคนที่หนูไว้ใจหนูจะขี้อ้อนมากๆเลยนะ อยากเล่นด้วยและอยากได้รับความรักอยู่ตลอด", Status: constant.FINDHOME, @@ -46,7 +44,6 @@ var pets = []pet.Pet{ Birthdate: "2023-06-18 00:00:00.000000", Gender: constant.FEMALE, Color: "เทา", - Pattern: "สลิด", Habit: "ติดคน ชอบคน ขี้อ้อนมาก ชอบนั่งตัก", Caption: "ในวันที่ลมพัดแรงและฝนกำลังจะตกอย่างหนัก ผมแมวจรที่กำลังวิ่งหาที่หลบฝนอยู่ จนได้ไปหลบที่พุ่มไม้บริเวณคณะสัตวแพทย์ วันนั้นผมเตรียมใจแล้วว่าจะต้องโดนฝนและเปียกแน่ๆ กลายเป็นว่าวันนั้น ผมไม่ได้เปียกอย่างที่คาด เพราะมีพี่ชมรมคนนึงผ่านมาเห็นผม และอุ้มผมไปหลบฝน พร้อมกับโอบกอดผมเอาไว้อย่างอบอุ่น และเป็นสาเหตุที่ทำให้ผมได้ชื่อใหม่ว่า ’พัดพา’", Status: constant.ADOPTED, @@ -63,7 +60,6 @@ var pets = []pet.Pet{ Birthdate: "2022-12-20 00:00:00.000000", Gender: constant.MALE, Color: "ดำ", - Pattern: "สีล้วน", Habit: "ซน เล่นแรง กอดได้", Caption: "ผมชื่อโอริโอ้ เป็นแมวจากตลาดสามย่าน ผมเคยได้บ้านไปแล้ว แต่เนื่องจากเหตุผลจำเป็นทำให้คุณแม่คนเดิมของผมไม่สามารถดูแลผมต่อได้ ผมเลยต้องกลับมาอยู่ที่ชมรมอีกครั้ง ผมเป็นเด็กดีนะ ร่าเริง ขี้เล่น และแข็งแรงเหมือนแมวปกติทั่วไป ถึงจะเข้าใจแต่ก็อดเสียใจไม่ได้ที่ต้องกลับมาเป็นแมวไม่มีเจ้าของอีกครั้ง จะมีอีกมั้ยโอกาสครั้งที่2 ที่จะมีคนมาให้ความรักแมวดำตัวอ้วนๆตัวนี้", Status: constant.FINDHOME, @@ -80,7 +76,6 @@ var pets = []pet.Pet{ Birthdate: "2017-07-18 00:00:00.000000", Gender: constant.FEMALE, Color: "เทา", - Pattern: "สลิด", Habit: "เข้ากับแมวตัวอื่นได้ดี เรียบร้อย", Caption: "แม่พลอย แมวจรบริเวณสะพานลอยสยาม เดิมทีหนูเป็นแมวจรใช้ชีวิต หลบฝน หลบรถ และหากินเองข้างนอก จนวันหนึ่งต่อมก้นหนูอักเสบและเป็นแผล ทางชมรมจึงพาหนูมารักษาและหาหมอ ปัจจุบันหนูหายดีแล้ว แต่เพราะระยะเวลาการรักษาที่นาน บวกกับมีแมวเจ้าถิ่นตัวใหม่ ทำให้หนูไม่สามารถกลับไปใช้ชีวิตที่เดิมได้อีกแล้ว ตอนนี้หนูชินที่จะอยู่ในห้อง เรียนรู้ที่จะมีความสุขกับการนอนบนผ้านิ่มๆ ฝนเล็บกับกล่องลัง และส่งสายตาอ้อนให้พี่ทีมงานลูบหัวในทุกๆวัน", Status: constant.ADOPTED, @@ -97,7 +92,6 @@ var pets = []pet.Pet{ Birthdate: "2023-09-06 00:00:00.000000", Gender: constant.MALE, Color: "น้ำตาล", - Pattern: "สีล้วน", Habit: "ขี้เล่น ร่าเริง ชอบของเล่น", Caption: "ผมเป็นลูกแมวที่ถูกช่วยมาจากบริเวณสยาม ที่ได้ชื่อว่าแมงมุมก็เพราะนิสัยที่ชอบนอนบนหลังคากระบะทรายและหลังคากรงของผม ตอนอยู่กับคนผมเป็นแมวขี้อ้อน และตอนอยู่กับเพื่อนๆแมวผมก็เป็นแมวขี้เล่น สดใส ซนตามวัย ตอนนี้เพื่อนแมวหลายตัวค่อยๆทยอยได้บ้านกันไป เหลือก็แต่ผมที่ยังคงนั่งนับวันรอ เมื่อไหร่นะจะมีคนมาหลงรักและพาผมไปอยู่ด้วยกันบ้าง", Status: constant.ADOPTED, @@ -114,7 +108,6 @@ var pets = []pet.Pet{ Birthdate: "2023-08-18 00:00:00.000000", Gender: constant.FEMALE, Color: "น้ำตาล", - Pattern: "เปรอะ", Habit: "ขี้อ้อนมาก ติดคน ชอบร้องเรียกคน ฉลาด ซนตามวัย", Caption: "“ลูกหม่อน” หรือ “มอลลี่” ถูกพบบริเวณพุ่มไม้หน้าตึกคณะอักษร จุฬาฯ วันแรกที่เจอกัน ทั้งเนื้อทั้งตัวมอมแมมและมีหมัดเต็มไปหมด การพบกันครั้งแรกของพวกเราไม่ค่อยดีเท่าไรค่ะเพราะลูกหม่อนเอาแต่ขู่เพราะกลัว ณ ตอนนั้นทางชมรมไม่มีที่แม้แต่จะเลี้ยงลูกแมวตัวน้อย 1 ตัว เพราะชมรมเราก็มีแมวมากมายที่รอหาบ้าน จึงต้องทำการฝากทางพี่แม่บ้านอักษรดูแล ต้องขอบคุณพี่ ๆ ที่ดูแลหนูอย่างดีนะคะ พอถึงเวลาลูกหม่อนก็ได้ย้ายมาอยู่ภายใต้การดูแลของชมรม ลูกหม่อนเริ่มอ้อนขึ้น ติดคนขึ้นมาก การที่ได้เห็นการเปลี่ยนแปลงของลูกแมวตัวน้อย ๆ ค่อย ๆ เติบโตขึ้นทุกวันเป็นอะไรที่น่าปลื้มใจมากค่ะ จากใจพี่เลี้ยงเจ้าลูกหม่อนอยู่ช่วงหนึ่ง ความหวังอันสูงสุดที่พวกเราเฝ้าภาวนาให้แมวในชมรมทุกวันคือขอให้แมวทุกตัวในชมรมได้ไปอยู่บ้านที่อบอุ่น มีคนพร้อมรับอุปการะและให้ความรักแมวจรตาแป๋ว ๆ พวกนี้ จนถึงช่วงชีวิตสุดท้ายของพวกเขา ลูกหม่อนก็เป็นหนึ่งในนั้นค่ะ ขอฝากเอ็นดูเจ้าลูกหม่อนไว้ในอ้อมอกอ้อมใจทุกคนด้วยนะคะ ขอให้ได้บ้านไวๆ นะลูกหม่อน💖", Status: constant.FINDHOME, @@ -131,7 +124,6 @@ var pets = []pet.Pet{ Birthdate: "2023-06-18 00:00:00.000000", Gender: constant.FEMALE, Color: "เทา", - Pattern: "สลิด", Habit: "เรียบร้อย นิ่ง ขี้อ้อน ไม่โวยวาย", Caption: "หนูชื่อ ซาบะ แมวจรบริเวณ CU Terrace เพราะหนูเกิดเป็นแมวจร จึงหลีกเลี่ยงไม่ได้ที่จะต้องดิ้นรน ต่อสู้ แย่งอาหาร เพื่อที่จะมีชีวิตต่อ แต่การใช้ชีวิตอย่างนั้นกลับทำให้หนูติดเชื้อไวรัส FIV โดยไม่รู้ตัว ตอนนี้หนูมาอยู่กับพี่ ๆ ในชมรม มีพี่ ๆ มาเล่นด้วย มามอบความรักให้หนู ด้วยข้อจำกัดที่ว่าต้องป้องกันไม่ให้เพื่อน ๆ ตัวอื่นมีความเสี่ยง พี่ ๆ จึงเล่นกับหนูได้แค่ตอนเย็นและต้องเล่นกับหนูเป็นตัวสุดท้าย ถ้าหนูได้มีบ้านเป็นของตัวเอง มีสถานที่ที่หนูสามารถเดินไปไหนก็ได้ มีใครสักคนที่หนูสามารถอ้อนได้ตลอดเวลาและมอบความรักให้หนู โดยไม่ต้องรอต่อคิวใคร.. หากคุณ…กำลังมองหาแมวสักตัวหากคุณ…เป็นอีกหนึ่งคนที่มีโอกาสที่จะเปลี่ยนชีวิตชีวิตหนึ่งไปตลอดกาล รับหนู “ซาบะ” ไว้พิจารณาดูสักครั้งนะคะ แมวเป็นโรคอย่างหนูจะเป็นแมวที่นิสัยดีที่สุด รักคุณที่สุด ตอบแทนโอกาสที่คุณมอบให้อย่างแน่นอนค่ะ", Status: constant.ADOPTED, @@ -148,7 +140,6 @@ var pets = []pet.Pet{ Birthdate: "2023-09-04 00:00:00.000000", Gender: constant.MALE, Color: "น้ำตาล", - Pattern: "สีล้วน", Habit: "ขี้เล่น ขี้สงสัย ชอบกระโดด ทำหน้าตลกๆ", Caption: "มีจ้าเป็นลูกแมวกำพร้าตัวคนเดียวติดมากับมอเตอร์ไซค์ จากนั้นได้รับความช่วยเหลือให้อยู่ในการดูแลจาก “แม่” มีคิ้ว ซึ่งทำหน้าที่เป็นคุณแม่บุญธรรมของมีจ้า ผ่านไปไม่นาน มีจ้าก็ได้มีพี่น้องชื่อ มะพร้าว และมะเฟือง แต่ภายหลัง ทั้งสามตัวป่วย เป็นโชคดีที่มีจ้าหายจากอาการป่วยมาได้ แต่แล้วโชคก็เล่นตลกร้ายกับมีจ้า เพราะทั้งมะพร้าวและมะเฟืองได้จากไปอย่างไม่มีวันกลับ ทำให้มีจ้าต้องกลับมาอยู่คนเดียวอีกครั้ง ระหว่างที่กำลังพักฟื้น หนูได้มีโอกาสพบเจอแมวอื่นมากมาย แต่ส่วนใหญ่ทุกคนก็ได้บ้านหมดแล้ว เหลือแต่หนูแล้วสิ แต่หนูก็จะรอ รอวันที่หนูจะไม่ต้องเหงาอีกแล้ว รอวันที่หนูได้รับความรัก ในชีวิตหนูมีช่วงเวลาให้ต้องอยู่คนเดียวมากมายเหลือเกิน หนูหวังว่าจะมีใครสักคนที่มาโอบกอดหนูไว้ มาพาหนูกลับบ้าน แล้วหนูจะไม่ต้องตัวคนเดียวอีก แต่เอ๊ะ! หนูได้ข่าวมาว่าพี่ๆในชมรมกำลังช่วยกันหาบ้านที่อบอุ่นให้กับหนู หนูดีใจและตื่นเต้นมากๆ ชักอดใจไม่ไหวที่จะสำรวจบ้านในอนาคตแล้วว", Status: constant.ADOPTED, @@ -165,7 +156,6 @@ var pets = []pet.Pet{ Birthdate: "2023-09-04 00:00:00.000000", Gender: constant.FEMALE, Color: "ดำ", - Pattern: "ทักซิโด้", Habit: "แมวเด็กติดคน ชอบปีนขึ้นที่สูง ให้กระโดดขึ้นตักได้ ชอบเล่นซ่อนแอบแต่ก็วิ่งมาหาอยู่ดี", Caption: "หนู ชื่อ “ หวานเจี๊ยบ ” นะค๊าา เพราะ หนูนิสัยน่ารักขี้อ้อนมากๆ หนูเป็นลูกแมวจรที่มีคนช่วยมา แต่พี่ที่ช่วยหนูมาไม่สามารถพาหนูกลับไปอยู่ด้วยได้ ได้แต่เลี้ยงหนูไว้ในกรง พี่ปล่อยให้หนูเดินเล่นบ้างเป็นบางเวลาภายในห้องเล็กๆเท่านั้น พี่เค้าจึงขอให้พี่ๆทีมงานในชมรมช่วยหาบ้านให้หนู เพราะ หนูจะได้มีบ้านที่อบอุ่นไม่ต้องอยู่แต่ในกรงอย่างทุกวันนี้", Status: constant.ADOPTED, @@ -182,7 +172,6 @@ var pets = []pet.Pet{ Birthdate: "2023-10-04 00:00:00.000000", Gender: constant.FEMALE, Color: "ดำ", - Pattern: "สีล้วน", Habit: "หนูค่อนข้างซน ชอบแกล้งพี่ๆทีมงาน ชอบงับๆนิ้วเพราะหนูหมั่นเขี้ยว😆 ใครได้หนูไป รับรองว่าไม่มีทางเหงาแน่นอน เพราะหนูก็อยากหาเพื่อนเล่นด้วยเหมือนกัน", Caption: "ที่หนูชื่อว่า “ วินนี่” เพราะ พี่ทีมงานไปเจอหนูอยู่กับ พี่วินมอเตอร์ไซต์ที่เป็นคนพบและช่วยอุ้มหนูมาให้พี่ๆทีมงาน พี่ทีมงานรับหนูเข้ามาในชมรม เพราะเห็นว่าหนูยังเล็กมากๆ พี่ๆเป็นห่วง กลัวว่าถ้าปล่อยหนูไว้ที่เดิม น่าจะไม่รอดแน่ๆ อยู่แถวนั้น ไม่รู้ว่าจะมีใครให้อะไรกินได้บ้างมั้ย จะโดนรถแถวนั้นชนรึเปล่า ตัวหนูเล็กนิดเดียว รถอาจจะไม่ทันสังเกตเห็น ก็เลยพาหนูกลับมาชมรม รอหาบ้านให้ดีกว่า พอหนูเข้ามาพี่ๆก็พากันตั้งชื่อหนูกัน พี่ๆจะตั้งชื่อว่าหนูว่า วิน มันก็ดูจะแมนไปหน่อย เพราะ หนูเป็นผู้หญิง ก็เลยตั้งชื่อว่า วินนี่ ไปเลยแระกัน ก็ฟังดูน่ารักดีใช่มั้ยคะ หลังจากพี่ทีมงานรับหนูมาดูแลในชมรมสักพักนึง หนูก็ดันท้องเสียขึ้นมา ลำบากพี่ๆทีมงานพาหนูไปหาหมอกันใหญ่ ต้องคอยดูแล ป้อนข้าว ป้อนยาหนูอย่างใกล้ชิด จนตอนนี้หนูหายดีแล้ว กลับมาซน กลับซ่า วิ่งเล่นทั่วห้องได้เหมือนเดิม", Status: constant.FINDHOME, @@ -199,7 +188,6 @@ var pets = []pet.Pet{ Birthdate: "2023-06-18 00:00:00.000000", Gender: constant.MALE, Color: "เทา", - Pattern: "สลิด", Habit: "ขี้เล่น สุขภาพแข็งแรงดี", Caption: "มะกอกกระโดดไม่ค่อยได้ เพราะ เคยตกหลังคามาก่อน", Status: constant.FINDHOME, @@ -216,7 +204,6 @@ var pets = []pet.Pet{ Birthdate: "2022-01-18 00:00:00.000000", Gender: constant.FEMALE, Color: "เทา", - Pattern: "สลิด", Habit: "ขี้อ้อน ขี้กลัว", Caption: "คาดว่าหลุดมา ก่อนหน้านี้มีคลอดลูกแล้ว 3 ตัว ลูกๆได้บ้านครบแล้ว เหลือแม่เหมียวที่ยังไม่มีคนรับเลี้ยง", Status: constant.FINDHOME, @@ -233,7 +220,6 @@ var pets = []pet.Pet{ Birthdate: "2023-06-04 00:00:00.000000", Gender: constant.FEMALE, Color: "น้ำตาล", - Pattern: "เปรอะ", Habit: "ไม่ได้ระบุนิสัยมาให้", Caption: "คาดว่าน้องน่าจะพลัดหลงกับแม่ ตอนฝนตกหนัก", Status: constant.FINDHOME, @@ -250,7 +236,6 @@ var pets = []pet.Pet{ Birthdate: "2023-06-04 00:00:00.000000", Gender: constant.MALE, Color: "เทา", - Pattern: "สลิด", Habit: "เชื่อง ยอมให้จับ ให้ลูบเล่นและอุ้มได้ แต่ตอนนี้น้องอยู่แต่ในกรง ทำให้ไม่ได้ใช้ชีวิตเท่าที่ควร น้องอยากออกจากกรงมาก ถ้าได้บ้านคงจะติดคนและขี้อ้อนน่าดู", Caption: "ไม่ได้ระบุประวัติมาให้", Status: constant.FINDHOME, @@ -267,7 +252,6 @@ var pets = []pet.Pet{ Birthdate: "2023-08-18 00:00:00.000000", Gender: constant.MALE, Color: "นวล", - Pattern: "สลิด", Habit: "ยังกลัวๆอยู่ ขี้อ้อน เรียบร้อย ไม่ซน ไม่กัด", Caption: "น้องเคยป่วยมาก่อนและได้พาไปรักษาจนหายเรียบร้อย", Status: constant.FINDHOME,