summaryrefslogtreecommitdiff
path: root/internal/gtsmodel/application.go
diff options
context:
space:
mode:
authorLibravatar tsmethurst <tobi.smethurst@protonmail.com>2021-08-31 15:59:12 +0200
committerLibravatar tsmethurst <tobi.smethurst@protonmail.com>2021-09-01 11:11:26 +0200
commit2786b5f88742c3f32b8ed497df3737cb4f57caec (patch)
treec088b71b228a52fb3bbf37628caea82ff7a42067 /internal/gtsmodel/application.go
parentgo fmt (diff)
downloadgotosocial-2786b5f88742c3f32b8ed497df3737cb4f57caec.tar.xz
change muchos things
Diffstat (limited to 'internal/gtsmodel/application.go')
-rw-r--r--internal/gtsmodel/application.go24
1 files changed, 8 insertions, 16 deletions
diff --git a/internal/gtsmodel/application.go b/internal/gtsmodel/application.go
index 12a21d298..0791aae6a 100644
--- a/internal/gtsmodel/application.go
+++ b/internal/gtsmodel/application.go
@@ -21,20 +21,12 @@ package gtsmodel
// Application represents an application that can perform actions on behalf of a user.
// It is used to authorize tokens etc, and is associated with an oauth client id in the database.
type Application struct {
- // id of this application in the db
- ID string `bun:"type:CHAR(26),pk,notnull"`
- // name of the application given when it was created (eg., 'tusky')
- Name string `bun:",nullzero"`
- // website for the application given when it was created (eg., 'https://tusky.app')
- Website string `bun:",nullzero"`
- // redirect uri requested by the application for oauth2 flow
- RedirectURI string `bun:",nullzero"`
- // id of the associated oauth client entity in the db
- ClientID string `bun:"type:CHAR(26),nullzero"`
- // secret of the associated oauth client entity in the db
- ClientSecret string `bun:",nullzero"`
- // scopes requested when this app was created
- Scopes string `bun:",nullzero"`
- // a vapid key generated for this app when it was created
- VapidKey string `bun:",nullzero"`
+ ID string `validate:"required,ulid" bun:"type:CHAR(26),pk,nullzero,notnull"` // id of this application in the db
+ Name string `validate:"required" bun:",nullzero,notnull"` // name of the application given when it was created (eg., 'tusky')
+ Website string `validate:"omitempty,url" bun:",nullzero"` // website for the application given when it was created (eg., 'https://tusky.app')
+ RedirectURI string `validate:"required" bun:",nullzero,notnull"` // redirect uri requested by the application for oauth2 flow
+ ClientID string `validate:"omitempty,ulid" bun:"type:CHAR(26),nullzero"` // id of the associated oauth client entity in the db
+ ClientSecret string `validate:"required,uuid" bun:",nullzero,notnull"` // secret of the associated oauth client entity in the db
+ Scopes string `validate:"required" bun:",nullzero,default:'read'"` // scopes requested when this app was created
+ VapidKey string `validate:"-" bun:",nullzero"` // a vapid key generated for this app when it was created
}