From 3078409343c6566599fba6356080c36a86ce9768 Mon Sep 17 00:00:00 2001 From: Yang Luo Date: Fri, 1 Sep 2023 21:16:51 +0800 Subject: [PATCH] Add CertPublicKey to Application --- controllers/application.go | 22 ++++++++++++++++------ object/application.go | 1 + 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/controllers/application.go b/controllers/application.go index c7f0c239..0a4c70f7 100644 --- a/controllers/application.go +++ b/controllers/application.go @@ -62,13 +62,13 @@ func (c *ApiController) GetApplications() { } paginator := pagination.SetPaginator(c.Ctx, limit, count) - app, err := object.GetPaginationApplications(owner, paginator.Offset(), limit, field, value, sortField, sortOrder) + application, err := object.GetPaginationApplications(owner, paginator.Offset(), limit, field, value, sortField, sortOrder) if err != nil { c.ResponseError(err.Error()) return } - applications := object.GetMaskedApplications(app, userId) + applications := object.GetMaskedApplications(application, userId) c.ResponseOk(applications, paginator.Nums()) } } @@ -84,13 +84,23 @@ func (c *ApiController) GetApplication() { userId := c.GetSessionUsername() id := c.Input().Get("id") - app, err := object.GetApplication(id) + application, err := object.GetApplication(id) if err != nil { c.ResponseError(err.Error()) return } - c.ResponseOk(object.GetMaskedApplication(app, userId)) + if c.Input().Get("withKey") != "" && application.Cert != "" { + cert, err := object.GetCert(util.GetId(application.Owner, application.Cert)) + if err != nil { + c.ResponseError(err.Error()) + return + } + + application.CertPublicKey = cert.Certificate + } + + c.ResponseOk(object.GetMaskedApplication(application, userId)) } // GetUserApplication @@ -164,13 +174,13 @@ func (c *ApiController) GetOrganizationApplications() { } paginator := pagination.SetPaginator(c.Ctx, limit, count) - app, err := object.GetPaginationOrganizationApplications(owner, organization, paginator.Offset(), limit, field, value, sortField, sortOrder) + application, err := object.GetPaginationOrganizationApplications(owner, organization, paginator.Offset(), limit, field, value, sortField, sortOrder) if err != nil { c.ResponseError(err.Error()) return } - applications := object.GetMaskedApplications(app, userId) + applications := object.GetMaskedApplications(application, userId) c.ResponseOk(applications, paginator.Nums()) } } diff --git a/object/application.go b/object/application.go index 44fb5e24..806c1d65 100644 --- a/object/application.go +++ b/object/application.go @@ -57,6 +57,7 @@ type Application struct { SignupItems []*SignupItem `xorm:"varchar(1000)" json:"signupItems"` GrantTypes []string `xorm:"varchar(1000)" json:"grantTypes"` OrganizationObj *Organization `xorm:"-" json:"organizationObj"` + CertPublicKey string `xorm:"-" json:"certPublicKey"` Tags []string `xorm:"mediumtext" json:"tags"` InvitationCodes []string `xorm:"varchar(200)" json:"invitationCodes"`