statping/plugin/main.go

75 lines
1.5 KiB
Go
Raw Normal View History

2018-08-16 06:22:20 +00:00
// Statup
// Copyright (C) 2018. Hunter Long and the project contributors
// Written by Hunter Long <info@socialeck.com> and the project contributors
//
// https://github.com/hunterlong/statup
//
// The licenses for most software and other practical works are designed
// to take away your freedom to share and change the works. By contrast,
// the GNU General Public License is intended to guarantee your freedom to
// share and change all versions of a program--to make sure it remains free
// software for all its users.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
2018-06-14 01:19:00 +00:00
package plugin
import (
"github.com/jinzhu/gorm"
"net/http"
2018-06-15 04:30:10 +00:00
"upper.io/db.v3/lib/sqlbuilder"
2018-06-14 01:19:00 +00:00
)
2018-06-14 06:38:15 +00:00
//
// STATUP PLUGIN INTERFACE
//
// v0.1
//
// https://statup.io
//
2018-06-19 04:48:25 +00:00
//
// An expandable plugin framework that will still
// work even if there's an update or addition.
//
2018-06-14 06:38:15 +00:00
var (
2018-06-15 04:30:10 +00:00
DB sqlbuilder.Database
2018-06-14 06:38:15 +00:00
)
type Routing struct {
URL string
Method string
Handler func(http.ResponseWriter, *http.Request)
}
type Info struct {
Name string
Description string
Form string
}
type Database *gorm.DB
type Plugin struct {
Name string
Description string
}
type PluginDatabase interface {
Database(gorm.DB)
Update() error
}
2018-07-17 09:18:20 +00:00
type PluginInfo struct {
i *Info
2018-06-14 06:38:15 +00:00
}
2018-07-17 09:18:20 +00:00
func SetDatabase(database sqlbuilder.Database) {
DB = database
2018-06-14 06:38:15 +00:00
}
2018-06-19 06:00:56 +00:00
func (p *PluginInfo) Form() string {
return "okkokokkok"
}