in server/service/kv/kv_svc.go [157:185]
func Upload(ctx context.Context, request *model.UploadKVRequest) *model.DocRespOfUpload {
override := request.Override
kvs := request.KVs
result := &model.DocRespOfUpload{
Success: []*model.KVDoc{},
Failure: []*model.DocFailedOfUpload{},
}
strategy := SelectStrategy(override)
for i, kv := range kvs {
if kv == nil {
continue
}
kv.Domain = request.Domain
kv.Project = request.Project
kv, err := strategy.Execute(ctx, kv)
if err != nil {
if err.Code == config.ErrStopUpload {
appendAbortFailedKVResult(kvs[i:], result)
break
}
appendFailedKVResult(err, kv, result)
continue
}
Publish(kv)
result.Success = append(result.Success, kv)
}
return result
}