func GetDependentTagIDs(tags models.TagReader, markerReader models.SceneMarkerReader, scene *models.Scene) ([]int, error) {
	var ret []int

	t, err := tags.FindBySceneID(scene.ID)
	if err != nil {
		return nil, err
	}

	for _, tt := range t {
		ret = intslice.IntAppendUnique(ret, tt.ID)
	}

	sm, err := markerReader.FindBySceneID(scene.ID)
	if err != nil {
		return nil, err
	}

	for _, smm := range sm {
		ret = intslice.IntAppendUnique(ret, smm.PrimaryTagID)
		smmt, err := tags.FindBySceneMarkerID(smm.ID)
		if err != nil {
			return nil, fmt.Errorf("invalid tags for scene marker: %v", err)
		}

		for _, smmtt := range smmt {
			ret = intslice.IntAppendUnique(ret, smmtt.ID)
		}
	}

	return ret, nil
}
// GetDependentTagIDs returns a slice of unique tag IDs that this scene references.
GetDependentTagIDs returns a slice of unique tag IDs that this scene references.
// GetDependentTagIDs returns a slice of unique tag IDs that this scene references .
func GetDependentTagIDs(tags models.TagReader, markerReader models.SceneMarkerReader, scene *models.Scene) ([]int, error) {
	var ret []int
	t, err := tags.FindBySceneID(scene.ID)
	if err != nil {
		return nil, err
	}
	for _, tt := range t {
		ret = intslice.IntAppendUnique(ret, tt.ID)
	}
	sm, err := markerReader.FindBySceneID(scene.ID)
	if err != nil {
		return nil, err
	}
	for _, smm := range sm {
		ret = intslice.IntAppendUnique(ret, smm.PrimaryTagID)
		smmt, err := tags.FindBySceneMarkerID(smm.ID)
		if err != nil {
			return nil, fmt.Errorf("invalid tags for scene marker: %v", err)
		}
		for _, smmtt := range smmt {
			ret = intslice.IntAppendUnique(ret, smmtt.ID)
		}
	}
	return ret, nil
}
func GetDependentTagIDs ( tags models . TagReader , markerReader models . SceneMarkerReader , scene * models . Scene ) ( [ ] int , error ) { var ret [ ] int t , err := tags . FindBySceneID ( scene . ID ) if err != nil { return nil , err } for _ , tt := range t { ret = intslice . IntAppendUnique ( ret , tt . ID ) } sm , err := markerReader . FindBySceneID ( scene . ID ) if err != nil { return nil , err } for _ , smm := range sm { ret = intslice . IntAppendUnique ( ret , smm . PrimaryTagID ) smmt , err := tags . FindBySceneMarkerID ( smm . ID ) if err != nil { return nil , fmt . Errorf ( " " , err ) } for _ , smmtt := range smmt { ret = intslice . IntAppendUnique ( ret , smmtt . ID ) } } return ret , nil }
GetDependentTagIDs returns a slice of unique tag IDs that this scene references.
GetDependentTagIDs returns a slice of unique tag IDs that this scene references .