pyc-website
main website for pyc inc.
git clone https://9o.is/git/pyc-website.git
AtmApplication.scala
(1801B)
1 package inc.pyc
2 package model
3
4 import field._
5 import lib.RogueMetaRecord
6
7 import net.liftweb._
8 import mongodb.record._
9 import mongodb.record.field._
10 import record.field._
11 import org.joda.time.DateTime
12
13 class AtmApplication private () extends MongoRecord[AtmApplication] with ObjectIdPk[AtmApplication] {
14 def meta = AtmApplication
15
16 object name extends StringField(this, 64) {
17 override def validations =
18 valMaxLen(64, "Business name must be 64 characters or less") _ ::
19 super.validations
20 }
21
22 object email extends EmailField(this, 64) {
23 override def validations =
24 valMaxLen(64, "Email must be 64 characters or less") _ ::
25 super.validations
26 }
27
28 object phone extends StringField(this, 25) {
29 override def validations =
30 valMaxLen(25, "Phone number must be 25 characters or less") _ ::
31 super.validations
32 }
33
34 object bestTime extends TextareaField(this, 255)
35
36 object address extends StringField(this, 255) {
37 override def validations =
38 valMaxLen(255, "Business address must be 255 characters or less") _ ::
39 super.validations
40 }
41
42 object city extends StringField(this, 64) {
43 override def validations =
44 valMaxLen(64, "City must be 64 characters or less") _ ::
45 super.validations
46 }
47
48 object state extends USStatesField(this)
49
50 object website extends StringField(this, 255) {
51 override def validations =
52 valMaxLen(255, "Website must be 255 characters or less") _ ::
53 super.validations
54 }
55
56 def whenCreated: DateTime = new DateTime(id.get.getTime)
57 }
58
59 object AtmApplication extends AtmApplication with RogueMetaRecord[AtmApplication] {
60 import mongodb.BsonDSL._
61
62 override def collectionName = "atm.applications"
63
64 ensureIndex((name.name -> 1), true)
65 }