]> gitweb.factorcode.org Git - factor.git/blob - extra/mongodb/cmd/cmd.factor
core, basis, extra: Remove DOS line endings from files.
[factor.git] / extra / mongodb / cmd / cmd.factor
1 USING: accessors assocs hashtables kernel linked-assocs strings ;
2 IN: mongodb.cmd
3
4 <PRIVATE
5
6 TUPLE: mongodb-cmd
7     { name string }
8     { const? boolean }
9     { admin? boolean }
10     { auth? boolean }
11     { assoc assoc }
12     { norep? boolean } ;
13
14 PRIVATE>
15
16 CONSTANT: buildinfo-cmd
17     T{ mongodb-cmd f "buildinfo" t t f H{ { "buildinfo" 1 } } }
18
19 CONSTANT: list-databases-cmd
20     T{ mongodb-cmd f "listDatabases" t t f H{ { "listDatabases" 1 } } }
21
22 ! Options: { "async" t }
23 CONSTANT: fsync-cmd
24     T{ mongodb-cmd f "fsync" f t f H{ { "fsync" 1 } } }
25
26 ! Value: { "clone" from_host }
27 CONSTANT: clone-db-cmd
28     T{ mongodb-cmd f "clone" f f t H{ { "clone" f } } }
29
30 ! Options { { "fromdb" db } { "todb" db } { fromhost host } }
31 CONSTANT: copy-db-cmd
32     T{ mongodb-cmd f "copydb" f f f H{ { "copydb" 1 } } }
33
34 CONSTANT: shutdown-cmd
35     T{ mongodb-cmd f "shutdown" t t t H{ { "shutdown" 1 } } t }
36
37 CONSTANT: reseterror-cmd
38     T{ mongodb-cmd f "reseterror" t f f H{ { "reseterror" 1 } } }
39
40 CONSTANT: getlasterror-cmd
41     T{ mongodb-cmd f "getlasterror" t f f H{ { "getlasterror" 1 } } }
42
43 CONSTANT: getpreverror-cmd
44     T{ mongodb-cmd f "getpreverror" t f f H{ { "getpreverror" 1 } } }
45
46 CONSTANT: forceerror-cmd
47     T{ mongodb-cmd f "forceerror" t f f H{ { "forceerror" 1 } } }
48
49 CONSTANT: drop-db-cmd
50     T{ mongodb-cmd f "dropDatabase" t f f H{ { "dropDatabase" 1 } } }
51
52 ! Options { { "preserveClonedFilesOnFailure" t/f } { "backupOriginalFiles" t/f } }
53 CONSTANT: repair-db-cmd
54     T{ mongodb-cmd f "repairDatabase" f f f H{ { "repairDatabase" 1 } } }
55
56 ! Options: -1 gets the current profile level; 0-2 set the profile level
57 CONSTANT: profile-cmd
58     T{ mongodb-cmd f "profile" f f f H{ { "profile" 0 } } }
59
60 CONSTANT: server-status-cmd
61     T{ mongodb-cmd f "serverStatus" t f f H{ { "serverStatus" 1 } } }
62
63 CONSTANT: assertinfo-cmd
64     T{ mongodb-cmd f "assertinfo" t f f H{ { "assertinfo" 1 } } }
65
66 CONSTANT: getoptime-cmd
67     T{ mongodb-cmd f "getoptime" t f f H{ { "getoptime" 1 } } }
68
69 CONSTANT: oplog-cmd
70     T{ mongodb-cmd f "opLogging" t f f H{ { "opLogging" 1 } } }
71
72 ! Value: { "deleteIndexes" collection-name }
73 ! Options: { "index" index_name or "*" }
74 CONSTANT: delete-index-cmd
75     T{ mongodb-cmd f "deleteIndexes" f f f H{ { "deleteIndexes" f } } }
76
77 ! Value: { "create" collection-name }
78 ! Options: { { "capped" t } { "size" size_in_bytes } { "max" max_number_of_objects } { "autoIndexId" t/f } }
79 CONSTANT: create-cmd
80     T{ mongodb-cmd f "drop" f f f H{ { "create" f } } }
81
82 ! Value { "drop" collection-name }
83 CONSTANT: drop-cmd
84     T{ mongodb-cmd f "drop" f f f H{ { "drop" f } } }
85
86 ! Value { "count" collection-name }
87 ! Options: { "query" query-object }
88 CONSTANT: count-cmd
89     T{ mongodb-cmd f "count" f f f H{ { "count" f } } }
90
91 ! Value { "validate" collection-name }
92 CONSTANT: validate-cmd
93     T{ mongodb-cmd f "validate" f f f H{ { "validate" f } } }
94
95 ! Value { "collstats" collection-name }
96 CONSTANT: collstats-cmd
97     T{ mongodb-cmd f "collstats" f f f H{ { "collstats" f } } }
98
99 ! Value: { "distinct" collection-name }
100 ! Options: { "key" key-name }
101 CONSTANT: distinct-cmd
102     T{ mongodb-cmd f "distinct" f f f H{ { "distinct" f } } }
103
104 ! Value: { "filemd5" oid }
105 ! Options: { "root" bucket-name }
106 CONSTANT: filemd5-cmd
107     T{ mongodb-cmd f "filemd5" f f f H{ { "filemd5" f } } }
108
109 CONSTANT: getnonce-cmd
110     T{ mongodb-cmd f "getnonce" t f f H{ { "getnonce" 1 } } }
111
112 ! Options: { { "user" username } { "nonce" nonce } { "key" digest } }
113 CONSTANT: authenticate-cmd
114     T{ mongodb-cmd f "authenticate" f f f H{ { "authenticate" 1 } } }
115
116 CONSTANT: logout-cmd
117     T{ mongodb-cmd f "logout" t f f H{ { "logout" 1 } } }
118
119 ! Value: { "findandmodify" collection-name }
120 ! Options: { { "query" selector } { "sort" sort-spec } 
121 !            { "remove" t/f } { "update" modified-object } 
122 !            { "new" t/f } }
123 CONSTANT: findandmodify-cmd
124     T{ mongodb-cmd f "findandmodify" f f f H{ { "findandmodify" f } } }
125
126 : make-cmd ( cmd-stub -- cmd-assoc )
127     dup const?>> [  ] [
128         clone [ clone <linked-assoc> ] change-assoc
129     ] if ; inline
130
131 : set-cmd-opt ( cmd value key -- cmd )
132     pick assoc>> set-at ; inline