1+ import { CreateIndexesOptions } from 'mongodb' ;
12import { Project } from '../../common/models/project' ;
23import { WritingSystem } from '../../common/models/writing-system' ;
34import { obj } from '../../common/utils/obj-path' ;
@@ -13,9 +14,16 @@ export const SF_PROJECT_PROFILES_COLLECTION = 'sf_projects_profile';
1314export const SF_PROJECT_PROFILES_INDEX_PATHS : string [ ] = [ ] ;
1415
1516export const SF_PROJECTS_COLLECTION = 'sf_projects' ;
16- export const SF_PROJECT_INDEX_PATHS : string [ ] = [
17- obj < SFProject > ( ) . pathStr ( q => q . name ) ,
18- obj < SFProject > ( ) . pathStr ( q => q . paratextId )
17+ export const SF_PROJECT_INDEX_PATHS : ( string | [ string , CreateIndexesOptions ] ) [ ] = [
18+ obj < SFProject > ( ) . pathStr ( p => p . name ) ,
19+ obj < SFProject > ( ) . pathStr ( p => p . paratextId ) ,
20+ // Index for ParatextService.GetBiblicalTermsAsync() in .NET
21+ obj < SFProject > ( ) . pathStr ( p => p . shortName ) ,
22+ // Indexes for SFProjectService.IsSourceProject() in .NET
23+ [ obj < SFProject > ( ) . pathStr ( p => p . translateConfig . source ! . projectRef ) , { sparse : true } ] ,
24+ [ obj < SFProject > ( ) . pathStr ( p => p . translateConfig . draftConfig . additionalTrainingSource ! . projectRef ) , { sparse : true } ] ,
25+ [ obj < SFProject > ( ) . pathStr ( p => p . translateConfig . draftConfig . alternateSource ! . projectRef ) , { sparse : true } ] ,
26+ [ obj < SFProject > ( ) . pathStr ( p => p . translateConfig . draftConfig . alternateTrainingSource ! . projectRef ) , { sparse : true } ]
1927] ;
2028
2129/** Length of id for a DBL resource. */
0 commit comments