models2: Fixed issue caused by last commit removing packages that were still barely in use.
This commit is contained in:
@@ -0,0 +1,33 @@
|
|||||||
|
package channels
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/globalsign/mgo"
|
||||||
|
|
||||||
|
"git.aiterp.net/rpdata/api/models"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Ensure adds a channel if it doesn't exist. If logged is set and the found channel isn't logged,
|
||||||
|
// that is changed.
|
||||||
|
func Ensure(name string, logged bool) (models.Channel, error) {
|
||||||
|
if len(name) < 3 && !strings.HasPrefix(name, "#") {
|
||||||
|
return models.Channel{}, ErrInvalidName
|
||||||
|
}
|
||||||
|
|
||||||
|
channel, err := FindName(name)
|
||||||
|
if err == mgo.ErrNotFound {
|
||||||
|
return Add(name, logged, false, "", "")
|
||||||
|
} else if err != nil {
|
||||||
|
return models.Channel{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if logged && !channel.Logged {
|
||||||
|
channel, err = Edit(channel, &logged, nil, nil, nil)
|
||||||
|
if err != nil {
|
||||||
|
return models.Channel{}, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return channel, nil
|
||||||
|
}
|
||||||
+2
-2
@@ -6,8 +6,8 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.aiterp.net/rpdata/api/internal/counter"
|
"git.aiterp.net/rpdata/api/internal/counter"
|
||||||
"git.aiterp.net/rpdata/api/model/channel"
|
|
||||||
"git.aiterp.net/rpdata/api/models"
|
"git.aiterp.net/rpdata/api/models"
|
||||||
|
"git.aiterp.net/rpdata/api/models/channels"
|
||||||
"github.com/globalsign/mgo/bson"
|
"github.com/globalsign/mgo/bson"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ func Add(date time.Time, channelName, title, eventName, description string, open
|
|||||||
return models.Log{}, errors.New("Failed to allocate short ID: " + err.Error())
|
return models.Log{}, errors.New("Failed to allocate short ID: " + err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = channel.Ensure(channelName, open)
|
_, err = channels.Ensure(channelName, open)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return models.Log{}, errors.New("Failed to ensure channel: " + err.Error())
|
return models.Log{}, errors.New("Failed to ensure channel: " + err.Error())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user