45 lines
2.3 KiB
Go
45 lines
2.3 KiB
Go
|
|
package entity
|
||
|
|
|
||
|
|
import (
|
||
|
|
"gateway/internal/model/member/domain/enum"
|
||
|
|
|
||
|
|
"go.mongodb.org/mongo-driver/v2/bson"
|
||
|
|
)
|
||
|
|
|
||
|
|
// Member is the tenant-scoped member profile document.
|
||
|
|
type Member struct {
|
||
|
|
ID bson.ObjectID `bson:"_id,omitempty"`
|
||
|
|
TenantID string `bson:"tenant_id"`
|
||
|
|
UID string `bson:"uid"`
|
||
|
|
ZitadelUserID string `bson:"zitadel_user_id,omitempty"`
|
||
|
|
ZitadelEmail string `bson:"zitadel_email,omitempty"`
|
||
|
|
DisplayName string `bson:"display_name,omitempty"`
|
||
|
|
Avatar string `bson:"avatar,omitempty"`
|
||
|
|
Phone string `bson:"phone,omitempty"`
|
||
|
|
Language string `bson:"language,omitempty"`
|
||
|
|
Currency string `bson:"currency,omitempty"`
|
||
|
|
Status enum.MemberStatus `bson:"member_status"`
|
||
|
|
Origin enum.MemberOrigin `bson:"origin"`
|
||
|
|
PasswordHash string `bson:"password_hash,omitempty"`
|
||
|
|
BusinessEmail string `bson:"business_email,omitempty"`
|
||
|
|
BusinessEmailVerified bool `bson:"business_email_verified"`
|
||
|
|
BusinessEmailVerifiedAt int64 `bson:"business_email_verified_at,omitempty"`
|
||
|
|
BusinessPhone string `bson:"business_phone,omitempty"`
|
||
|
|
BusinessPhoneVerified bool `bson:"business_phone_verified"`
|
||
|
|
BusinessPhoneVerifiedAt int64 `bson:"business_phone_verified_at,omitempty"`
|
||
|
|
TOTPEnrolled bool `bson:"totp_enrolled"`
|
||
|
|
TOTPSecretCipher []byte `bson:"totp_secret_cipher,omitempty"`
|
||
|
|
TOTPEnrolledAt int64 `bson:"totp_enrolled_at,omitempty"`
|
||
|
|
TOTPBackupCodesHash []string `bson:"totp_backup_codes_hash,omitempty"`
|
||
|
|
SuspendReason string `bson:"suspend_reason,omitempty"`
|
||
|
|
CreateAt int64 `bson:"create_at"`
|
||
|
|
UpdateAt int64 `bson:"update_at"`
|
||
|
|
DeletedAt int64 `bson:"deleted_at,omitempty"`
|
||
|
|
AnonymizedAt int64 `bson:"anonymized_at,omitempty"`
|
||
|
|
}
|
||
|
|
|
||
|
|
// CollectionName returns the MongoDB collection for members.
|
||
|
|
func (Member) CollectionName() string {
|
||
|
|
return "members"
|
||
|
|
}
|