package member import ( memberenum "gateway/internal/model/member/domain/enum" domusecase "gateway/internal/model/member/domain/usecase" ) func ensurePlatformNativePassword(member *domusecase.MemberDTO) error { if member == nil { return errb.ResNotFound("member", "") } switch member.Origin { case memberenum.MemberOriginPlatformNative: return nil case memberenum.MemberOriginOIDC: return errb.AuthForbidden("social login accounts cannot change password here") case memberenum.MemberOriginLDAP: return errb.AuthForbidden("ldap accounts cannot change password here") case memberenum.MemberOriginSCIM: return errb.AuthForbidden("scim provisioned accounts cannot change password here") default: return errb.AuthForbidden("account cannot change password here") } }