Create `extensions_marketplace_opt_in_status` field in database
MR: Create 'extensions_marketplace_opt_in_status' f... (!149178 - merged)
Description
Based on Create User-Level Extension Marketplace settings (#451875)
There already exists a user.use_web_ide_extensions_marketplace
field which is a boolean DEFAULT false NOT NULL
but we need a ternary field
Let's deprecate the unused user.use_web_ide_extensions_marketplace
field and add a new one for user.extensions_marketplace_opt_in
. This should be a smallint
on the db side with enum values like:
ExtensionsMarketplaceOptInStatus::Unset
ExtensionsMarketplaceOptInStatus::Enabled
ExtensionsMarketplaceOptInStatus::Disabled
Acceptance Criteria
-
Deprecate use_web_ide_extensions_marketplace
(introduced in Add use_web_ide_extension_marketplace to user_pref (!139000 - merged)) -
Add a field extensions_marketplace_opt_in_status
and add to GraphQL API (similar to Add use_web_ide_extension_marketplace to user_pref (!139000 - merged)), excpet let's get the type and naming correct this time😬
Example queries
mutation userPreferencesUpdate {
userPreferencesUpdate(
input: {
extensionsMarketplaceOptInStatus: DISABLED
}
)
{
userPreferences {
extensionsMarketplaceOptInStatus
}
errors
}
}
mutation userPreferencesUpdate {
userPreferencesUpdate(
input: {
extensionsMarketplaceOptInStatus: ENABLED
}
)
{
userPreferences {
extensionsMarketplaceOptInStatus
}
errors
}
}
mutation userPreferencesUpdate {
userPreferencesUpdate(
input: {
extensionsMarketplaceOptInStatus: UNSET
}
)
{
userPreferences {
extensionsMarketplaceOptInStatus
}
errors
}
}
Screenshots
Edited by Chad Woolley