feat: enforce friend add and curfew policies

This commit is contained in:
richjohnrambo
2026-09-18 10:55:53 +08:00
parent c6e7f6b923
commit 3a92d81fca
14 changed files with 531 additions and 42 deletions
+15
View File
@@ -196,6 +196,21 @@ func (c *adminInternalClient) SensitiveWords(tenantCode string) (*types.Sensitiv
return &result, nil
}
func (c *adminInternalClient) SecurityPolicy(tenantCode string) (*types.SecurityPolicy, error) {
var result types.SecurityPolicy
path := "/internal/im-config/tenants/" + url.PathEscape(strings.TrimSpace(tenantCode)) + "/security-policy"
if err := c.getJSON(path, nil, &result); err != nil {
return nil, err
}
if result.FriendDisabledPolicy == nil {
result.FriendDisabledPolicy = map[string]any{}
}
if result.CurfewRules == nil {
result.CurfewRules = []*types.MessageCurfewRule{}
}
return &result, nil
}
func (c *adminInternalClient) TenantLoginIPWhitelist(id types.TenantID) (*tenantLoginIPWhitelistConfig, error) {
if !id.IsValid() {
return nil, types.ErrMalformed