Commit 10fde6f0 authored by Vivek Naik's avatar Vivek Naik
Browse files

fix: data not found while fetching media

parent befd29cf
Branches
Tags
2 merge requests!134Mep release271219,!133Add: Asset FDB and merged bucket type
Showing with 15 additions and 18 deletions
...@@ -547,17 +547,21 @@ func SaveMediaInFDB(dbName string, indexID string, mediaData []byte, rs *gjson.R ...@@ -547,17 +547,21 @@ func SaveMediaInFDB(dbName string, indexID string, mediaData []byte, rs *gjson.R
loggermdl.LogError("fail to add fdb index entry in file: ", err) loggermdl.LogError("fail to add fdb index entry in file: ", err)
return recordPath, errormdl.Wrap("fail to write data in file") return recordPath, errormdl.Wrap("fail to write data in file")
} }
json, err := createIndexJSON(index, rs)
if err != nil {
loggermdl.LogError(err)
return recordPath, err
}
rowID := "" rowID := ""
if index.IsDynamicName { if index.IsDynamicName {
rowID = rs.Get(index.IndexNameQuery).String() rowID = rs.Get(index.IndexNameQuery).String()
} else { } else {
rowID = index.IndexNameQuery rowID = index.IndexNameQuery
} }
r, _ := sjson.Set(rs.String(), "rowID", rowID)
*rs = gjson.Parse(r)
json, err := createIndexJSON(index, rs)
if err != nil {
loggermdl.LogError(err)
return recordPath, err
}
loggermdl.LogError("indexId", index.IndexID)
// path = path + ".json" // path = path + ".json"
err = index.indexObj.Update(func(tx *buntdb.Tx) error { err = index.indexObj.Update(func(tx *buntdb.Tx) error {
// optimization : if data not changed then dont update // optimization : if data not changed then dont update
...@@ -567,7 +571,7 @@ func SaveMediaInFDB(dbName string, indexID string, mediaData []byte, rs *gjson.R ...@@ -567,7 +571,7 @@ func SaveMediaInFDB(dbName string, indexID string, mediaData []byte, rs *gjson.R
// if rowID == "" { // if rowID == "" {
// rowID = guidmdl.GetGUID() // rowID = guidmdl.GetGUID()
// } // }
json, _ = sjson.Set(json, "rowID", rowID) // json, _ = sjson.Set(json, "rowID", rowID)
_, _, err = tx.Set(path, json, nil) _, _, err = tx.Set(path, json, nil)
if err != nil { if err != nil {
loggermdl.LogError(err) loggermdl.LogError(err)
...@@ -575,7 +579,6 @@ func SaveMediaInFDB(dbName string, indexID string, mediaData []byte, rs *gjson.R ...@@ -575,7 +579,6 @@ func SaveMediaInFDB(dbName string, indexID string, mediaData []byte, rs *gjson.R
} }
return nil return nil
}) })
if err != nil { if err != nil {
loggermdl.LogError("failed to update index data - ", err) loggermdl.LogError("failed to update index data - ", err)
return "", errormdl.Wrap("failed to update index data") return "", errormdl.Wrap("failed to update index data")
...@@ -610,14 +613,16 @@ func GetMediaFromFDB(dbName, indexID, rowID, recordID string) ([]byte, gjson.Res ...@@ -610,14 +613,16 @@ func GetMediaFromFDB(dbName, indexID, rowID, recordID string) ([]byte, gjson.Res
loggermdl.LogError("INDEX not found: " + indexID) loggermdl.LogError("INDEX not found: " + indexID)
return dataByte, fileMeta, errormdl.Wrap("INDEX not found: " + indexID) return dataByte, fileMeta, errormdl.Wrap("INDEX not found: " + indexID)
} }
loggermdl.LogError("indexId", index.IndexID)
query := []string{`#[rowID=` + rowID + `]`} query := []string{`#[rowID=` + rowID + `]`}
// rs := gjson.Result{} // rs := gjson.Result{}
filePath := "" filePath := ""
err = index.indexObj.View(func(tx *buntdb.Tx) error { err = index.indexObj.View(func(tx *buntdb.Tx) error {
// v, _ := tx.Get("bucketPackType/media", false) // v, _ := tx.Get("bucketPackType/media", false)
return tx.Ascend(index.IndexID, func(key, value string) bool { return tx.Ascend(indexID, func(key, value string) bool {
loggermdl.LogError("Ascend")
rsJSON := gjson.Parse("[" + value + "]") rsJSON := gjson.Parse("[" + value + "]")
// loggermdl.LogError("key", key, "val", value) loggermdl.LogError("key", key, "val", value)
for i := 0; i < len(query); i++ { for i := 0; i < len(query); i++ {
rsJSON = rsJSON.Get(query[i] + "#") rsJSON = rsJSON.Get(query[i] + "#")
} }
...@@ -654,11 +659,6 @@ func GetMediaFromFDB(dbName, indexID, rowID, recordID string) ([]byte, gjson.Res ...@@ -654,11 +659,6 @@ func GetMediaFromFDB(dbName, indexID, rowID, recordID string) ([]byte, gjson.Res
return dataByte, fileMeta, nil return dataByte, fileMeta, nil
} }
// GetAssetDataFromFDB -
func GetAssetDataFromFDB(cdnPath string) ([]byte, error) {
return []byte{}, nil
}
func saveDataInMixedBucket(fdb *FDB, filePath string, index *Index, rs *gjson.Result) error { func saveDataInMixedBucket(fdb *FDB, filePath string, index *Index, rs *gjson.Result) error {
bucketID := index.BucketSequence[len(index.BucketSequence)-1] bucketID := index.BucketSequence[len(index.BucketSequence)-1]
bucket := fdb.buckets[bucketID] bucket := fdb.buckets[bucketID]
...@@ -666,9 +666,6 @@ func saveDataInMixedBucket(fdb *FDB, filePath string, index *Index, rs *gjson.Re ...@@ -666,9 +666,6 @@ func saveDataInMixedBucket(fdb *FDB, filePath string, index *Index, rs *gjson.Re
if len(fileType) == 0 { if len(fileType) == 0 {
return errormdl.Wrap("please specify fileType") return errormdl.Wrap("please specify fileType")
} }
if fileType == FileTypeAsset {
return errormdl.Wrap("please use SaveAssetDataInFDB method to save asset type data")
}
isFilePresent := filemdl.FileAvailabilityCheck(filePath) isFilePresent := filemdl.FileAvailabilityCheck(filePath)
infileIndex, ok := bucket.InFileIndexMap[fileType] infileIndex, ok := bucket.InFileIndexMap[fileType]
...@@ -1190,7 +1187,7 @@ func ReadDataFromFDB(dbName, indexID string, rs *gjson.Result, query []string, i ...@@ -1190,7 +1187,7 @@ func ReadDataFromFDB(dbName, indexID string, rs *gjson.Result, query []string, i
loggermdl.LogError("files not found") loggermdl.LogError("files not found")
return &resultToReturn, nil return &resultToReturn, nil
} }
if bucket.BucketType == BucketTypePack { if bucket.BucketType == BucketTypePack || bucket.BucketType == BucketTypeMixed {
for _, path := range filePaths { for _, path := range filePaths {
filePath := filepath.Join(fdb.DBPath, path) filePath := filepath.Join(fdb.DBPath, path)
requestedFileType := rs.Get("fileType").String() requestedFileType := rs.Get("fileType").String()
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment