Skip to content

Commit cd09c96

Browse files
committed
new changes
1 parent 29ce933 commit cd09c96

File tree

11 files changed

+84
-194
lines changed

11 files changed

+84
-194
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,33 @@
11
exports.install = function(framework) {
22

33
framework.route('/', plain_homepage);
4-
framework.route('/order/', post_order, ['post']);
4+
framework.route('/order/', plain_order, ['post']);
55

66
};
77

88
function plain_homepage() {
99
var self = this;
1010

11-
// send test request to /order/
11+
// send "test" request to /order/
1212
utils.request(self.host('/order/'), ['post'], { firstname: 'Peter', lastname: 'Sirka', email: 'petersirka@gmail.com', telephone: '0903163302', address: '', inject1: '', inject2: '', param: 'custom' });
13-
1413
self.plain('Show node.js console');
1514
}
1615

17-
function post_order() {
16+
function plain_order() {
17+
1818
var self = this;
19+
var group = SCHEMA('eshop');
20+
21+
var order_schema = group.get('order');
22+
var contactform_schema = group.get('contactform');
1923

2024
// validate request data
21-
var validation = self.validate(self.post, 'order', 'prefix_');
25+
var validation = order_schema.validate(self.body, 'prefix_');
2226

2327
// prepare request data into the model
24-
var model = builders.prepare('order', self.post);
28+
var model = order_schema.prepare(self.body);
2529

26-
console.log('Request data:\n', self.post);
30+
console.log('Request data:\n', self.body);
2731
console.log('');
2832

2933
if (validation.hasError()) {
@@ -37,8 +41,8 @@ function post_order() {
3741
console.log('Model:\n', model);
3842
console.log('');
3943

40-
console.log('Create a default schema - contactform:\n', builders.defaults('contactform'));
44+
console.log('Create a default schema - contactform:\n', contactform_schema.create());
4145
console.log('');
4246

43-
self.empty();
47+
self.plain();
4448
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
// Create group of schemas
2+
var group = SCHEMA('eshop');
3+
4+
// === ORDER
5+
6+
var order = group.add('order'); // add a new schema
7+
8+
order.define('products', '[product]', true); // this property is linked with product
9+
order.define('firstname', 'string(30)', true);
10+
order.define('lastname', 'string(40)', true);
11+
order.define('email', 'string(120)', true);
12+
order.define('telephone', 'string(20)', true);
13+
order.define('address', String, true);
14+
order.define('ip', String);
15+
order.define('created', Date);
16+
order.define('updated', Date);
17+
18+
order.setDefault(function(name, value, isDefault) {
19+
switch (name) {
20+
case 'created':
21+
case 'updated':
22+
return new Date();
23+
case 'email':
24+
return '@';
25+
}
26+
});
27+
28+
order.setValidation(validation);
29+
30+
// === PRODUCT
31+
32+
var product = group.add('product'); // add a new schema
33+
34+
product.define('name', 'string(30)');
35+
product.define('price', Number);
36+
37+
// === CONTACT FORM
38+
39+
var contactform = group.add('contactform');
40+
41+
contactform.define('name', 'string(30)', true);
42+
contactform.define('email', 'string(120)', true);
43+
contactform.define('message', 'string(8000)', true);
44+
contactform.define('ip', String);
45+
contactform.define('created', Date);
46+
47+
contactform.setDefault(function(name, value, isDefault) {
48+
switch (name) {
49+
case 'created':
50+
return new Date();
51+
}
52+
});
53+
54+
contactform.setValidation(validation);
55+
56+
// === VALIDATION DELEGATE FOR CURRENT GROUP OF SCHEMAS
57+
58+
function validation(name, value, entityName, model) {
59+
switch (name) {
60+
case 'email':
61+
return (value || '').isEmail();
62+
case 'price':
63+
return value.parseFloat() > 0;
64+
case 'firstname':
65+
case 'lastname':
66+
case 'telephone':
67+
case 'address':
68+
case 'name':
69+
return (value || '').length > 0;
70+
}
71+
}

framework-schema-validation/controllers/default.js

Lines changed: 0 additions & 47 deletions
This file was deleted.

framework-schema-validation/definitions/schema.js

Lines changed: 0 additions & 64 deletions
This file was deleted.

framework-schema-validation/definitions/validation.js

Lines changed: 0 additions & 18 deletions
This file was deleted.

framework-schema/definitions/schema.js

Lines changed: 0 additions & 28 deletions
This file was deleted.

framework-schema/definitions/validation.js

Lines changed: 0 additions & 18 deletions
This file was deleted.

framework-schema/index.js

Lines changed: 0 additions & 7 deletions
This file was deleted.

framework-schema/resources/default.resource

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)