aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRan Guin <[email protected]>2021-07-28 22:02:24 -0700
committerRan Guin <[email protected]>2021-07-28 22:02:24 -0700
commited68ee893ae7bb3540f0731c3ccf21a26bc6ac1f (patch)
tree2390534b83a8cefcaa9051f7964589a39a0fac99 /scripts
parentba4662b831062794fa7b09872f53fb2422ce9832 (diff)
downloadcoinos-server-ed68ee893ae7bb3540f0731c3ccf21a26bc6ac1f.tar.gz
coinos-server-ed68ee893ae7bb3540f0731c3ccf21a26bc6ac1f.zip
add apiParse for generating common search conditions
Diffstat (limited to 'scripts')
-rw-r--r--scripts/apiParse.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/scripts/apiParse.js b/scripts/apiParse.js
new file mode 100644
index 00000000..427f34cd
--- /dev/null
+++ b/scripts/apiParse.js
@@ -0,0 +1,42 @@
+var debug = require('debug')('debug')
+
+const addUserSearch = async function (input) {
+ debug('add User Search')
+ var {search, starts_with, contains} = input
+
+ // if (since) cmd = cmd.havingRaw('invoices + payments + deposits + orders > ?', [0])
+
+ if (search) {
+ if (starts_with) {
+ search = search + '%'
+ } else if (contains) {
+ search = '%' + search + '%'
+ }
+
+ var condition = "(Users.email like '" + search + " OR Users.username like '" + search + "'"
+
+ debug('condition: ' + condition)
+ return condition
+ } else {
+ return ''
+ }
+}
+
+const addTimeSearch = async function (input, field) {
+ debug('add time Search')
+ if (!field) { field = 'updatedAt' }
+
+ var {since} = input
+ if (since) {
+
+ condition = "WHERE " + field + " >= " + since
+ debug('condition: ' + condition)
+
+ return condition
+ } else {
+ return ''
+ }
+}
+
+module.exports = {addUserSearch: addUserSearch, addTimeSearch: addTimeSearch}
+