コード例 #1
0
func (Devices *All_Devices) AddDeviceOnBdd(req *protocol.Request, Ulist *users.All_users, Db *sql.DB) (*list.Element, error) {
	var err error
	newDevice := new(Device)
	newDevice.Historic = list.New()
	newDevice.Id = req.IdMobile
	newDevice.UserDefault = Ulist.AddNewDefaultUser(Db, req)
	if newDevice.UserDefault == nil {
		err = errors.New("Add new default user not permission")
		Devices.Logger.Println("Error AddDeviceOnBdd: ", err)
		return nil, err
	}
	newDevice.IdUserDefault = newDevice.UserDefault.Value.(*users.User).Id
	newDevice.UserSpec = nil
	rows, err := Db.Query("INSERT INTO device (id_type_d, typename, idclient, user_id_user) VALUES ($1, $2, $3, $4) RETURNING id;", 1, "device_default", newDevice.Id, newDevice.IdUserDefault)
	if err != nil {
		Devices.Logger.Println("Error Query on AddDeviceOnBdd: ", err)
		return nil, err
	}
	defer rows.Close()
	for rows.Next() {
		err = rows.Scan(&newDevice.Idbdd)
		if err != nil {
			Devices.Logger.Println("Error Scan on AddDeviceOnBdd: ", err)
			return nil, err
		}
	}
	return Devices.Dlist.PushFront(newDevice), nil
}