Add app_type field to App model (desktop/web/service)#138
Open
qzMalekuz wants to merge 1 commit into
Open
Conversation
Author
|
Hi @coleslaw481 @d2fong @jingjingbic, This is the foundational schema change from my GSoC 2026 proposal (multi-platform catalog project). Happy to adjust the field design, choices, or migration approach based on your feedback before I move on to Week 2 (ServiceAppMetadata + admin filters). Thanks, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The current
Appmodel has no way to distinguish between Desktop, Web,and Service Apps. This is the foundational schema change needed to turn
the App Store into a unified multi-platform catalog.
This PR introduces an
app_typefield to theAppmodel with threesupported values:
desktop,web, andservice.Changes
apps/models.py: AddAPP_TYPE_*constants,APP_TYPE_CHOICES,and
app_type = CharField(max_length=10, choices=..., default='desktop', db_index=True)to theAppmodeldbmigration/add_app_type.py: Raw SQL migration script for existingdeployments — defaults all existing rows to
'desktop'for full backwardcompatibility
apps/tests.py:AppTypeTestCasecovering default value, persistencefor all three types, invalid value rejection via
full_clean(), andqueryset filtering
Backward Compatibility
All existing
Approws default to'desktop'. No existing functionalityis affected.
Context
This is the Week 1 deliverable from the GSoC 2026 proposal for the
multi-platform catalog project. Follow-up PRs will add
ServiceAppMetadata,admin filters, health monitoring, and the
/backend/service_apps/APIendpoint.
Closes #128