· 8 years ago · May 17, 2018, 01:00 PM
1-- DROP TABLE IF EXISTS `customer1`;
2CREATE TABLE `customer1` (
3 `pk` BIGINT NOT NULL AUTO_INCREMENT,
4 `id` BIGINT NOT NULL,
5 `name` VARCHAR(256) NOT NULL,
6 `email` VARCHAR(64) NOT NULL,
7 `password` VARCHAR(64) NOT NULL,
8 PRIMARY KEY(`pk`),
9 UNIQUE(`id`)
10);
11
12include "silhouette.conf"
13
14db {
15
16 default.driver="org.mariadb.jdbc.Driver"
17 default.url="jdbc:mariadb://127.0.0.1:3306/spetstore?characterEncoding=utf8"
18 default.username= admin
19 default.password= admin
20
21 default.poolInitialSize = 10
22 default.poolMaxSize = 10
23 default.poolValidationQuery = "select 1 as one"
24
25 }
26
27
28 scalikejdbc {
29 global {
30 loggingSQLAndTime.enabled = true
31 loggingSQLAndTime.singleLineMode = true
32 loggingSQLAndTime.logLevel = DEBUG
33 loggingSQLAndTime.warningEnabled = true
34 loggingSQLAndTime.warningThresholdMillis = 5
35 loggingSQLAndTime.warningLogLevel = warn
36 }
37 }
38
39package forms
40
41import play.api.data.Form
42import play.api.data.Forms._
43
44/**
45 * The form which handles the sign up process.
46 */
47object SignUpForm {
48
49 /**
50 * A play framework form.
51 */
52 val form = Form(
53 mapping(
54 "firstName" -> nonEmptyText,
55 "lastName" -> nonEmptyText,
56 "email" -> email,
57 "password" -> nonEmptyText
58 )(Data.apply)(Data.unapply)
59 )
60
61
62 /**
63 * The form data.
64 *
65 * @param firstName The first name of a user.
66 * @param lastName The last name of a user.
67 * @param email The email of the user.
68 * @param password The password of the user.
69 */
70 case class Data(
71 firstName: String,
72 lastName: String,
73 email: String,
74 password: String)
75
76def insert(data: Data): Unit = SignUpFormSupport.insert(data)
77}
78
79package forms
80
81import java.util.UUID
82import javax.inject.Inject
83
84import com.mohiva.play.silhouette.api._
85import com.mohiva.play.silhouette.api.repositories.AuthInfoRepository
86import com.mohiva.play.silhouette.api.services.AvatarService
87import com.mohiva.play.silhouette.api.util.PasswordHasherRegistry
88import com.mohiva.play.silhouette.impl.providers._
89import models.User
90import models.services.{ AuthTokenService, UserService }
91import org.webjars.play.WebJarsUtil
92import play.api.i18n.{ I18nSupport, Messages }
93import play.api.libs.mailer.{ Email, MailerClient }
94
95import play.api.mvc._
96import utils.auth.DefaultEnv
97
98import scala.concurrent.{ ExecutionContext, Future }
99
100import com.typesafe.config.ConfigFactory
101
102import java.sql.Connection
103import scalikejdbc._
104import scalikejdbc.SQLInterpolation._
105
106object SignUpFormSupport {
107
108 import forms.SignUpForm.Data
109
110 /** 登録 */
111 def insert(data: Data): Unit = {
112
113 try {
114
115 DB localTx { implicit session =>
116
117 import data._
118
119 val id = System.currentTimeMillis()
120
121 sql"""insert into customer1 (id, `name`, email, `password`)
122 |values ($id, ${firstName + lastName}, $email, $password)"""
123 .stripMargin
124 .update
125 .apply()
126
127 }
128
129 } catch {
130 case e: Exception => e.printStackTrace()
131
132 }
133
134 }
135
136}