iterate over a map for the set profile items

This commit is contained in:
Carlosokumu 2024-12-05 10:52:45 +03:00
parent a84c3e0852
commit 321f038c7c
Signed by untrusted user: carlos
GPG Key ID: 7BD6BC8160A5C953

View File

@ -1966,69 +1966,27 @@ func (h *Handlers) insertProfileItems(ctx context.Context, sessionId string, res
"flag_location_set", "flag_location_set",
"flag_offerings_set", "flag_offerings_set",
} }
profileDataKeys := map[int]common.DataTyp{
0: common.DATA_FIRST_NAME,
1: common.DATA_FAMILY_NAME,
2: common.DATA_GENDER,
3: common.DATA_YOB,
4: common.DATA_LOCATION,
5: common.DATA_OFFERINGS,
}
for index, profileItem := range h.profile.ProfileItems { for index, profileItem := range h.profile.ProfileItems {
switch index { // Ensure the profileItem is not "0"(is set)
case 0:
if profileItem != "0" { if profileItem != "0" {
err = store.WriteEntry(ctx, sessionId, common.DATA_FIRST_NAME, []byte(profileItem)) err = store.WriteEntry(ctx, sessionId, profileDataKeys[index], []byte(profileItem))
if err != nil { if err != nil {
logg.ErrorCtxf(ctx, "failed to write profile first name entry with", "key", common.DATA_TEMPORARY_VALUE, "value", profileItem, "error", err) logg.ErrorCtxf(ctx, "failed to write profile entry with", "key", profileDataKeys[index], "value", profileItem, "error", err)
return err return err
} }
// Get the flag for the current index
flag, _ := h.flagManager.GetFlag(profileFlagNames[index]) flag, _ := h.flagManager.GetFlag(profileFlagNames[index])
res.FlagSet = append(res.FlagSet, flag) res.FlagSet = append(res.FlagSet, flag)
} }
case 1:
if profileItem != "0" {
err = store.WriteEntry(ctx, sessionId, common.DATA_FAMILY_NAME, []byte(profileItem))
if err != nil {
logg.ErrorCtxf(ctx, "failed to write profile family name entry with", "key", common.DATA_TEMPORARY_VALUE, "value", profileItem, "error", err)
return err
}
flag, _ := h.flagManager.GetFlag(profileFlagNames[index])
res.FlagSet = append(res.FlagSet, flag)
}
case 2:
if profileItem != "0" {
err = store.WriteEntry(ctx, sessionId, common.DATA_GENDER, []byte(profileItem))
if err != nil {
logg.ErrorCtxf(ctx, "failed to write profile gender entry with", "key", common.DATA_TEMPORARY_VALUE, "value", profileItem, "error", err)
return err
}
flag, _ := h.flagManager.GetFlag(profileFlagNames[index])
res.FlagSet = append(res.FlagSet, flag)
}
case 3:
if profileItem != "0" {
err = store.WriteEntry(ctx, sessionId, common.DATA_YOB, []byte(profileItem))
if err != nil {
logg.ErrorCtxf(ctx, "failed to write profile yob entry with", "key", common.DATA_TEMPORARY_VALUE, "value", profileItem, "error", err)
return err
}
flag, _ := h.flagManager.GetFlag(profileFlagNames[index])
res.FlagSet = append(res.FlagSet, flag)
}
case 4:
if profileItem != "0" {
err = store.WriteEntry(ctx, sessionId, common.DATA_LOCATION, []byte(profileItem))
if err != nil {
logg.ErrorCtxf(ctx, "failed to write profile location entry with", "key", common.DATA_TEMPORARY_VALUE, "value", profileItem, "error", err)
return err
}
flag, _ := h.flagManager.GetFlag(profileFlagNames[index])
res.FlagSet = append(res.FlagSet, flag)
}
case 5:
if profileItem != "0" {
err = store.WriteEntry(ctx, sessionId, common.DATA_OFFERINGS, []byte(profileItem))
if err != nil {
logg.ErrorCtxf(ctx, "failed to write profile offerings entry with", "key", common.DATA_TEMPORARY_VALUE, "value", profileItem, "error", err)
return err
}
flag, _ := h.flagManager.GetFlag(profileFlagNames[index])
res.FlagSet = append(res.FlagSet, flag)
}
}
} }
return nil return nil
} }