-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathConfig.gs
70 lines (63 loc) · 1.59 KB
/
Config.gs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/* data structure */
var Config = {};
Config.getStructure = function(sheetName){
var sheets = {
users: [
'username','name','email','password',
],
present: [
"nis","nama","status","deleted_at",
],
books: [
"id","title","author","publisher",
]
}
return sheets[sheetName];
}
/* Route */
Config.route = {};
Config.route.post = function(route){
return {
"users/put" : ["insert","update"],
"users/delete" : ["delete"],
"present/put" : ["insert","update"],
"present/delete" : ["delete"],
"books/put" : ["insert","update"],
"books/delete": ["delete"],
}[route]
}
Config.route.get = function(){
return {
"users" : true,
"present":true,
"books":true,
}
}
Config.typeData = function(sheetName){
var sheets = {
users: {
username: 'alfanumerik|required',
email: 'required',
name: 'required',
password: 'required',
},
present: {
nis : 'alphanumeric|min_length[5]|max_length[20]|required',
nama: 'alphanumeric|min_length[3]|max_length[50]|required',
status: 'integer|min[0]|max[3]|required'
},
books: {
id : 'alphanumeric|min_length[5]|max_length[20]|required',
title: 'alphanumeric|min_length[3]|max_length[50]|required',
author: 'alphanumeric|min_length[3]|max_length[50]|required',
publisher: 'alphanumeric|min_length[3]|max_length[50]|required',
}
}
return sheets[sheetName];
}
function testConfig(){
var structure = Config.getStructure('books');
Logger.log(structure);
var typeData = Config.typeData('books');
Logger.log(typeData);
}