feat: scan subdirectories for resource_type in standard resources sync
This commit is contained in:
parent
5d116f0ecc
commit
10f015cdd9
@ -74,8 +74,37 @@ func (s *ResourceManagementService) SyncStandardResourcesFromDirectory(dir strin
|
||||
}
|
||||
for _, entry := range entries {
|
||||
if entry.IsDir() {
|
||||
// Subdirectory = resource_type; scan files inside
|
||||
resourceType := entry.Name()
|
||||
subDir := filepath.Join(dir, resourceType)
|
||||
subEntries, serr := os.ReadDir(subDir)
|
||||
if serr != nil {
|
||||
continue
|
||||
}
|
||||
for _, sub := range subEntries {
|
||||
if sub.IsDir() {
|
||||
continue
|
||||
}
|
||||
fullPath := filepath.Join(subDir, sub.Name())
|
||||
sum, size, err := hashFile(fullPath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
record := storage.StandardResourceRecord{
|
||||
Name: strings.TrimSuffix(sub.Name(), filepath.Ext(sub.Name())),
|
||||
ResourceType: resourceType,
|
||||
Version: "auto",
|
||||
SHA256: sum,
|
||||
SizeBytes: size,
|
||||
FilePath: fullPath,
|
||||
}
|
||||
if err := s.repo.Save(record); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
continue
|
||||
}
|
||||
// Flat file: infer resource_type from filename or leave empty (legacy)
|
||||
fullPath := filepath.Join(dir, entry.Name())
|
||||
sum, size, err := hashFile(fullPath)
|
||||
if err != nil {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user