42 lignes
1,4 Kio
Go
42 lignes
1,4 Kio
Go
|
package models
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
"net/http"
|
||
|
|
||
|
"github.com/fatih/structs"
|
||
|
)
|
||
|
|
||
|
type OauthClient struct {
|
||
|
ID string `gorm:"column:id;primary_key;not null"`
|
||
|
Name string `gorm:"column:client_name;not null"`
|
||
|
Secret string `gorm:"column:client_secret;not null"`
|
||
|
RedirectURIs string `gorm:"column:redirect_uris;not null"`
|
||
|
GrantTypes string `gorm:"column:grant_types;not null"`
|
||
|
ResponseTypes string `gorm:"column:response_types;not null"`
|
||
|
Scope string `gorm:"column:scope;not null"`
|
||
|
Owner string `gorm:"column:owner;not null"`
|
||
|
PolicyURI string `gorm:"column:policy_uri;not null"`
|
||
|
TermsOfServiceURI string `gorm:"column:tos_uri;not null"`
|
||
|
ClientURI string `gorm:"column:client_uri;not null"`
|
||
|
LogoURI string `gorm:"column:logo_uri;not null"`
|
||
|
Contacts string `gorm:"column:contacts;not null"`
|
||
|
Public bool `gorm:"column:public;not null"`
|
||
|
}
|
||
|
|
||
|
func (d OauthClient) TableName() string {
|
||
|
return "hydra_client"
|
||
|
}
|
||
|
|
||
|
func (d *OauthClient) Update() (int, error) {
|
||
|
if ORM.Model(d).UpdateColumn(d.toMap()).Error != nil {
|
||
|
return http.StatusInternalServerError, errors.New("Torrent was not updated")
|
||
|
}
|
||
|
return http.StatusOK, nil
|
||
|
}
|
||
|
|
||
|
// toMap : convert the model to a map of interface
|
||
|
func (d *OauthClient) toMap() map[string]interface{} {
|
||
|
return structs.Map(d)
|
||
|
}
|