diff --git a/dbs/myapp.mv.db b/dbs/myapp.mv.db index cb3336f..68c4951 100644 Binary files a/dbs/myapp.mv.db and b/dbs/myapp.mv.db differ diff --git a/server/services/users/register.post.js b/server/services/users/register.post.js new file mode 100644 index 0000000..98bcd79 --- /dev/null +++ b/server/services/users/register.post.js @@ -0,0 +1,43 @@ +const name = _req.getString("name"); +const username = _req.getString("username"); +const email = _req.getString("email"); +const pass = _req.getString("password"); + +const emailExists = _user.firstByMail(email); +const usernameExists = _user.firstByUser(username); + +if (emailExists != null) { + _header.status(409); + _out.json( + _val.map() + .set("error", true) + .set("message", "email-exists") + ); +} else if (usernameExists != null) { + _header.status(409); + _out.json( + _val.map() + .set("error", true) + .set("message", "user-exists") + ); +} else { + const group = _group.firstByCode("user"); + const user_id = _user.create( + _val.map() + .set("name", name) + .set("mail", email) + .set("user", username) + .set("pass", password) + .set("group_id", group.getInt("id")) + ); + _db.insert( + 'user', + _val.map() + .set("name", name) + .set("email", email) + .set("client_user_id", user_id) + .set("role_id", 1) + ); + _log.info("New user created with id: "+ user_id); + _out.json(_val.map().set("result", true)); +} \ No newline at end of file diff --git a/server/setup/_schema-form-6-user.js b/server/setup/_schema-form-6-user.js index 4e21740..3768fb2 100644 --- a/server/setup/_schema-form-6-user.js +++ b/server/setup/_schema-form-6-user.js @@ -25,6 +25,36 @@ _form.createIfNotExists( .set("show_id", true) .set("uid", "e5ec80ac-841c-416d-b73b-dc3ab56dad69") ) +_form.createComponentIfNotExists( + "e5ec80ac-841c-416d-b73b-dc3ab56dad69", + _val.init() + .set("colspan", 0) + .set("displayname", "User_id") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "client_user") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"ALLOW_USER_LOGGED\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"GROUPS\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"},\"GROUPS_MODE\":{\"default\":\"all|exclude|only\",\"type\":\"CHOICE\",\"value\":\"all\"},\"USERS_MODE\":{\"default\":\"all|exclude|only\",\"type\":\"CHOICE\",\"value\":\"all\"},\"USERS\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "user") + .set("uid", "c8afec06-217b-4a8e-ae59-224057bea6ef") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 6) +) _form.createComponentIfNotExists( "e5ec80ac-841c-416d-b73b-dc3ab56dad69", _val.init() @@ -55,6 +85,36 @@ _form.createComponentIfNotExists( .set("x", 1) .set("y", 2) ) +_form.createComponentIfNotExists( + "e5ec80ac-841c-416d-b73b-dc3ab56dad69", + _val.init() + .set("colspan", 0) + .set("displayname", "Nome") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "name") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "6907d01e-24e3-4e2a-94fd-1c3a34fc5bb5") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) _form.createComponentIfNotExists( "e5ec80ac-841c-416d-b73b-dc3ab56dad69", _val.init() diff --git a/website/src/pages/Register/index.js b/website/src/pages/Register/index.js index be22247..1d8babb 100644 --- a/website/src/pages/Register/index.js +++ b/website/src/pages/Register/index.js @@ -66,10 +66,8 @@ export default () => { name="password" label="Password" rules={[ - { - required: true, - message: 'Please input your password!', - }, + { required: true, message: 'Please input your password!', min: 8, max: 25 }, + ]} hasFeedback > @@ -82,10 +80,7 @@ export default () => { dependencies={['password']} hasFeedback rules={[ - { - required: true, - message: 'Please confirm your password!', - }, + { required: true, message: 'Please confirm your password!', min: 8, max: 25 }, ({ getFieldValue }) => ({ validator(_, value) { if (!value || getFieldValue('password') === value) {