fixes
Signed-off-by: Ben Hall <ben@benh.codes>
This commit is contained in:
parent
6774d75b2a
commit
d398cfe84e
@ -477,6 +477,16 @@ func ImportHandler(ctx *gin.Context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Logger.Info("Importing mapping for forms", zap.Uint64("guild", guildId))
|
||||||
|
for area, m := range map[string]map[int]int{"form": formIdMap} {
|
||||||
|
for sourceId, targetId := range m {
|
||||||
|
if err := dbclient.Client2.ImportMappingTable.Set(queryCtx, guildId, area, sourceId, targetId); err != nil {
|
||||||
|
ctx.JSON(500, utils.ErrorJson(err))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Import form inputs
|
// Import form inputs
|
||||||
log.Logger.Info("Importing form inputs", zap.Uint64("guild", guildId))
|
log.Logger.Info("Importing form inputs", zap.Uint64("guild", guildId))
|
||||||
for _, input := range data.FormInputs {
|
for _, input := range data.FormInputs {
|
||||||
@ -491,6 +501,16 @@ func ImportHandler(ctx *gin.Context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Logger.Info("Importing mapping for forms inputs", zap.Uint64("guild", guildId))
|
||||||
|
for area, m := range map[string]map[int]int{"form_input": formInputIdMap} {
|
||||||
|
for sourceId, targetId := range m {
|
||||||
|
if err := dbclient.Client2.ImportMappingTable.Set(queryCtx, guildId, area, sourceId, targetId); err != nil {
|
||||||
|
ctx.JSON(500, utils.ErrorJson(err))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
embedMap := make(map[int]int)
|
embedMap := make(map[int]int)
|
||||||
|
|
||||||
// Import embeds
|
// Import embeds
|
||||||
@ -521,12 +541,6 @@ func ImportHandler(ctx *gin.Context) {
|
|||||||
ctx.JSON(500, utils.ErrorJson(err))
|
ctx.JSON(500, utils.ErrorJson(err))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
panelTx, err := dbclient.Client.Panel.Begin(queryCtx)
|
|
||||||
if err != nil {
|
|
||||||
ctx.JSON(500, utils.ErrorJson(err))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
panelCount := len(existingPanels)
|
panelCount := len(existingPanels)
|
||||||
|
|
||||||
// Import Panels
|
// Import Panels
|
||||||
@ -556,7 +570,7 @@ func ImportHandler(ctx *gin.Context) {
|
|||||||
// TODO: Fix this permanently
|
// TODO: Fix this permanently
|
||||||
panel.MessageId = panel.MessageId - 1
|
panel.MessageId = panel.MessageId - 1
|
||||||
|
|
||||||
panelId, err := dbclient.Client.Panel.CreateWithTx(queryCtx, panelTx, panel)
|
panelId, err := dbclient.Client.Panel.Create(queryCtx, panel)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
ctx.JSON(500, utils.ErrorJson(err))
|
ctx.JSON(500, utils.ErrorJson(err))
|
||||||
@ -570,10 +584,20 @@ func ImportHandler(ctx *gin.Context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Logger.Info("Importing mapping for panels", zap.Uint64("guild", guildId))
|
||||||
|
for area, m := range map[string]map[int]int{"panel": panelIdMap} {
|
||||||
|
for sourceId, targetId := range m {
|
||||||
|
if err := dbclient.Client2.ImportMappingTable.Set(queryCtx, guildId, area, sourceId, targetId); err != nil {
|
||||||
|
ctx.JSON(500, utils.ErrorJson(err))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Import Panel Access Control Rules
|
// Import Panel Access Control Rules
|
||||||
log.Logger.Info("Importing panel access control rules", zap.Uint64("guild", guildId))
|
log.Logger.Info("Importing panel access control rules", zap.Uint64("guild", guildId))
|
||||||
for panelId, rules := range data.PanelAccessControlRules {
|
for panelId, rules := range data.PanelAccessControlRules {
|
||||||
if err := dbclient.Client.PanelAccessControlRules.ReplaceWithTx(queryCtx, panelTx, panelIdMap[panelId], rules); err != nil {
|
if err := dbclient.Client.PanelAccessControlRules.Replace(queryCtx, panelIdMap[panelId], rules); err != nil {
|
||||||
ctx.JSON(500, utils.ErrorJson(err))
|
ctx.JSON(500, utils.ErrorJson(err))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -582,7 +606,7 @@ func ImportHandler(ctx *gin.Context) {
|
|||||||
// Import Panel Mention User
|
// Import Panel Mention User
|
||||||
log.Logger.Info("Importing panel mention user", zap.Uint64("guild", guildId))
|
log.Logger.Info("Importing panel mention user", zap.Uint64("guild", guildId))
|
||||||
for panelId, shouldMention := range data.PanelMentionUser {
|
for panelId, shouldMention := range data.PanelMentionUser {
|
||||||
if err := dbclient.Client.PanelUserMention.SetWithTx(queryCtx, panelTx, panelIdMap[panelId], shouldMention); err != nil {
|
if err := dbclient.Client.PanelUserMention.Set(queryCtx, panelIdMap[panelId], shouldMention); err != nil {
|
||||||
ctx.JSON(500, utils.ErrorJson(err))
|
ctx.JSON(500, utils.ErrorJson(err))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -591,7 +615,7 @@ func ImportHandler(ctx *gin.Context) {
|
|||||||
// Import Panel Role Mentions
|
// Import Panel Role Mentions
|
||||||
log.Logger.Info("Importing panel role mentions", zap.Uint64("guild", guildId))
|
log.Logger.Info("Importing panel role mentions", zap.Uint64("guild", guildId))
|
||||||
for panelId, roles := range data.PanelRoleMentions {
|
for panelId, roles := range data.PanelRoleMentions {
|
||||||
if err := dbclient.Client.PanelRoleMentions.ReplaceWithTx(queryCtx, panelTx, panelIdMap[panelId], roles); err != nil {
|
if err := dbclient.Client.PanelRoleMentions.Replace(queryCtx, panelIdMap[panelId], roles); err != nil {
|
||||||
ctx.JSON(500, utils.ErrorJson(err))
|
ctx.JSON(500, utils.ErrorJson(err))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -605,17 +629,12 @@ func ImportHandler(ctx *gin.Context) {
|
|||||||
teamsToAdd = append(teamsToAdd, supportTeamIdMap[team])
|
teamsToAdd = append(teamsToAdd, supportTeamIdMap[team])
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := dbclient.Client.PanelTeams.ReplaceWithTx(queryCtx, panelTx, panelIdMap[panelId], teamsToAdd); err != nil {
|
if err := dbclient.Client.PanelTeams.Replace(queryCtx, panelIdMap[panelId], teamsToAdd); err != nil {
|
||||||
ctx.JSON(500, utils.ErrorJson(err))
|
ctx.JSON(500, utils.ErrorJson(err))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := panelTx.Commit(queryCtx); err != nil {
|
|
||||||
ctx.JSON(500, utils.ErrorJson(err))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// Import Multi panels
|
// Import Multi panels
|
||||||
log.Logger.Info("Importing multi panels", zap.Uint64("guild", guildId))
|
log.Logger.Info("Importing multi panels", zap.Uint64("guild", guildId))
|
||||||
multiPanelIdMap := make(map[int]int)
|
multiPanelIdMap := make(map[int]int)
|
||||||
@ -695,6 +714,17 @@ func ImportHandler(ctx *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update the mapping
|
||||||
|
log.Logger.Info("Importing mapping for tickets", zap.Uint64("guild", guildId))
|
||||||
|
for area, m := range map[string]map[int]int{"ticket": ticketIdMap} {
|
||||||
|
for sourceId, targetId := range m {
|
||||||
|
if err := dbclient.Client2.ImportMappingTable.Set(queryCtx, guildId, area, sourceId, targetId); err != nil {
|
||||||
|
ctx.JSON(500, utils.ErrorJson(err))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ticketsExtrasGroup, _ := errgroup.WithContext(queryCtx)
|
ticketsExtrasGroup, _ := errgroup.WithContext(queryCtx)
|
||||||
|
|
||||||
ticketsExtrasGroup.Go(func() (err error) {
|
ticketsExtrasGroup.Go(func() (err error) {
|
||||||
@ -823,23 +853,5 @@ func ImportHandler(ctx *gin.Context) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Imported successfully, update the import mapping
|
|
||||||
newMapping := make(map[string]map[int]int)
|
|
||||||
newMapping["ticket"] = ticketIdMap
|
|
||||||
newMapping["form"] = formIdMap
|
|
||||||
newMapping["form_input"] = formInputIdMap
|
|
||||||
newMapping["panel"] = panelIdMap
|
|
||||||
|
|
||||||
// Update the mapping
|
|
||||||
log.Logger.Info("Importing mapping", zap.Uint64("guild", guildId))
|
|
||||||
for area, m := range newMapping {
|
|
||||||
for sourceId, targetId := range m {
|
|
||||||
if err := dbclient.Client2.ImportMappingTable.Set(queryCtx, guildId, area, sourceId, targetId); err != nil {
|
|
||||||
ctx.JSON(500, utils.ErrorJson(err))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.JSON(200, utils.SuccessResponse)
|
ctx.JSON(200, utils.SuccessResponse)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user