miniflux-v2/server/ui/form/subscription.go

37 lines
724 B
Go

// Copyright 2017 Frédéric Guillot. All rights reserved.
// Use of this source code is governed by the Apache 2.0
// license that can be found in the LICENSE file.
package form
import (
"errors"
"net/http"
"strconv"
)
type SubscriptionForm struct {
URL string
CategoryID int64
}
func (s *SubscriptionForm) Validate() error {
if s.URL == "" || s.CategoryID == 0 {
return errors.New("The URL and the category are mandatory.")
}
return nil
}
func NewSubscriptionForm(r *http.Request) *SubscriptionForm {
categoryID, err := strconv.Atoi(r.FormValue("category_id"))
if err != nil {
categoryID = 0
}
return &SubscriptionForm{
URL: r.FormValue("url"),
CategoryID: int64(categoryID),
}
}