Add create user rest endpoint
diff --git a/core/kg/app/user.go b/core/kg/app/user.go
index 07ff301..dd25e84 100644
--- a/core/kg/app/user.go
+++ b/core/kg/app/user.go
@@ -1,6 +1,7 @@
 package app
 
 import (
+	"github.com/giolekva/pcloud/core/kg/log"
 	"github.com/giolekva/pcloud/core/kg/model"
 	"github.com/pkg/errors"
 )
@@ -13,3 +14,24 @@
 	}
 	return user, nil
 }
+
+func (a *App) CreateUser(user *model.User) (*model.User, error) {
+	if !a.isFirstUserAccount() {
+		return nil, errors.New("not a first user")
+	}
+
+	user.HashPassword()
+	updatedUser, err := a.store.User().Save(user)
+	if err != nil {
+		return nil, errors.Wrap(err, "can't save user to the DB")
+	}
+	return updatedUser, nil
+}
+
+func (a *App) isFirstUserAccount() bool {
+	count, err := a.store.User().Count()
+	if err != nil {
+		a.logger.Error("error fetching first user account", log.Err(err))
+	}
+	return count > 0
+}