#!/bin/sh

##### This script is currently sealed, it may start to use if LDAP user profile need some special mechanism like local user:,
## ex:
## 1.support LDAP user name with speicial characters, 
## 2.account expiration mechanism
##
MAX_COUNT=9999
[ -z "$1" ] && {
    return 1;
}
trim() { echo $1;}

local name="$1"
local name_id
name_id=$(trim "$(json find ldap_user.id_map ${name})")
if [ -z "$name_id" ]; then
	name_id=$(json get ldap_user.base_idx)
	name_id=$(expr $name_id + 1)
	
	[ "$name_id" -gt "$MAX_COUNT" ] && name_id=101
	#check if this name_id is used
	tmp_name=`json get ldap_user.id_map.$name_id`
	if [ -n "$tmp_name" ] ;then
		echo "ldap_name_id:$name_id is used by $tmp_name" >/dev/console
		return 2
	else
		json set ldap_user.id_map $name_id=${name}
		json set ldap_user base_idx=$name_id
	fi
fi

echo $name_id
return 0
