summaryrefslogtreecommitdiff
path: root/internal/apimodule/app
diff options
context:
space:
mode:
Diffstat (limited to 'internal/apimodule/app')
-rw-r--r--internal/apimodule/app/app.go25
-rw-r--r--internal/apimodule/app/appcreate.go14
2 files changed, 24 insertions, 15 deletions
diff --git a/internal/apimodule/app/app.go b/internal/apimodule/app/app.go
index 534f4cd3e..08292acd1 100644
--- a/internal/apimodule/app/app.go
+++ b/internal/apimodule/app/app.go
@@ -25,7 +25,8 @@ import (
"github.com/sirupsen/logrus"
"github.com/superseriousbusiness/gotosocial/internal/apimodule"
"github.com/superseriousbusiness/gotosocial/internal/db"
- "github.com/superseriousbusiness/gotosocial/internal/db/model"
+ "github.com/superseriousbusiness/gotosocial/internal/db/gtsmodel"
+ "github.com/superseriousbusiness/gotosocial/internal/mastotypes"
"github.com/superseriousbusiness/gotosocial/internal/oauth"
"github.com/superseriousbusiness/gotosocial/internal/router"
)
@@ -33,17 +34,19 @@ import (
const appsPath = "/api/v1/apps"
type appModule struct {
- server oauth.Server
- db db.DB
- log *logrus.Logger
+ server oauth.Server
+ db db.DB
+ mastoConverter mastotypes.Converter
+ log *logrus.Logger
}
// New returns a new auth module
-func New(srv oauth.Server, db db.DB, log *logrus.Logger) apimodule.ClientAPIModule {
+func New(srv oauth.Server, db db.DB, mastoConverter mastotypes.Converter, log *logrus.Logger) apimodule.ClientAPIModule {
return &appModule{
- server: srv,
- db: db,
- log: log,
+ server: srv,
+ db: db,
+ mastoConverter: mastoConverter,
+ log: log,
}
}
@@ -57,9 +60,9 @@ func (m *appModule) CreateTables(db db.DB) error {
models := []interface{}{
&oauth.Client{},
&oauth.Token{},
- &model.User{},
- &model.Account{},
- &model.Application{},
+ &gtsmodel.User{},
+ &gtsmodel.Account{},
+ &gtsmodel.Application{},
}
for _, m := range models {
diff --git a/internal/apimodule/app/appcreate.go b/internal/apimodule/app/appcreate.go
index cd5aff701..ec52a9d37 100644
--- a/internal/apimodule/app/appcreate.go
+++ b/internal/apimodule/app/appcreate.go
@@ -24,9 +24,9 @@ import (
"github.com/gin-gonic/gin"
"github.com/google/uuid"
- "github.com/superseriousbusiness/gotosocial/internal/db/model"
+ "github.com/superseriousbusiness/gotosocial/internal/db/gtsmodel"
+ mastotypes "github.com/superseriousbusiness/gotosocial/internal/mastotypes/mastomodel"
"github.com/superseriousbusiness/gotosocial/internal/oauth"
- "github.com/superseriousbusiness/gotosocial/pkg/mastotypes"
)
// appsPOSTHandler should be served at https://example.org/api/v1/apps
@@ -78,7 +78,7 @@ func (m *appModule) appsPOSTHandler(c *gin.Context) {
vapidKey := uuid.NewString()
// generate the application to put in the database
- app := &model.Application{
+ app := &gtsmodel.Application{
Name: form.ClientName,
Website: form.Website,
RedirectURI: form.RedirectURIs,
@@ -108,6 +108,12 @@ func (m *appModule) appsPOSTHandler(c *gin.Context) {
return
}
+ mastoApp, err := m.mastoConverter.AppToMastoSensitive(app)
+ if err != nil {
+ c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
+ return
+ }
+
// done, return the new app information per the spec here: https://docs.joinmastodon.org/methods/apps/
- c.JSON(http.StatusOK, app.ToMasto())
+ c.JSON(http.StatusOK, mastoApp)
}