MCPcopy Create free account
hub / github.com/supabase/auth / SoftDeleteUserIdentities

Method SoftDeleteUserIdentities

internal/models/user.go:974–1002  ·  view source on GitHub ↗

SoftDeleteUserIdentities performs a soft deletion on all identities associated to a user

(tx *storage.Connection)

Source from the content-addressed store, hash-verified

972
973// SoftDeleteUserIdentities performs a soft deletion on all identities associated to a user
974func (u *User) SoftDeleteUserIdentities(tx *storage.Connection) error {
975 identities, err := FindIdentitiesByUserID(tx, u.ID)
976 if err != nil {
977 return err
978 }
979
980 // set identity_data to {}
981 for _, identity := range identities {
982 identityDataUpdates := map[string]interface{}{}
983 for k := range identity.IdentityData {
984 identityDataUpdates[k] = nil
985 }
986 if err := identity.UpdateIdentityData(tx, identityDataUpdates); err != nil {
987 return err
988 }
989 // updating the identity.ID has to happen last since the primary key is on (provider, id)
990 // we use RawQuery here instead of UpdateOnly because UpdateOnly relies on the primary key of Identity
991 if err := tx.RawQuery(
992 "update "+
993 (&pop.Model{Value: Identity{}}).TableName()+
994 " set provider_id = ? where id = ?",
995 obfuscateIdentityProviderId(identity),
996 identity.ID,
997 ).Exec(); err != nil {
998 return err
999 }
1000 }
1001 return nil
1002}
1003
1004func (u *User) FindOwnedFactorByID(tx *storage.Connection, factorID uuid.UUID) (*Factor, error) {
1005 var factor Factor

Callers 1

adminUserDeleteMethod · 0.80

Calls 4

FindIdentitiesByUserIDFunction · 0.85
UpdateIdentityDataMethod · 0.80
TableNameMethod · 0.45

Tested by

no test coverage detected