Crear id de usuarios personalizados

Hola amigos, consulta. ¿Cómo creo ID de usuarios personalizados? Por ejemplo Usuario0001, Usuario0002, etc. Alguna idea? Ya que para individualizar a los usuario de las apps, en algunas funciones necesito me brinden el ID, pero es imposible recordarlo con la combinación generada por default.
Desde ya gracias y saludos!

Hola @intersismultimedia, saludos.

Comúnmente se utiliza un id aleatorio para que no suceda algún error de coincidencia, ya que si bien se ira aumentando con cada usuario, pero pueda que en un punto dos usuarios guarden a la misma vez, y debido a que estarás leyendo el ultimo numero guardado, corre riesgo que eso suceda.

Lo que puedes hacer es reducir de tamaño el id que se le genera a cada usuario. Puedes hacerlo de la siguiente manera:

image

Con el Slice, le dices que recortaras los primeros 6 dígitos del string, si quieres mas, lo cambias, como de 0 a 8, que seria 0,8 ; y así respectivamente

crea el usuario, posterior a ello, haces la llamada a la base de datos (en una tabla en donde guardes la info de los usuarios [pudiendo repetir la info de la base de usuarios con esta tabla]) si la consulta te retorna el empty, entonces el usuario será 1, entonces ahí se hace un save y se guarda con Usuario1,
si la consulta es data obtained entonces se convierte el objeto a arreglo, después se saca la longitud del arreglo, a esa longitud le sumas 1, después haces un concat, Usuario+suma y despues haces un save con el identifier = concat
no te va a quedar
Usuario0001, Usurio0002…
te va a quedar Usuario1, Usuario2…
Si quiere anteponer los 000 entonces tiene que agregar mas lógica, como saber la longitud de la suma de la longitud del arreglo +1 y dependiendo de los dígitos, puedes hacer un switch, por ejemplo si la longitud de la suma es 1, entonces en
case 1 se concatenará Usuario000+(suma(arreglo+1))
si la longitud de la suma es 2, entonces en
case 2 se concatenará Usuario00+(suma(arreglo+1))
si la longitud de la suma es 3, entonces en
case 3 se concatenará Usuario0+(suma(arreglo+1))

la desventaja de anteponer los 000´s es que no sabes el numero de usuarios que vas a tener, entonces en determinado momento que llegue al limite y mueve la lógica de ese switch se le van a desfasar los id por que le pueden queda por ejemplo un usuario
Usuario0001 y otro (cuando le mueva la lógica) Usuario000001
Para ello debería tener varios case hasta donde crea que puede alcanzar sus usuarios o dejarlo así que sea Usuario1, Usuario2… de esa manera nunca se va a desfasar nada ni se preocuparía de cambiar lógica en un futuro

Hola Josue, gracias por tu respuesta y valoro mucho el tiempo que te tomaste para hacerlo. Pero, sigue sin serme útil la solución planteada. Perdón por la insistencia, pero entonces no es posible personalizar los IDs de los usuarios? Saludos y una vez mas muchas gracias.

Bien, muchas gracias Efrain. Ésto era lo que necesitaba!

Si se puede, tu puedes concatenar la palabra Usuario con un valor numérico, quizá no 00001, pero si le puedes estar colocándole el numero al lado, tipo Usuario1, Usuario2, Usuario3. Por que si quisieras con 000001 tendrías que pensar una lógica para que cuando el valor cambiante tenga dos valores, quitarle un cero, y cuando sea tres, quitarle otro cero, a manera que se vaya reemplazando, pero ya es una lógica mas compleja, es posible, todo es posible hacerlo.

Como puedes hacerlo con Usuario1, debes de estar leyendo de la base de datos el numero del usuario anterior, sumarle uno, y reemplazar el ultimo por el anterior. De tal manera que si lee que el anterior usuario ocupo el 2, que lo lea, le sume uno, se lo ponga al nuevo usuario, y guarde ese valor en vez del 2.

Prácticamente así funcionaria, es la idea de la lógica.

Bien, eso lo comprendo. Pero como reemplazo el ID actual de el usuario o como guardo el ID personalizado al momento de registrar un nuevo usuario? Saludos y gracias nuevamente!