{"master":{"name":"Produnto","author":["Tim Starling"],"url":"https:\/\/www.mediawiki.org\/wiki\/Special:MyLanguage\/Extension:Produnto","descriptionmsg":"produnto-desc","license-name":"GPL-2.0-or-later","type":"other","requires":{"MediaWiki":">= 1.45.0"},"config":{"ProduntoServers":{"value":[],"description":"An array of server configuration objects describing upstream package sources"},"ProduntoPackagesTitle":{"value":null,"description":"The title to use for the deployed package list, or null for MediaWiki:Packages.json"},"ProduntoUpdateBatchSizes":{"value":{"link":1000,"job":10,"purge":1000},"description":"Batch sizes to use during the deployment update job. The link batch size needs to be fairly large to avoid duplication of titles in different htmlCacheUpdate jobs and is limited by the desired size of the IN() condition in the query. The job batch size can be small since the performance advantage in batching job pushes is small, and a large batch would use a lot of memory. The purge batch size controls the size of a purge job."},"ProduntoApiBatchSizes":{"value":{"packages":1000},"description":"Batch sizes to use when delivering REST API responses"}},"AvailableRights":["produnto-update"],"GroupPermissions":{"sysop":{"produnto-update":true}},"GrantPermissions":{"editprotected":{"produnto-update":true}},"Hooks":{"LoadExtensionSchemaUpdates":"schema","ContentHandlerDefaultModelFor":"updater","JsonValidateSave":"updater","PageSaveComplete":"updater","getUserPermissionsErrors":"viewer"},"HookHandlers":{"schema":{"class":"MediaWiki\\Extension\\Produnto\\SchemaHooks"},"updater":{"class":"MediaWiki\\Extension\\Produnto\\Updater\\UpdaterHooks","services":["Produnto.Updater"]},"viewer":{"class":"MediaWiki\\Extension\\Produnto\\RepoViewer\\RepoViewerHooks"}},"DatabaseVirtualDomains":["virtual-produnto"],"RestRoutes":[{"method":"GET","path":"\/produnto\/v1\/deployments\/recent","class":"MediaWiki\\Extension\\Produnto\\Rest\\RecentDeploymentsHandler","services":["Produnto.Store","PermissionManager","ConnectionProvider"]},{"method":"POST","path":"\/produnto\/v1\/deployment\/validate","class":"MediaWiki\\Extension\\Produnto\\Rest\\ValidateDeploymentHandler","services":["Produnto.Updater","ContentLanguage","MessageFormatterFactory"]},{"method":"POST","path":"\/produnto\/v1\/deployment\/patch","class":"MediaWiki\\Extension\\Produnto\\Rest\\PatchDeploymentHandler","services":["ContentLanguage","MessageFormatterFactory","PageUpdaterFactory","PageStore","Produnto.AuthorizingPageSaverFactory","Produnto.Updater"]},{"method":"GET","path":"\/produnto\/v1\/packages\/all\/","class":"MediaWiki\\Extension\\Produnto\\Rest\\PackagesIndexHandler","services":["MainConfig","Produnto.Store","PermissionManager"]},{"method":"GET","path":"\/produnto\/v1\/packages\/all\/{partition}","class":"MediaWiki\\Extension\\Produnto\\Rest\\PackagesListHandler","services":["MainConfig","Produnto.Store","PermissionManager","ContentLanguage","MessageFormatterFactory"]},{"method":"POST","path":"\/produnto\/v1\/gitlab\/tag","class":"MediaWiki\\Extension\\Produnto\\Rest\\GitlabTagHandler","services":["Produnto.ServerContainer","Produnto.Fetcher","Produnto.Logger"]},{"method":"GET","path":"\/produnto\/v1\/sandbox","class":"MediaWiki\\Extension\\Produnto\\Rest\\SandboxListHandler","services":["Produnto.SandboxStore"]},{"method":"POST","path":"\/produnto\/v1\/sandbox\/{id}","class":"MediaWiki\\Extension\\Produnto\\Rest\\SandboxPostHandler","services":["Produnto.Store","Produnto.SandboxStore","Produnto.ManifestFactory"]},{"method":"DELETE","path":"\/produnto\/v1\/sandbox\/{id}","class":"MediaWiki\\Extension\\Produnto\\Rest\\SandboxDeleteHandler","services":["Produnto.SandboxStore"]},{"method":"POST","path":"\/produnto\/v1\/sandbox\/{id}\/activate","class":"MediaWiki\\Extension\\Produnto\\Rest\\SandboxActivateHandler","services":["Produnto.SandboxStore"]},{"method":"POST","path":"\/produnto\/v1\/sandbox\/{id}\/deactivate","class":"MediaWiki\\Extension\\Produnto\\Rest\\SandboxDeactivateHandler"}],"SpecialPages":{"ProduntoPackages":{"class":"MediaWiki\\Extension\\Produnto\\Dashboard\\SpecialProduntoPackages"},"ProduntoSandbox":"MediaWiki\\Extension\\Produnto\\Sandbox\\ProduntoSandboxPage"},"JobClasses":{"ProduntoFetch":{"class":"MediaWiki\\Extension\\Produnto\\Fetcher\\FetchJob","services":["Produnto.Fetcher"],"needsPage":false},"ProduntoUpdate":{"class":"MediaWiki\\Extension\\Produnto\\Updater\\UpdateJob","services":["Produnto.Store","Produnto.RepoLinker","ConnectionProvider","JobQueueGroup","MainConfig"],"needsPage":false}},"ExtensionMessagesFiles":{"ProduntoAlias":"i18n\/Produnto.alias.php"},"ServiceWiringFiles":["src\/ServiceWiring.php"],"namespaces":[{"id":850,"constant":"NS_PACKAGE","name":"Package"},{"id":851,"constant":"NS_PACKAGE_TALK","name":"Package_talk"}],"ShadowPageProviders":[{"namespace":850,"class":"MediaWiki\\Extension\\Produnto\\RepoViewer\\RepoProvider","services":["ContentLanguage","LanguageFallback","MessageFormatterFactory","LanguageFactory","Produnto.RepoLinker","LinkRenderer","Produnto.Store"],"optional_services":["SyntaxHighlight.SyntaxHighlight"]}],"repository":"https:\/\/gerrit.wikimedia.org\/r\/mediawiki\/extensions\/Produnto"}}