@@ -52,26 +52,32 @@ func (s *tenantService) Update(ctx context.Context, req *v1.TenantUpdateRequest)
5252
5353func (s * tenantService ) Delete (ctx context.Context , req * v1.TenantDeleteRequest ) (* v1.TenantResponse , error ) {
5454 tenant := req .NewTenant ()
55- tenantFilter := map [string ]any {
55+ tenantIsHostFilter := map [string ]any {
5656 "tenantmember ->> 'tenant_id'" : tenant .Meta .Id ,
5757 }
58- memberFilter := map [string ]any {
58+ tenantIsMemberFilter := map [string ]any {
5959 "tenantmember ->> 'member_id'" : tenant .Meta .Id ,
6060 }
61- tenantMemberships , _ , err := s .tenantMemberStore .Find (ctx , tenantFilter , nil )
61+ tenantIsHostMemberships , _ , err := s .tenantMemberStore .Find (ctx , tenantIsHostFilter , nil )
6262 if err != nil {
6363 return nil , err
6464 }
65- memberMemberships , _ , err := s .tenantMemberStore .Find (ctx , memberFilter , nil )
65+ tenantIsMemberMemberships , _ , err := s .tenantMemberStore .Find (ctx , tenantIsMemberFilter , nil )
6666 if err != nil {
6767 return nil , err
6868 }
69- var ids []string
70- for _ , m := range tenantMemberships {
71- ids = append (ids , m .Meta .Id )
69+
70+ unionMap := make (map [string ]bool )
71+ for _ , m := range tenantIsHostMemberships {
72+ unionMap [m .Meta .Id ] = true
73+ }
74+ for _ , m := range tenantIsMemberMemberships {
75+ unionMap [m .Meta .Id ] = true
7276 }
73- for _ , m := range memberMemberships {
74- ids = append (ids , m .Meta .Id )
77+
78+ var ids []string
79+ for k := range unionMap {
80+ ids = append (ids , k )
7581 }
7682
7783 if len (ids ) > 0 {
0 commit comments