Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 22 additions & 21 deletions internal/api/proposal/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -983,27 +983,28 @@ func UpdateDbRecordsFromMetaforoProposalResponse(db *gorm.DB, dbProposalRcdId ui
// Check whether update form metaforo contains error, if yes, update state to metaforo error and return
if mfError != nil {
log.Error().Msgf("get metaforo proposal error: %+v", mfError)

// This branch is processing mf error, set the default state to UncategorizedMetaforoError
proposalStateForMetaforoError := model.ProposalStateUncategorizedMetaforoError
if strings.Contains(mfError.Error(), "not found") {
// Proposal not found in metaforo, change the state to DeletedFromMetaforo
proposalStateForMetaforoError = model.ProposalStateDeletedFromMetaforo
} else if isProposalInFinState {
// For mf error other than not found, only update proposal not in fin state
log.Debug().Msgf("proposal %d is in fin state, skip updating proposal state to mf error", dbProposalRcdId)
return nil
} else {
// Keep the new state to be UncategorizedMetaforoError
}

// Update proposal state into mf_error
if err = db.Model(&model.Proposal{}).Where("id = ?", dbProposalRcdId).Update("state", proposalStateForMetaforoError).Error; err != nil {
log.Error().Msgf("update proposal %d state to deleted_by_metaforo error", dbProposalRcdId)
return err
}

return nil
return mfError

// // This branch is processing mf error, set the default state to UncategorizedMetaforoError
// proposalStateForMetaforoError := model.ProposalStateUncategorizedMetaforoError
// if strings.Contains(mfError.Error(), "not found") {
// // Proposal not found in metaforo, change the state to DeletedFromMetaforo
// proposalStateForMetaforoError = model.ProposalStateDeletedFromMetaforo
// } else if isProposalInFinState {
// // For mf error other than not found, only update proposal not in fin state
// log.Debug().Msgf("proposal %d is in fin state, skip updating proposal state to mf error", dbProposalRcdId)
// return nil
// } else {
// // Keep the new state to be UncategorizedMetaforoError
// }

// // Update proposal state into mf_error
// if err = db.Model(&model.Proposal{}).Where("id = ?", dbProposalRcdId).Update("state", proposalStateForMetaforoError).Error; err != nil {
// log.Error().Msgf("update proposal %d state to deleted_by_metaforo error", dbProposalRcdId)
// return err
// }

// return nil
}

// Save all version proposals' arweave hash
Expand Down
25 changes: 13 additions & 12 deletions internal_inject/proposal/proposal.service.go
Original file line number Diff line number Diff line change
Expand Up @@ -904,20 +904,21 @@ func (s *ProposalService) IsUserMetVoteGate(userSeepassData *sdk.SeepassResponse
}

func (s *ProposalService) UpdateDbRecordsFromMetaforoProposalResponse(db *gorm.DB, dbProposalRcdId uint, metaforoProposal *metaforo.ProposalResponse, mfError error) error {
// Check whether update form metaforo contains error, if yes, update state to metaforo error and return
// // Check whether update form metaforo contains error, if yes, update state to metaforo error and return
if mfError != nil {
log.Error().Msgf("get metaforo proposal error: %+v", mfError)
proposalStateForMetaforoError := model.ProposalStateUncategorizedMetaforoError
if strings.Contains(mfError.Error(), "not found") {
proposalStateForMetaforoError = model.ProposalStateDeletedFromMetaforo
}

if err := db.Model(&model.Proposal{}).Where("id = ?", dbProposalRcdId).Update("state", proposalStateForMetaforoError).Error; err != nil {
log.Error().Msgf("update proposal %d state to deleted_by_metaforo error", dbProposalRcdId)
return err
}

return nil
return mfError
// proposalStateForMetaforoError := model.ProposalStateUncategorizedMetaforoError
// if strings.Contains(mfError.Error(), "not found") {
// proposalStateForMetaforoError = model.ProposalStateDeletedFromMetaforo
// }

// if err := db.Model(&model.Proposal{}).Where("id = ?", dbProposalRcdId).Update("state", proposalStateForMetaforoError).Error; err != nil {
// log.Error().Msgf("update proposal %d state to deleted_by_metaforo error", dbProposalRcdId)
// return err
// }

// return nil
}

// Save all version proposals' arweave hash
Expand Down
Loading