fix: harden identity, live access, drafts and setup (review only)
Source-reviewed hardening changes and regression tests. UNBUILT / UNTESTED: not a deployable release. Go formatting, compilation, automated regression tests, full frontend validation and staging acceptance remain required. See docs/hardening/VALIDATION.md. Main remains the original clean snapshot; no upstream Git history imported.
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
// Modified in the independent hardening fork; see docs/hardening.
|
||||
|
||||
package repositories
|
||||
|
||||
import (
|
||||
@@ -6,7 +8,6 @@ import (
|
||||
|
||||
"agent-desk/internal/pkg/httpx/params"
|
||||
|
||||
"github.com/mlogclub/simple/common/strs"
|
||||
"github.com/mlogclub/simple/sqls"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
@@ -36,14 +37,11 @@ func (r *customerIdentityRepository) Take(db *gorm.DB, where ...interface{}) *mo
|
||||
return ret
|
||||
}
|
||||
|
||||
// GetBy 按外部来源 + 外部用户标识查询身份映射(与 uk_customer_external 一致)。
|
||||
// GetBy is the legacy/internal-integration lookup. Ambiguous mappings fail closed.
|
||||
func (r *customerIdentityRepository) GetBy(db *gorm.DB, externalSource enums.ExternalSource, externalID string) *models.CustomerIdentity {
|
||||
if strs.IsAnyBlank(string(externalSource), externalID) {
|
||||
return nil
|
||||
}
|
||||
return r.FindOne(db, sqls.NewCnd().
|
||||
Eq("external_source", externalSource).
|
||||
Eq("external_id", externalID))
|
||||
identity, err := r.GetUniqueBy(db, "", externalSource, externalID)
|
||||
if err != nil { return nil }
|
||||
return identity
|
||||
}
|
||||
|
||||
func (r *customerIdentityRepository) FindByCustomerID(db *gorm.DB, customerID int64) []models.CustomerIdentity {
|
||||
|
||||
Reference in New Issue
Block a user