@@ -34,6 +34,15 @@ const websiteUpdateMetadata = () => {
3434 resources : Joi . array ( ) . items ( Joi . string ( ) . uri ( { scheme : [ 'http' , 'https' ] } ) ) ,
3535 } ) ;
3636} ;
37+
38+ const mediaWikiUpdateMetadata = ( ) => {
39+ return Joi . object ( ) . keys ( {
40+ baseURL : Joi . string ( ) . required ( ) ,
41+ path : Joi . string ( ) . required ( ) ,
42+ namespace : Joi . array ( ) . items ( Joi . number ( ) ) . required ( ) ,
43+ } ) ;
44+ } ;
45+
3746const twitterMetadata = ( ) => {
3847 return Joi . object ( ) . keys ( {
3948 id : Joi . string ( ) . required ( ) ,
@@ -84,7 +93,8 @@ const notionMetadata = () => {
8493const mediaWikiMetadata = ( ) => {
8594 return Joi . object ( ) . keys ( {
8695 baseURL : Joi . string ( ) . required ( ) ,
87- path : Joi . string ( ) . required ( ) . valid ( '/w/api.php' ) ,
96+ path : Joi . string ( ) . required ( ) ,
97+ namespace : Joi . array ( ) . items ( Joi . number ( ) ) . required ( ) ,
8898 } ) ;
8999} ;
90100
@@ -229,6 +239,16 @@ const dynamicUpdatePlatform = (req: Request) => {
229239 } ) ,
230240 } ;
231241 }
242+ case PlatformNames . MediaWiki : {
243+ return {
244+ params : Joi . object ( ) . keys ( {
245+ platformId : Joi . required ( ) . custom ( objectId ) ,
246+ } ) ,
247+ body : Joi . object ( ) . required ( ) . keys ( {
248+ metadata : mediaWikiUpdateMetadata ( ) ,
249+ } ) ,
250+ } ;
251+ }
232252 default :
233253 req . allowInput = false ;
234254 return { } ;
0 commit comments