GetSkillFileTree returns the file tree of a skill package
(ctx context.Context, eid, skillID int64)
| 801 | |
| 802 | // GetSkillFileTree returns the file tree of a skill package |
| 803 | func (s *SkillLibraryService) GetSkillFileTree(ctx context.Context, eid, skillID int64) ([]SkillFileItem, error) { |
| 804 | skill, err := model.GetSkillLibraryByID(skillID) |
| 805 | if err != nil { |
| 806 | return nil, err |
| 807 | } |
| 808 | |
| 809 | // 权限校验:租户技能只有所属租户可访问,平台技能所有租户可访问 |
| 810 | if skill.Eid != 0 && skill.Eid != eid { |
| 811 | return nil, ErrSkillNotVisible |
| 812 | } |
| 813 | |
| 814 | installPath := skill.InstallPath |
| 815 | if installPath == "" { |
| 816 | return nil, errors.New("skill install path is empty") |
| 817 | } |
| 818 | |
| 819 | return buildSkillFileTree(installPath) |
| 820 | } |
| 821 | |
| 822 | // SkillFileInfo holds metadata for a skill file used for streaming preview |
| 823 | type SkillFileInfo struct { |
no test coverage detected