@@ -159,6 +159,7 @@ const customServices = () => ({
159159
160160 fields . forEach ( ( field ) => {
161161 const relationalField = field . split ( '.' ) . length > 1 ? field . split ( '.' ) : null ;
162+ const { slugify } = strapi . config . get < Config > ( 'plugin::webtools' ) ;
162163
163164 if ( field === 'pluralName' ) {
164165 const fieldValue = strapi . contentTypes [ uid ] . info . pluralName ;
@@ -169,17 +170,16 @@ const customServices = () => ({
169170
170171 resolvedPattern = resolvedPattern . replace ( `[${ field } ]` , fieldValue || '' ) ;
171172 } else if ( ! relationalField ) {
172- const { slugify } = strapi . config . get < Config > ( 'plugin::webtools' ) ;
173173 const fieldValue = slugify ( String ( entity [ field ] ) ) ;
174174 resolvedPattern = resolvedPattern . replace ( `[${ field } ]` , fieldValue || '' ) ;
175175 } else if ( Array . isArray ( entity [ relationalField [ 0 ] ] ) ) {
176176 strapi . log . error ( 'Something went wrong whilst resolving the pattern.' ) ;
177177 } else if ( typeof entity [ relationalField [ 0 ] ] === 'object' ) {
178- resolvedPattern = resolvedPattern . replace ( `[${ field } ]` , entity [ relationalField [ 0 ] ] && String ( ( entity [ relationalField [ 0 ] ] as any [ ] ) [ relationalField [ 1 ] ] ) ? String ( ( entity [ relationalField [ 0 ] ] as any [ ] ) [ relationalField [ 1 ] ] ) : '' ) ;
178+ resolvedPattern = resolvedPattern . replace ( `[${ field } ]` , entity [ relationalField [ 0 ] ] && String ( ( entity [ relationalField [ 0 ] ] as any [ ] ) [ relationalField [ 1 ] ] ) ? slugify ( String ( ( entity [ relationalField [ 0 ] ] as any [ ] ) [ relationalField [ 1 ] ] ) ) : '' ) ;
179179 }
180180 } ) ;
181181
182- resolvedPattern = resolvedPattern . replace ( / ( [ ^ : ] \/ ) \/ + / g, '$1 ' ) ; // Remove duplicate forward slashes.
182+ resolvedPattern = resolvedPattern . replace ( / \/ + / g, '/ ' ) ; // Remove duplicate forward slashes.
183183 resolvedPattern = resolvedPattern . startsWith ( '/' ) ? resolvedPattern : `/${ resolvedPattern } ` ; // Add a starting slash.
184184 return resolvedPattern ;
185185 } ;
0 commit comments