Compare commits
1 Commits
b901c01beb
...
657f024f70
| Author | SHA1 | Date | |
|---|---|---|---|
| 657f024f70 |
@@ -174,30 +174,11 @@ create_domains() {
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build API payload with required structure
|
|
||||||
local payload
|
|
||||||
payload=$(echo "$domain" | jq '{
|
|
||||||
type: "domain",
|
|
||||||
quota: (.quota // 0),
|
|
||||||
name: .name,
|
|
||||||
description: (.description // ""),
|
|
||||||
secrets: [],
|
|
||||||
emails: [],
|
|
||||||
urls: [],
|
|
||||||
memberOf: [],
|
|
||||||
roles: [],
|
|
||||||
lists: [],
|
|
||||||
members: [],
|
|
||||||
enabledPermissions: [],
|
|
||||||
disabledPermissions: [],
|
|
||||||
externalMembers: []
|
|
||||||
}' 2>/dev/null)
|
|
||||||
|
|
||||||
# Create domain via API
|
# Create domain via API
|
||||||
if curl -sf -X POST "${API_URL}/principal" \
|
if curl -sf -X POST "${API_URL}/domain" \
|
||||||
-u "admin:${password}" \
|
-u "admin:${password}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "$payload" >/dev/null 2>&1; then
|
-d "$domain" >/dev/null 2>&1; then
|
||||||
log_success "✓ Created domain: $domain_name"
|
log_success "✓ Created domain: $domain_name"
|
||||||
created=$((created + 1))
|
created=$((created + 1))
|
||||||
else
|
else
|
||||||
@@ -253,61 +234,17 @@ create_users() {
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Hash the password if provided
|
# Build API payload (name, password, description, quota)
|
||||||
local hashed_password=""
|
|
||||||
local raw_password
|
|
||||||
raw_password=$(echo "$user" | jq -r '.password // empty' 2>/dev/null)
|
|
||||||
|
|
||||||
if [ -n "$raw_password" ]; then
|
|
||||||
if command -v mkpasswd >/dev/null 2>&1; then
|
|
||||||
hashed_password=$(mkpasswd -m sha-512 "$raw_password")
|
|
||||||
elif command -v openssl >/dev/null 2>&1; then
|
|
||||||
hashed_password=$(openssl passwd -6 "$raw_password")
|
|
||||||
else
|
|
||||||
log_warning "Cannot hash password for $email - no mkpasswd or openssl found"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Build API payload with required structure
|
|
||||||
local payload
|
local payload
|
||||||
if [ -n "$hashed_password" ]; then
|
payload=$(echo "$user" | jq '{
|
||||||
payload=$(echo "$user" | jq --arg email "$email" --arg pwd "$hashed_password" '{
|
name: .email,
|
||||||
type: "individual",
|
password: .password,
|
||||||
quota: (.quota // 0),
|
description: (.name // .email),
|
||||||
name: $email,
|
quota: (.quota // 1073741824)
|
||||||
description: (.name // ""),
|
}' 2>/dev/null)
|
||||||
secrets: [$pwd],
|
|
||||||
emails: [$email],
|
|
||||||
urls: [],
|
|
||||||
memberOf: [],
|
|
||||||
roles: [],
|
|
||||||
lists: [],
|
|
||||||
members: [],
|
|
||||||
enabledPermissions: [],
|
|
||||||
disabledPermissions: [],
|
|
||||||
externalMembers: []
|
|
||||||
}' 2>/dev/null)
|
|
||||||
else
|
|
||||||
payload=$(echo "$user" | jq --arg email "$email" '{
|
|
||||||
type: "individual",
|
|
||||||
quota: (.quota // 0),
|
|
||||||
name: $email,
|
|
||||||
description: (.name // ""),
|
|
||||||
secrets: [],
|
|
||||||
emails: [$email],
|
|
||||||
urls: [],
|
|
||||||
memberOf: [],
|
|
||||||
roles: [],
|
|
||||||
lists: [],
|
|
||||||
members: [],
|
|
||||||
enabledPermissions: [],
|
|
||||||
disabledPermissions: [],
|
|
||||||
externalMembers: []
|
|
||||||
}' 2>/dev/null)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create user via API
|
# Create user via API
|
||||||
if curl -sf -X POST "${API_URL}/principal" \
|
if curl -sf -X POST "${API_URL}/account" \
|
||||||
-u "admin:${password}" \
|
-u "admin:${password}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "$payload" >/dev/null 2>&1; then
|
-d "$payload" >/dev/null 2>&1; then
|
||||||
|
|||||||
Reference in New Issue
Block a user