1nwf / Produx-v2

Exit inside non-main function RVV-A0003
Anti-pattern
Major
7 occurrences in this check
calls to log.Fatal only in main() or init() functions
 36	}
 37	err = DB.SetupJoinTable(&Product{}, "Users", &ProductUser{})
 38	if err != nil {
 39		log.Fatal(err) 40	}
 41	return DB
 42}
calls to log.Fatal only in main() or init() functions
 32
 33	err = DB.SetupJoinTable(&User{}, "FollowedProducts", &ProductUser{})
 34	if err != nil {
 35		log.Fatal(err) 36	}
 37	err = DB.SetupJoinTable(&Product{}, "Users", &ProductUser{})
 38	if err != nil {
calls to log.Fatal only in main() or init() functions
 27	}
 28	err = DB.AutoMigrate(&User{}, &Product{}, &Post{}, &Comment{}, &ProductUser{}, &Message{})
 29	if err != nil {
 30		log.Fatal(err) 31	}
 32
 33	err = DB.SetupJoinTable(&User{}, "FollowedProducts", &ProductUser{})
calls to log.Fatal only in main() or init() functions
 23	DB, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
 24
 25	if err != nil {
 26		log.Fatal(err) 27	}
 28	err = DB.AutoMigrate(&User{}, &Product{}, &Post{}, &Comment{}, &ProductUser{}, &Message{})
 29	if err != nil {
calls to log.Fatal only in main() or init() functions
 54				var Pu ProductUsersInfo
 55				err := rows.Scan(&Pu.ID, &Pu.Name, &Pu.Role, &Pu.Pfp)
 56				if err != nil {
 57					log.Fatal(err) 58				}
 59				Users = append(Users, Pu)
 60			}
calls to log.Fatal only in main() or init() functions
 47			defer func(rows *sql.Rows) {
 48				err := rows.Close()
 49				if err != nil {
 50					log.Fatal(err) 51				}
 52			}(rows)
 53			for rows.Next() {
calls to log.Fatal only in main() or init() functions
 42			var Users []ProductUsersInfo
 43			rows, err := db.DB.Table("users, product_users").Preload("FollowedProducts").Select("users.id, users.name, product_users.role, users.pfp").Where("product_users.product_id = ? and product_users.user_id = users.id", product.ID).Rows()
 44			if err != nil {
 45				log.Fatal(err) 46			}
 47			defer func(rows *sql.Rows) {
 48				err := rows.Close()