From 95faebe60dfcb1ba62a81932e14e876ea9993cd7 Mon Sep 17 00:00:00 2001 From: tsmethurst Date: Thu, 18 Mar 2021 23:54:07 +0100 Subject: extend application for use in oauth --- internal/gtsmodel/application.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 internal/gtsmodel/application.go (limited to 'internal/gtsmodel/application.go') diff --git a/internal/gtsmodel/application.go b/internal/gtsmodel/application.go new file mode 100644 index 000000000..f8c36ca25 --- /dev/null +++ b/internal/gtsmodel/application.go @@ -0,0 +1,34 @@ +/* + GoToSocial + Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +package gtsmodel + +type Application struct { + ID string `pg:"type:uuid,default:gen_random_uuid(),pk,notnull"` + Name string `json:"name"` + // The website associated with your application (url) + Website string `json:"website,omitempty"` + // Where the user should be redirected after authorization. + RedirectURI string `json:"redirect_uri"` + // ClientID to use when obtaining an oauth token for this application (ie., in client_id parameter of https://docs.joinmastodon.org/methods/apps/) + ClientID string `json:"client_id"` + // Client secret to use when obtaining an auth token for this application (ie., in client_secret parameter of https://docs.joinmastodon.org/methods/apps/) + ClientSecret string `json:"client_secret"` + // Used for Push Streaming API. Returned with POST /api/v1/apps. Equivalent to https://docs.joinmastodon.org/entities/pushsubscription/#server_key + VapidKey string `json:"vapid_key"` +} -- cgit v1.2.3 From fd02a7dfbedc72541caefcf0c7ec4f0e08840675 Mon Sep 17 00:00:00 2001 From: tsmethurst Date: Fri, 19 Mar 2021 13:37:58 +0100 Subject: update --- internal/gtsmodel/application.go | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'internal/gtsmodel/application.go') diff --git a/internal/gtsmodel/application.go b/internal/gtsmodel/application.go index f8c36ca25..80dc1fd06 100644 --- a/internal/gtsmodel/application.go +++ b/internal/gtsmodel/application.go @@ -20,15 +20,10 @@ package gtsmodel type Application struct { ID string `pg:"type:uuid,default:gen_random_uuid(),pk,notnull"` - Name string `json:"name"` - // The website associated with your application (url) - Website string `json:"website,omitempty"` - // Where the user should be redirected after authorization. + Name string + Website string RedirectURI string `json:"redirect_uri"` - // ClientID to use when obtaining an oauth token for this application (ie., in client_id parameter of https://docs.joinmastodon.org/methods/apps/) ClientID string `json:"client_id"` - // Client secret to use when obtaining an auth token for this application (ie., in client_secret parameter of https://docs.joinmastodon.org/methods/apps/) ClientSecret string `json:"client_secret"` - // Used for Push Streaming API. Returned with POST /api/v1/apps. Equivalent to https://docs.joinmastodon.org/entities/pushsubscription/#server_key VapidKey string `json:"vapid_key"` } -- cgit v1.2.3 From b3d13623700ab340e6f1bd786998cc92c175a9ae Mon Sep 17 00:00:00 2001 From: tsmethurst Date: Sat, 20 Mar 2021 19:04:35 +0100 Subject: add fields --- internal/gtsmodel/application.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'internal/gtsmodel/application.go') diff --git a/internal/gtsmodel/application.go b/internal/gtsmodel/application.go index 80dc1fd06..c0d6dddaf 100644 --- a/internal/gtsmodel/application.go +++ b/internal/gtsmodel/application.go @@ -19,11 +19,12 @@ package gtsmodel type Application struct { - ID string `pg:"type:uuid,default:gen_random_uuid(),pk,notnull"` - Name string - Website string - RedirectURI string `json:"redirect_uri"` - ClientID string `json:"client_id"` + ID string `pg:"type:uuid,default:gen_random_uuid(),pk,notnull"` + Name string + Website string + RedirectURI string `json:"redirect_uri"` + ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` - VapidKey string `json:"vapid_key"` + Scopes string `json:"scopes"` + VapidKey string `json:"vapid_key"` } -- cgit v1.2.3