Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function create()
- {
- // http://localhost:8080/api/v1/users
- // parameter yang harus diisi: (method post)
- // {
- // "username": "The username field is required.",
- // "email": "The email field is required.",
- // "password": "The password field is required.",
- // "pass_confirm": "The pass_confirm field is required.",
- // "fullname": "The fullname field is required.",
- // "phone": "The phone field is required.",
- // "nik": "The nik field is required."
- // }
- // Check if registration is allowed
- if (!$this->config->allowRegistration)
- {
- return $this->respond(lang('Auth.registerDisabled') ?? $this->failServerError());
- }
- $users = model(UserModel::class);
- // Validate here first, since some things,
- // like the password, can only be validated properly here.
- $rules = [
- 'username' => "required|alpha_numeric_space|min_length[3]|is_unique[users.username]",
- 'email' => "required|valid_email|is_unique[users.email]",
- 'password' => "required|strong_password",
- 'pass_confirm' => "required|matches[password]",
- //tambahan
- // 'fullname' => "required|max_length[255]",
- // 'phone' => 'required|max_length[15]',
- // 'nik' => 'required|numeric|max_length[255]',
- ];
- //jika validasi error
- if (!$this->validate($rules))
- {
- return $this->respond($this->validator->getErrors());
- }
- // Save the user
- $allowedPostFields = array_merge(['avatar','password','fullname','phone','nik'], $this->config->validFields, $this->config->personalFields);
- $data = $this->request->getPost($allowedPostFields);
- // print_r($data);
- // die;
- $user = new User($data);
- $this->config->requireActivation !== false ? $user->generateActivateHash() : $user->activate();
- // Ensure default group gets assigned if set
- if (!empty($this->config->defaultUserGroup)) {
- $users = $users->withGroup($this->config->defaultUserGroup);
- }
- //jika user gagal register
- if (!$users->save($user))
- {
- return $this->respond($users->errors());
- }
- if ($this->config->requireActivation !== false)
- {
- $activator = service('activator');
- $sent = $activator->send($user);
- if (!$sent)
- {
- return $this->respond($activator->error() ?? lang('Auth.unknownError'));
- }
- // jika aktifasi diaktifkan maka wajib cek email
- $aktifasi = [
- 'status' => 200,
- 'success' => TRUE,
- 'message' => 'registrasi selesai, silahkan cek email anda untuk verifikasi'
- ];
- return $this->respond($aktifasi);
- }
- $get_user = $this->modelUser->where('username', $user->username)->first();
- // untuk simpan setting default
- $setting_entity = new SettingNotifEntity();
- $setting_entity->id_penyewa = $get_user->id;
- $setting_entity->reminder_pembayaran = 7;
- $this->setting->save($setting_entity);
- //print_r($user);
- // Register benar benar Success!
- return $this->respond($get_user);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement