|
|
@@ -1057,7 +1057,7 @@ func runSeeders(isUsersEmpty bool) error {
|
|
|
}
|
|
|
|
|
|
if empty && isUsersEmpty {
|
|
|
- seeders := []string{"UserPasswordHash", "ClientsTable", "InboundClientsArrayFix", "InboundClientTgIdFix", "InboundClientSubIdFix", "FreedomFinalRulesReverseFix", "ApiTokensHash", "LegacyProxySettingsCleanup", "WireguardPeersToClients", "MtprotoSecretsToClients", "NodeInboundsAdopted", "ResetIpLimitNoFail2ban"}
|
|
|
+ seeders := []string{"UserPasswordHash", "ClientsTable", "InboundClientsArrayFix", "InboundClientTgIdFix2", "InboundClientSubIdFix", "FreedomFinalRulesReverseFix", "ApiTokensHash", "LegacyProxySettingsCleanup", "WireguardPeersToClients", "MtprotoSecretsToClients", "NodeInboundsAdopted", "ResetIpLimitNoFail2ban"}
|
|
|
for _, name := range seeders {
|
|
|
if err := db.Create(&model.HistoryOfSeeders{SeederName: name}).Error; err != nil {
|
|
|
return err
|
|
|
@@ -1126,7 +1126,7 @@ func runSeeders(isUsersEmpty bool) error {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if !slices.Contains(seedersHistory, "InboundClientTgIdFix") {
|
|
|
+ if !slices.Contains(seedersHistory, "InboundClientTgIdFix2") {
|
|
|
if err := normalizeInboundClientTgId(); err != nil {
|
|
|
return err
|
|
|
}
|
|
|
@@ -1384,6 +1384,11 @@ func normalizeInboundClientTgId() error {
|
|
|
continue
|
|
|
}
|
|
|
obj["tgId"] = int64(0)
|
|
|
+ if s, isStr := tgRaw.(string); isStr {
|
|
|
+ if id, err := strconv.ParseInt(strings.ReplaceAll(strings.TrimSpace(s), " ", ""), 10, 64); err == nil {
|
|
|
+ obj["tgId"] = id
|
|
|
+ }
|
|
|
+ }
|
|
|
clients[i] = obj
|
|
|
mutated = true
|
|
|
}
|
|
|
@@ -1401,7 +1406,7 @@ func normalizeInboundClientTgId() error {
|
|
|
return err
|
|
|
}
|
|
|
}
|
|
|
- return tx.Create(&model.HistoryOfSeeders{SeederName: "InboundClientTgIdFix"}).Error
|
|
|
+ return tx.Create(&model.HistoryOfSeeders{SeederName: "InboundClientTgIdFix2"}).Error
|
|
|
})
|
|
|
}
|
|
|
|