From 7ebe6d54bec2ac966495ebd974f93dcf0292f036 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Fri, 19 Jun 2026 02:00:04 -0500 Subject: [PATCH 1/2] =?UTF-8?q?refactor:=20rename=20PackageType=20?= =?UTF-8?q?=E2=86=92=20ExtensionType=20(#646)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rename package_type column and Go field to extension_type across model, API, update server, manifest sync, settings UI, and changelog. SQL migration renames the column. XML tag in .mokogitea/manifest.xml is unchanged (backward compat). Fixes #646 --- models/migrations/migrations.go | 1 + models/migrations/v1_27/v357.go | 14 ++++++++++++++ models/repo/repo_manifest.go | 6 +++--- routers/api/v1/repo/manifest.go | 8 ++++---- routers/web/repo/changelog_xml.go | 4 ++-- routers/web/repo/setting/metadata.go | 2 +- services/repository/manifest_sync.go | 4 ++-- services/updateserver/joomla.go | 4 ++-- 8 files changed, 29 insertions(+), 14 deletions(-) create mode 100644 models/migrations/v1_27/v357.go diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index ea2ede72ca..66039e7de8 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -433,6 +433,7 @@ func prepareMigrationTasks() []*migration { newMigration(353, "Add distribution metadata fields to repo manifest", v1_27.AddManifestDistributionFields), newMigration(354, "Add org wiki settings to user table", v1_27.AddOrgWikiSettings), newMigration(355, "Migrate update server metadata to repo manifest", v1_27.MigrateUpdateServerFieldsToManifest), + newMigration(356, "Rename package_type to extension_type in repo manifest", v1_27.RenamePackageTypeToExtensionType), } return preparedMigrations } diff --git a/models/migrations/v1_27/v357.go b/models/migrations/v1_27/v357.go new file mode 100644 index 0000000000..e1a123db9f --- /dev/null +++ b/models/migrations/v1_27/v357.go @@ -0,0 +1,14 @@ +// Copyright 2026 Moko Consulting +// SPDX-License-Identifier: GPL-3.0-or-later + +package v1_27 + +import "xorm.io/xorm" + +// RenamePackageTypeToExtensionType renames the package_type column to extension_type +// in the repo_manifest table for clarity (the field represents the Joomla extension type, +// not just packages). +func RenamePackageTypeToExtensionType(x *xorm.Engine) error { + _, err := x.Exec("ALTER TABLE repo_manifest CHANGE COLUMN package_type extension_type VARCHAR(50) NOT NULL DEFAULT ''") + return err +} diff --git a/models/repo/repo_manifest.go b/models/repo/repo_manifest.go index cddc21e673..a2a5ecb7bb 100644 --- a/models/repo/repo_manifest.go +++ b/models/repo/repo_manifest.go @@ -48,7 +48,7 @@ type RepoMetadata struct { // build section Language string `xorm:"VARCHAR(50) 'language'"` // Go, PHP, TypeScript, etc. - PackageType string `xorm:"VARCHAR(50) 'package_type'"` // application, library, plugin, module, component, package + ExtensionType string `xorm:"VARCHAR(50) 'extension_type'"` // component, module, plugin, package, template, library, file EntryPoint string `xorm:"TEXT 'entry_point'"` // build entry point path CreatedUnix timeutil.TimeStamp `xorm:"INDEX CREATED 'created_unix'"` @@ -88,11 +88,11 @@ func cleanJoomlaElement(name string) string { // AutoElementName returns the auto-constructed Joomla element name (e.g. pkg_mokosuitebackup). // The name is lowercased and cleaned to match Joomla's InputFilter::clean('cmd') behavior. func (m *RepoMetadata) AutoElementName() string { - if m.Name == "" || m.PackageType == "" { + if m.Name == "" || m.ExtensionType == "" { return "" } cleaned := cleanJoomlaElement(m.Name) - if prefix, ok := joomlaTypePrefix[m.PackageType]; ok { + if prefix, ok := joomlaTypePrefix[m.ExtensionType]; ok { return prefix + cleaned } return cleaned diff --git a/routers/api/v1/repo/manifest.go b/routers/api/v1/repo/manifest.go index 4c11037aa3..79dbe341c4 100644 --- a/routers/api/v1/repo/manifest.go +++ b/routers/api/v1/repo/manifest.go @@ -30,7 +30,7 @@ type apiMetadata struct { TargetVersion string `json:"target_version"` PHPMinimum string `json:"php_minimum"` Language string `json:"language"` - PackageType string `json:"package_type"` + ExtensionType string `json:"extension_type"` EntryPoint string `json:"entry_point"` } @@ -79,7 +79,7 @@ func GetRepoMetadata(ctx *context.APIContext) { TargetVersion: m.TargetVersion, PHPMinimum: m.PHPMinimum, Language: m.Language, - PackageType: m.PackageType, + ExtensionType: m.ExtensionType, EntryPoint: m.EntryPoint, }) } @@ -122,7 +122,7 @@ func UpdateRepoMetadata(ctx *context.APIContext) { TargetVersion: req.TargetVersion, PHPMinimum: req.PHPMinimum, Language: req.Language, - PackageType: req.PackageType, + ExtensionType: req.ExtensionType, EntryPoint: req.EntryPoint, } @@ -150,7 +150,7 @@ func UpdateRepoMetadata(ctx *context.APIContext) { TargetVersion: m.TargetVersion, PHPMinimum: m.PHPMinimum, Language: m.Language, - PackageType: m.PackageType, + ExtensionType: m.ExtensionType, EntryPoint: m.EntryPoint, }) } diff --git a/routers/web/repo/changelog_xml.go b/routers/web/repo/changelog_xml.go index 055f60a231..5a1ba42a5a 100644 --- a/routers/web/repo/changelog_xml.go +++ b/routers/web/repo/changelog_xml.go @@ -74,8 +74,8 @@ func ServeChangelogXML(ctx *context.Context) { element = elem elementFromManifest = true } - if manifest.PackageType != "" { - extType = manifest.PackageType + if manifest.ExtensionType != "" { + extType = manifest.ExtensionType extTypeFromManifest = true } } diff --git a/routers/web/repo/setting/metadata.go b/routers/web/repo/setting/metadata.go index c04188e448..a91550a260 100644 --- a/routers/web/repo/setting/metadata.go +++ b/routers/web/repo/setting/metadata.go @@ -111,7 +111,7 @@ func saveMetadata(ctx *context.Context) { InfoURL: ctx.FormString("info_url"), TargetVersion: ctx.FormString("target_version"), PHPMinimum: ctx.FormString("php_minimum"), - PackageType: ctx.FormString("package_type"), + ExtensionType: ctx.FormString("extension_type"), EntryPoint: ctx.FormString("entry_point"), } diff --git a/services/repository/manifest_sync.go b/services/repository/manifest_sync.go index ccc610fe94..2f74f4a30a 100644 --- a/services/repository/manifest_sync.go +++ b/services/repository/manifest_sync.go @@ -52,7 +52,7 @@ type manifestGovernance struct { type manifestBuild struct { Language string `xml:"language"` - PackageType string `xml:"package-type"` + ExtensionType string `xml:"package-type"` EntryPoint string `xml:"entry-point"` } @@ -103,7 +103,7 @@ func SyncMetadataFromCommit(ctx context.Context, repo *repo_model.Repository, co TargetVersion: mxml.Distribution.TargetVersion, PHPMinimum: mxml.Distribution.PHPMinimum, Language: mxml.Build.Language, - PackageType: mxml.Build.PackageType, + ExtensionType: mxml.Build.ExtensionType, EntryPoint: mxml.Build.EntryPoint, } diff --git a/services/updateserver/joomla.go b/services/updateserver/joomla.go index 6d515067eb..a4a3f3d7ca 100644 --- a/services/updateserver/joomla.go +++ b/services/updateserver/joomla.go @@ -195,8 +195,8 @@ func resolveExtensionMetadata(ctx context.Context, repo *repo_model.Repository, if elem := manifest.FullElementName(); elem != "" { m.Element = elem } - if manifest.PackageType != "" { - m.ExtType = manifest.PackageType + if manifest.ExtensionType != "" { + m.ExtType = manifest.ExtensionType } if manifest.DisplayName != "" { m.DisplayName = manifest.DisplayName -- 2.52.0 From e33a05268cbd46498066d2147c0cf0bf60482316 Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Fri, 19 Jun 2026 07:01:17 +0000 Subject: [PATCH 2/2] chore(version): pre-release bump to 06.17.02-dev [skip ci] --- .mokogitea/manifest.xml | 2 +- .mokogitea/workflows/issue-branch.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.mokogitea/manifest.xml b/.mokogitea/manifest.xml index b571eca676..fac9d61b17 100644 --- a/.mokogitea/manifest.xml +++ b/.mokogitea/manifest.xml @@ -4,7 +4,7 @@ MokoGitea MokoConsulting Moko fork of Gitea - adding project board REST API endpoints and custom enhancements - 06.17.01 + 06.17.02 v1.26.1+MOKO GNU General Public License v3 diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index 929e0782f9..171d2e6835 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokoplatform.Automation -# VERSION: 06.17.01 +# VERSION: 06.17.02 # BRIEF: Auto-create feature branch when an issue is opened name: "Universal: Issue Branch" -- 2.52.0