CE side change for vault-24636 (#26675)

This commit is contained in:
davidadeleon 2024-06-20 14:46:01 -04:00 committed by GitHub
parent d23db14c46
commit d4da61fc4e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2653,6 +2653,31 @@ func (b *LoginMFABackend) MemDBMFALoginEnforcementConfigByNameAndNamespace(name,
return eConfig.Clone()
}
func (b *LoginMFABackend) MemDBMFALoginEnforcementConfigByID(id string) (*mfa.MFAEnforcementConfig, error) {
if id == "" {
return nil, fmt.Errorf("missing config id")
}
txn := b.db.Txn(false)
defer txn.Abort()
eConfigRaw, err := txn.First(memDBMFALoginEnforcementsTable, "id", id)
if err != nil {
return nil, fmt.Errorf("failed to fetch MFA login enforcement config from memdb using id: %w", err)
}
if eConfigRaw == nil {
return nil, nil
}
eConfig, ok := eConfigRaw.(*mfa.MFAEnforcementConfig)
if !ok {
return nil, fmt.Errorf("invalid type for MFA login enforcement config in memdb")
}
return eConfig.Clone()
}
func (b *LoginMFABackend) MemDBMFALoginEnforcementConfigIterator() (memdb.ResultIterator, error) {
txn := b.db.Txn(false)
defer txn.Abort()
@ -2710,6 +2735,32 @@ func (b *LoginMFABackend) deleteMFALoginEnforcementConfigByNameAndNamespace(ctx
return nil
}
func (b *LoginMFABackend) MemDBDeleteMFALoginEnforcementConfigByID(id string) error {
if id == "" {
return nil
}
txn := b.db.Txn(true)
defer txn.Abort()
eConfig, err := b.MemDBMFALoginEnforcementConfigByID(id)
if err != nil {
return err
}
if eConfig == nil {
return nil
}
err = txn.Delete(memDBMFALoginEnforcementsTable, eConfig)
if err != nil {
return err
}
txn.Commit()
return nil
}
func (b *LoginMFABackend) MemDBDeleteMFALoginEnforcementConfigByNameAndNamespace(name, namespaceId, tableName string) error {
if name == "" || namespaceId == "" {
return nil