func()

in internal/mode/advanced/indexer/indexer.go [135:179]


func (i *Indexer) submitWikiBlob(f *git.File, _, toCommit string) error {
	wikiBlob, err := BuildBlob(f, i.wikiSourceId(), toCommit, "wiki_blob", i.Encoder, i.Submitter.IsProjectDocument())
	if err != nil {
		return fmt.Errorf("WikiBlob %s: %w", f.Path, err)
	}

	indexJsonData, err := wikiBlob.ToMap()
	if err != nil {
		return fmt.Errorf("WikiBlob %w", err)
	}

	if i.Submitter.IsProjectDocument() {
		indexJsonData["project_id"] = i.Submitter.ParentID()
		indexJsonData["rid"] = strings.Replace(wikiBlob.RepoID, "wiki", "wiki_project", 1)
		if i.Submitter.Archived() != "" {
			archived, err := extractArchivedFlag(i.Submitter.Archived())
			if err != nil {
				return err
			}
			indexJsonData["archived"] = archived
		}
	}

	if i.Submitter.ParentGroupID() > 0 {
		indexJsonData["group_id"] = i.Submitter.ParentGroupID()
		// Group wiki
		if i.Submitter.IsGroupDocument() {
			indexJsonData["rid"] = strings.Replace(wikiBlob.RepoID, "wiki", "wiki_group", 1)
		}
	}

	indexJsonData["schema_version"] = i.Submitter.SchemaVersionWiki()

	if i.Submitter.TraversalIDs() != "" {
		indexJsonData["traversal_ids"] = i.Submitter.TraversalIDs()
	}

	if permissions := i.Submitter.WikiPermissions(); permissions != nil {
		indexJsonData["visibility_level"] = permissions.VisibilityLevel
		indexJsonData["wiki_access_level"] = permissions.WikiAccessLevel
	}

	i.Submitter.Index("wiki_blob", wikiBlob.ID, indexJsonData)
	return nil
}