gina 0.0.9-p91c → 0.1.1-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/INSTALL.md +46 -0
  2. package/{core/asset/html/static.html → Icon/r} +0 -0
  3. package/LICENSE +1 -1
  4. package/README-4Contributors.md +96 -0
  5. package/README.md +296 -104
  6. package/bin/cli +287 -0
  7. package/bin/cli-debug +60 -0
  8. package/bin/cmd +184 -0
  9. package/bin/gina +180 -0
  10. package/config/logger.json +17 -0
  11. package/doc/framework/cli/doc.json +9 -0
  12. package/doc/framework/index.md +60 -0
  13. package/framework/v0.1.1-alpha.3/AUTHORS +7 -0
  14. package/{core/utils/lib/inherits → framework/v0.1.1-alpha.3}/LICENSE +1 -1
  15. package/framework/v0.1.1-alpha.3/VERSION +1 -0
  16. package/{core/locales/dist/language/en.json → framework/v0.1.1-alpha.3/core/asset/html/nolayout.html} +0 -0
  17. package/{core/locales/dist/language/fr.json → framework/v0.1.1-alpha.3/core/asset/html/static.html} +0 -0
  18. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/android-chrome-192x192.png +0 -0
  19. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/android-chrome-512x512.png +0 -0
  20. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/apple-touch-icon.png +0 -0
  21. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon-16x16.png +0 -0
  22. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon-32x32.png +0 -0
  23. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon.ico +0 -0
  24. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.js +20904 -0
  25. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.js.map +56 -0
  26. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.css +1 -0
  27. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.css.map +1 -0
  28. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.js +736 -0
  29. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.js.map +56 -0
  30. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.onload.min.js +5 -0
  31. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.onload.min.js.map +8 -0
  32. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/readme.md +192 -0
  33. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/uuid.json +23 -0
  34. package/framework/v0.1.1-alpha.3/core/config.js +2308 -0
  35. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/index.js +757 -0
  36. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.js +20 -0
  37. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.v2.js +429 -0
  38. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.v3.js +432 -0
  39. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/n1ql.js +14 -0
  40. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.js +21 -0
  41. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.v2.js +258 -0
  42. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.v3.js +341 -0
  43. package/{core → framework/v0.1.1-alpha.3/core}/controller/controller.framework.js +3 -2
  44. package/framework/v0.1.1-alpha.3/core/controller/controller.js +3990 -0
  45. package/{core → framework/v0.1.1-alpha.3/core}/controller/index.js +5 -5
  46. package/framework/v0.1.1-alpha.3/core/deps/busboy/.travis.yml +17 -0
  47. package/framework/v0.1.1-alpha.3/core/deps/busboy/LICENSE +19 -0
  48. package/framework/v0.1.1-alpha.3/core/deps/busboy/README.md +225 -0
  49. package/framework/v0.1.1-alpha.3/core/deps/busboy/deps/encoding/encoding-indexes.js +73 -0
  50. package/framework/v0.1.1-alpha.3/core/deps/busboy/deps/encoding/encoding.js +2391 -0
  51. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/main.js +89 -0
  52. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/types/multipart.js +328 -0
  53. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/types/urlencoded.js +214 -0
  54. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/utils.js +191 -0
  55. package/framework/v0.1.1-alpha.3/core/deps/busboy/package.json +69 -0
  56. package/framework/v0.1.1-alpha.3/core/deps/swig-client/swig-2.0.0.min.js +5 -0
  57. package/{core → framework/v0.1.1-alpha.3/core}/dev/index.js +5 -5
  58. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/class.js +1 -1
  59. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/factory.js +1 -1
  60. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/tools.js +0 -0
  61. package/framework/v0.1.1-alpha.3/core/gna.js +1070 -0
  62. package/{core → framework/v0.1.1-alpha.3/core}/locales/README.md +41 -2
  63. package/{core → framework/v0.1.1-alpha.3/core}/locales/currency.json +0 -0
  64. package/{core/plugins/README.md → framework/v0.1.1-alpha.3/core/locales/dist/language/en.json} +0 -0
  65. package/{core/plugins/lib/intl/README.md → framework/v0.1.1-alpha.3/core/locales/dist/language/fr.json} +0 -0
  66. package/{core → framework/v0.1.1-alpha.3/core}/locales/dist/region/en.json +0 -0
  67. package/framework/v0.1.1-alpha.3/core/locales/dist/region/fr.json +9492 -0
  68. package/{core → framework/v0.1.1-alpha.3/core}/locales/index.js +5 -4
  69. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/make.js +15 -12
  70. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/currency.csv +0 -0
  71. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/region.csv +0 -0
  72. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/region.mapping.json +0 -0
  73. package/{core → framework/v0.1.1-alpha.3/core}/mime.types +0 -0
  74. package/{core → framework/v0.1.1-alpha.3/core}/model/entity.js +156 -196
  75. package/{core → framework/v0.1.1-alpha.3/core}/model/index.js +67 -48
  76. package/{core → framework/v0.1.1-alpha.3/core}/model/template/entityFactory.js +2 -2
  77. package/{core → framework/v0.1.1-alpha.3/core}/model/template/index.js +8 -10
  78. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.3/core/plugins}/README.md +0 -0
  79. package/{core → framework/v0.1.1-alpha.3/core}/plugins/index.js +3 -3
  80. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.3/core/plugins/lib/file}/README.md +0 -0
  81. package/{core/plugins/lib/intl → framework/v0.1.1-alpha.3/core/plugins/lib/file}/build.json +0 -0
  82. package/framework/v0.1.1-alpha.3/core/plugins/lib/file/package.json +25 -0
  83. package/{core/utils/lib/collection → framework/v0.1.1-alpha.3/core/plugins/lib/intl}/README.md +0 -0
  84. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.3/core/plugins/lib/intl}/build.json +0 -0
  85. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/intl/package.json +3 -3
  86. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/intl/src/main.js +17 -1
  87. package/{core/utils/lib/routing → framework/v0.1.1-alpha.3/core/plugins/lib/storage}/README.md +0 -0
  88. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.3/core/plugins/lib/storage}/build.json +0 -0
  89. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/storage/package.json +2 -2
  90. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/storage/src/main.js +91 -85
  91. package/{core/utils/lib/url → framework/v0.1.1-alpha.3/core/plugins/lib/validator}/README.md +0 -0
  92. package/{core/utils/lib/collection → framework/v0.1.1-alpha.3/core/plugins/lib/validator}/build.json +0 -0
  93. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/validator/package.json +3 -3
  94. package/framework/v0.1.1-alpha.3/core/plugins/lib/validator/src/form-validator.js +1762 -0
  95. package/framework/v0.1.1-alpha.3/core/plugins/lib/validator/src/main.js +6917 -0
  96. package/framework/v0.1.1-alpha.3/core/router.js +664 -0
  97. package/framework/v0.1.1-alpha.3/core/server.express.js +213 -0
  98. package/framework/v0.1.1-alpha.3/core/server.isaac.js +386 -0
  99. package/framework/v0.1.1-alpha.3/core/server.js +3010 -0
  100. package/{core → framework/v0.1.1-alpha.3/core}/status.codes +8 -0
  101. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/app.json +6 -0
  102. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/routing.json +11 -0
  103. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/settings.json +9 -0
  104. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/settings.server.json +30 -0
  105. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/templates.json +42 -0
  106. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/controller.content.js +39 -0
  107. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/controller.js +30 -0
  108. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  109. package/{core/template/samples → framework/v0.1.1-alpha.3/core/template/boilerplate}/bundle/index.js +0 -0
  110. package/{core/template/samples/bundle → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_namespace}/controllers/controller.js +9 -7
  111. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/css/default.css +0 -0
  112. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/css/vendor/readme.md +0 -0
  113. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/favicon.ico +0 -0
  114. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public/js/vendor/readme.md +1 -0
  115. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public/readme.md +1 -0
  116. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/handlers/main.js +24 -0
  117. package/{core/template/views/html/default.html → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/html/homepage.html} +0 -0
  118. package/{core/template/views/html/layout.html → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/html/layout/main.html} +2 -2
  119. package/{core → framework/v0.1.1-alpha.3/core}/template/command/gina.bat.tpl +0 -0
  120. package/{core → framework/v0.1.1-alpha.3/core}/template/command/gina.tpl +1 -1
  121. package/framework/v0.1.1-alpha.3/core/template/conf/env.json +76 -0
  122. package/{core/template/conf/project.json → framework/v0.1.1-alpha.3/core/template/conf/manifest.json} +1 -0
  123. package/{core → framework/v0.1.1-alpha.3/core}/template/conf/package.json +2 -2
  124. package/framework/v0.1.1-alpha.3/core/template/conf/settings.json +92 -0
  125. package/framework/v0.1.1-alpha.3/core/template/conf/statics.json +10 -0
  126. package/framework/v0.1.1-alpha.3/core/template/conf/templates.json +37 -0
  127. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/401.json +0 -0
  128. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/403.json +0 -0
  129. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/404.json +0 -0
  130. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/html/50x.html +0 -0
  131. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/json/500.json +0 -0
  132. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/json/503.json +0 -0
  133. package/{core/utils/lib/routing/build.json → framework/v0.1.1-alpha.3/core/template/extensions/logger/config.json} +0 -0
  134. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/console.js +3 -3
  135. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/context.js +240 -49
  136. package/framework/v0.1.1-alpha.3/helpers/dateFormat.js +528 -0
  137. package/framework/v0.1.1-alpha.3/helpers/index.js +79 -0
  138. package/framework/v0.1.1-alpha.3/helpers/json/README.md +0 -0
  139. package/framework/v0.1.1-alpha.3/helpers/json/package.json +20 -0
  140. package/framework/v0.1.1-alpha.3/helpers/json/src/main.js +97 -0
  141. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/path.js +342 -140
  142. package/framework/v0.1.1-alpha.3/helpers/plugins/README.md +4 -0
  143. package/framework/v0.1.1-alpha.3/helpers/plugins/package.json +20 -0
  144. package/framework/v0.1.1-alpha.3/helpers/plugins/src/api-error.js +160 -0
  145. package/framework/v0.1.1-alpha.3/helpers/plugins/src/main.js +32 -0
  146. package/framework/v0.1.1-alpha.3/helpers/prototypes.js +218 -0
  147. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/task.js +49 -29
  148. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/text.js +7 -7
  149. package/framework/v0.1.1-alpha.3/lib/archiver/README.md +0 -0
  150. package/framework/v0.1.1-alpha.3/lib/archiver/build.json +0 -0
  151. package/framework/v0.1.1-alpha.3/lib/archiver/package.json +20 -0
  152. package/framework/v0.1.1-alpha.3/lib/archiver/src/dep/jszip.min.js +15 -0
  153. package/framework/v0.1.1-alpha.3/lib/archiver/src/main.js +499 -0
  154. package/framework/v0.1.1-alpha.3/lib/cmd/aliases.json +13 -0
  155. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/add.js +507 -0
  156. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/arguments.json +4 -0
  157. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/copy.js +15 -0
  158. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/cp.js +2 -0
  159. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/help.js +28 -0
  160. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/help.txt +67 -0
  161. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/list.js +129 -0
  162. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/remove.js +229 -0
  163. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/rename.js +4 -0
  164. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/restart.js +235 -0
  165. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/rm.js +2 -0
  166. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/start.js +394 -0
  167. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/status.js +3 -0
  168. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/stop.js +232 -0
  169. package/framework/v0.1.1-alpha.3/lib/cmd/env/add.js +436 -0
  170. package/framework/v0.1.1-alpha.3/lib/cmd/env/get.js +62 -0
  171. package/framework/v0.1.1-alpha.3/lib/cmd/env/help.js +28 -0
  172. package/framework/v0.1.1-alpha.3/lib/cmd/env/help.txt +33 -0
  173. package/framework/v0.1.1-alpha.3/lib/cmd/env/link-dev.js +80 -0
  174. package/framework/v0.1.1-alpha.3/lib/cmd/env/list.js +111 -0
  175. package/framework/v0.1.1-alpha.3/lib/cmd/env/remove.js +150 -0
  176. package/framework/v0.1.1-alpha.3/lib/cmd/env/rm.js +2 -0
  177. package/framework/v0.1.1-alpha.3/lib/cmd/env/set.js +57 -0
  178. package/framework/v0.1.1-alpha.3/lib/cmd/env/unset.js +44 -0
  179. package/framework/v0.1.1-alpha.3/lib/cmd/env/use.js +79 -0
  180. package/framework/v0.1.1-alpha.3/lib/cmd/framework/dot.js +70 -0
  181. package/framework/v0.1.1-alpha.3/lib/cmd/framework/get.js +0 -0
  182. package/framework/v0.1.1-alpha.3/lib/cmd/framework/help.js +39 -0
  183. package/framework/v0.1.1-alpha.3/lib/cmd/framework/help.txt +31 -0
  184. package/framework/v0.1.1-alpha.3/lib/cmd/framework/init.js +514 -0
  185. package/{core/utils/lib/cmd → framework/v0.1.1-alpha.3/lib/cmd/framework}/msg.json +3 -3
  186. package/framework/v0.1.1-alpha.3/lib/cmd/framework/open.js +50 -0
  187. package/framework/v0.1.1-alpha.3/lib/cmd/framework/restart.js +124 -0
  188. package/framework/v0.1.1-alpha.3/lib/cmd/framework/set.js +161 -0
  189. package/framework/v0.1.1-alpha.3/lib/cmd/framework/start.js +96 -0
  190. package/framework/v0.1.1-alpha.3/lib/cmd/framework/status.js +72 -0
  191. package/framework/v0.1.1-alpha.3/lib/cmd/framework/stop.js +159 -0
  192. package/framework/v0.1.1-alpha.3/lib/cmd/framework/tail.js +183 -0
  193. package/framework/v0.1.1-alpha.3/lib/cmd/framework/update.js +0 -0
  194. package/framework/v0.1.1-alpha.3/lib/cmd/framework/version.js +44 -0
  195. package/framework/v0.1.1-alpha.3/lib/cmd/gina-dev.1.md +66 -0
  196. package/framework/v0.1.1-alpha.3/lib/cmd/gina-framework.1.md +100 -0
  197. package/framework/v0.1.1-alpha.3/lib/cmd/gina.1.md +79 -0
  198. package/framework/v0.1.1-alpha.3/lib/cmd/helper.js +1147 -0
  199. package/framework/v0.1.1-alpha.3/lib/cmd/index.js +170 -0
  200. package/framework/v0.1.1-alpha.3/lib/cmd/msg.json +20 -0
  201. package/framework/v0.1.1-alpha.3/lib/cmd/port/help.js +28 -0
  202. package/framework/v0.1.1-alpha.3/lib/cmd/port/help.txt +31 -0
  203. package/framework/v0.1.1-alpha.3/lib/cmd/port/inc/scan.js +108 -0
  204. package/framework/v0.1.1-alpha.3/lib/cmd/port/list.js +176 -0
  205. package/framework/v0.1.1-alpha.3/lib/cmd/port/set.js +0 -0
  206. package/framework/v0.1.1-alpha.3/lib/cmd/project/add.js +528 -0
  207. package/framework/v0.1.1-alpha.3/lib/cmd/project/arguments.json +9 -0
  208. package/framework/v0.1.1-alpha.3/lib/cmd/project/build.js +115 -0
  209. package/framework/v0.1.1-alpha.3/lib/cmd/project/help.js +28 -0
  210. package/framework/v0.1.1-alpha.3/lib/cmd/project/help.txt +76 -0
  211. package/framework/v0.1.1-alpha.3/lib/cmd/project/import.js +2 -0
  212. package/framework/v0.1.1-alpha.3/lib/cmd/project/list.js +55 -0
  213. package/framework/v0.1.1-alpha.3/lib/cmd/project/move.js +0 -0
  214. package/framework/v0.1.1-alpha.3/lib/cmd/project/remove.js +144 -0
  215. package/framework/v0.1.1-alpha.3/lib/cmd/project/rename.js +162 -0
  216. package/framework/v0.1.1-alpha.3/lib/cmd/project/restart.js +0 -0
  217. package/framework/v0.1.1-alpha.3/lib/cmd/project/rm.js +2 -0
  218. package/framework/v0.1.1-alpha.3/lib/cmd/project/start.js +0 -0
  219. package/framework/v0.1.1-alpha.3/lib/cmd/project/status.js +3 -0
  220. package/framework/v0.1.1-alpha.3/lib/cmd/project/stop.js +0 -0
  221. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/help.js +27 -0
  222. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/help.txt +57 -0
  223. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/list.js +239 -0
  224. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/set.js +631 -0
  225. package/framework/v0.1.1-alpha.3/lib/cmd/scope/help.js +28 -0
  226. package/framework/v0.1.1-alpha.3/lib/cmd/scope/help.txt +33 -0
  227. package/framework/v0.1.1-alpha.3/lib/cmd/scope/link-local.js +80 -0
  228. package/framework/v0.1.1-alpha.3/lib/cmd/scope/list.js +116 -0
  229. package/framework/v0.1.1-alpha.3/lib/cmd/scope/remove.js +150 -0
  230. package/framework/v0.1.1-alpha.3/lib/cmd/scope/rm.js +2 -0
  231. package/framework/v0.1.1-alpha.3/lib/cmd/scope/set.js +57 -0
  232. package/framework/v0.1.1-alpha.3/lib/cmd/scope/unset.js +44 -0
  233. package/framework/v0.1.1-alpha.3/lib/cmd/scope/use.js +79 -0
  234. package/framework/v0.1.1-alpha.3/lib/cmd/view/add.js +311 -0
  235. package/framework/v0.1.1-alpha.3/lib/collection/README.md +5 -0
  236. package/framework/v0.1.1-alpha.3/lib/collection/build.json +0 -0
  237. package/{core/utils → framework/v0.1.1-alpha.3}/lib/collection/package.json +2 -2
  238. package/framework/v0.1.1-alpha.3/lib/collection/src/main.js +1459 -0
  239. package/{core/utils → framework/v0.1.1-alpha.3}/lib/config.js +49 -34
  240. package/framework/v0.1.1-alpha.3/lib/cron/README.md +7 -0
  241. package/framework/v0.1.1-alpha.3/lib/cron/package.json +20 -0
  242. package/framework/v0.1.1-alpha.3/lib/cron/src/main.js +176 -0
  243. package/{core/utils → framework/v0.1.1-alpha.3}/lib/generator/index.js +8 -4
  244. package/framework/v0.1.1-alpha.3/lib/index.js +116 -0
  245. package/framework/v0.1.1-alpha.3/lib/inherits/LICENSE +19 -0
  246. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/README.md +0 -0
  247. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  248. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/protected_inheritance.js +0 -0
  249. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/simple_inheritance.js +0 -0
  250. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  251. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/package.json +2 -2
  252. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/src/main.js +18 -19
  253. package/framework/v0.1.1-alpha.3/lib/logger/README.md +7 -0
  254. package/framework/v0.1.1-alpha.3/lib/logger/package.json +20 -0
  255. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/default/index.js +55 -0
  256. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/index.js +251 -0
  257. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/lib/logrotator/README.md +100 -0
  258. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/lib/logrotator/index.js +274 -0
  259. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/index.js +52 -0
  260. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/listener.js +302 -0
  261. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/speaker.js +118 -0
  262. package/framework/v0.1.1-alpha.3/lib/logger/src/helper.js +131 -0
  263. package/framework/v0.1.1-alpha.3/lib/logger/src/main.js +739 -0
  264. package/{core/utils → framework/v0.1.1-alpha.3}/lib/math/index.js +58 -35
  265. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/README.md +5 -0
  266. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge.js +1 -1
  267. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge_2_literal objects.js +0 -0
  268. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge_and_preserve_first.js +2 -0
  269. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/package.json +2 -2
  270. package/framework/v0.1.1-alpha.3/lib/merge/src/main.js +531 -0
  271. package/{core/utils → framework/v0.1.1-alpha.3}/lib/model.js +42 -19
  272. package/framework/v0.1.1-alpha.3/lib/proc.js +518 -0
  273. package/framework/v0.1.1-alpha.3/lib/routing/README.md +0 -0
  274. package/framework/v0.1.1-alpha.3/lib/routing/build.json +0 -0
  275. package/{core/utils → framework/v0.1.1-alpha.3}/lib/routing/package.json +2 -2
  276. package/framework/v0.1.1-alpha.3/lib/routing/src/main.js +1492 -0
  277. package/framework/v0.1.1-alpha.3/lib/session-store.js +33 -0
  278. package/{core/utils → framework/v0.1.1-alpha.3}/lib/shell.js +43 -30
  279. package/framework/v0.1.1-alpha.3/lib/swig-filters/README.md +0 -0
  280. package/framework/v0.1.1-alpha.3/lib/swig-filters/package.json +20 -0
  281. package/framework/v0.1.1-alpha.3/lib/swig-filters/src/main.js +322 -0
  282. package/framework/v0.1.1-alpha.3/lib/url/README.md +0 -0
  283. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/index.js +2 -1
  284. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/mocks.json +0 -0
  285. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/routing.json +9 -9
  286. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/test.js +0 -0
  287. package/{core/utils → framework/v0.1.1-alpha.3}/lib/validator.js +7 -7
  288. package/framework/v0.1.1-alpha.3/package.json +14 -0
  289. package/package.json +35 -33
  290. package/resources/etc/init.d/debian/gina +117 -0
  291. package/resources/home/framework/env.json +34 -0
  292. package/resources/home/framework/locals.json +14 -0
  293. package/resources/home/framework/project.json +48 -0
  294. package/resources/home/framework/projects.json +6 -0
  295. package/resources/home/main.json +47 -0
  296. package/resources/home/settings.json +22 -0
  297. package/resources/home/user/extensions/logger/default/config.json +77 -0
  298. package/resources/home/user/extensions/logger/file/config.json +11 -0
  299. package/resources/img/android-chrome-192x192.png +0 -0
  300. package/resources/img/android-chrome-512x512.png +0 -0
  301. package/resources/img/apple-touch-icon.png +0 -0
  302. package/resources/img/favicon-16x16.png +0 -0
  303. package/resources/img/favicon-32x32.png +0 -0
  304. package/resources/img/favicon.ico +0 -0
  305. package/resources/package.json.template +50 -0
  306. package/script/lib.js +24 -0
  307. package/script/post_install.js +449 -157
  308. package/script/pre_install.js +277 -36
  309. package/script/prepare_version.js +425 -0
  310. package/utils/helper.js +438 -0
  311. package/utils/prototypes.js +239 -0
  312. package/utils/prototypes.json_clone.js +175 -0
  313. package/.npmignore +0 -6
  314. package/MIDDLEWARE +0 -1
  315. package/SUCCESS +0 -1
  316. package/VERSION +0 -1
  317. package/core/asset/html/nolayout.html +0 -1
  318. package/core/asset/js/plugin/build.dev.json +0 -28
  319. package/core/asset/js/plugin/build.json +0 -31
  320. package/core/asset/js/plugin/dist/gina.min.css +0 -1
  321. package/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  322. package/core/asset/js/plugin/dist/gina.min.js +0 -13732
  323. package/core/asset/js/plugin/dist/gina.min.js.map +0 -42
  324. package/core/asset/js/plugin/dist/gina.onload.min.js +0 -3
  325. package/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  326. package/core/asset/js/plugin/readme.md +0 -152
  327. package/core/asset/js/plugin/src/gina/main.js +0 -132
  328. package/core/asset/js/plugin/src/gina/popin/css/design.css +0 -23
  329. package/core/asset/js/plugin/src/gina/popin/css/main.css +0 -1112
  330. package/core/asset/js/plugin/src/gina/popin/css/popin.css +0 -3
  331. package/core/asset/js/plugin/src/gina/popin/css/popin.css.map +0 -1
  332. package/core/asset/js/plugin/src/gina/popin/doc/TOC.md +0 -29
  333. package/core/asset/js/plugin/src/gina/popin/doc/css.md +0 -162
  334. package/core/asset/js/plugin/src/gina/popin/doc/extend.md +0 -663
  335. package/core/asset/js/plugin/src/gina/popin/doc/faq.md +0 -46
  336. package/core/asset/js/plugin/src/gina/popin/doc/html.md +0 -227
  337. package/core/asset/js/plugin/src/gina/popin/doc/js.md +0 -37
  338. package/core/asset/js/plugin/src/gina/popin/doc/misc.md +0 -178
  339. package/core/asset/js/plugin/src/gina/popin/doc/usage.md +0 -130
  340. package/core/asset/js/plugin/src/gina/popin/main.js +0 -783
  341. package/core/asset/js/plugin/src/gina/popin/sass/config.sass +0 -37
  342. package/core/asset/js/plugin/src/gina/popin/sass/gina-design.sass +0 -622
  343. package/core/asset/js/plugin/src/gina/popin/sass/gina-popin.sass +0 -54
  344. package/core/asset/js/plugin/src/gina/popin/sass/helper.scss +0 -73
  345. package/core/asset/js/plugin/src/gina/toolbar/.npmignore +0 -19
  346. package/core/asset/js/plugin/src/gina/toolbar/css/toolbar.css +0 -433
  347. package/core/asset/js/plugin/src/gina/toolbar/css/toolbar.css.map +0 -1
  348. package/core/asset/js/plugin/src/gina/toolbar/index.html +0 -285
  349. package/core/asset/js/plugin/src/gina/toolbar/index.kit +0 -120
  350. package/core/asset/js/plugin/src/gina/toolbar/jquery-3.1.0.min.js +0 -4
  351. package/core/asset/js/plugin/src/gina/toolbar/main.js +0 -693
  352. package/core/asset/js/plugin/src/gina/toolbar/mock.gina.json +0 -1
  353. package/core/asset/js/plugin/src/gina/toolbar/mock.user.json +0 -1
  354. package/core/asset/js/plugin/src/gina/toolbar/readme.md +0 -7
  355. package/core/asset/js/plugin/src/gina/toolbar/sass/toolbar.sass +0 -563
  356. package/core/asset/js/plugin/src/gina/toolbar/svg-src/Info-color.svg +0 -1
  357. package/core/asset/js/plugin/src/gina/toolbar/svg-src/Info-grey.svg +0 -1
  358. package/core/asset/js/plugin/src/gina/toolbar/svg-src/error-color.svg +0 -1
  359. package/core/asset/js/plugin/src/gina/toolbar/svg-src/error-grey.svg +0 -1
  360. package/core/asset/js/plugin/src/gina/toolbar/svg-src/info-optim.svg +0 -13
  361. package/core/asset/js/plugin/src/gina/toolbar/svg-src/logo-gina.svg +0 -1
  362. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings-big.svg +0 -1
  363. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings.afdesign +0 -0
  364. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings.svg +0 -1
  365. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-calendar-optim.svg +0 -1
  366. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-calendar.svg +0 -1
  367. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-card-optim.svg +0 -1
  368. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-card.svg +0 -1
  369. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-lock-optim.svg +0 -1
  370. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-lock.svg +0 -1
  371. package/core/asset/js/plugin/src/gina/toolbar/svg-src/warning-color.svg +0 -1
  372. package/core/asset/js/plugin/src/gina/toolbar/svg-src/warning-grey.svg +0 -1
  373. package/core/asset/js/plugin/src/gina/toolbar/test.jpg +0 -0
  374. package/core/asset/js/plugin/src/gina/toolbar/toolbar.html +0 -104
  375. package/core/asset/js/plugin/src/gina/utils/dom.js +0 -24
  376. package/core/asset/js/plugin/src/gina/utils/events.js +0 -201
  377. package/core/asset/js/plugin/src/gina/utils/loader.js +0 -57
  378. package/core/asset/js/plugin/src/main.js +0 -235
  379. package/core/asset/js/plugin/src/vendor/jquery/1.11.1-css-event_alias.min.js +0 -5
  380. package/core/asset/js/plugin/src/vendor/jquery/1.12.4.min.js +0 -5
  381. package/core/asset/js/plugin/src/vendor/jquery/2.1.1-css-event_alias-sizzle.min.js +0 -4
  382. package/core/asset/js/plugin/src/vendor/jquery/README.md +0 -14
  383. package/core/asset/js/plugin/src/vendor/jquery/slim-3.1.1.min.js +0 -4
  384. package/core/config.js +0 -1225
  385. package/core/controller/controller.js +0 -1860
  386. package/core/gna.js +0 -908
  387. package/core/plugins/lib/validator/src/form-validator.js +0 -789
  388. package/core/plugins/lib/validator/src/main.js +0 -2056
  389. package/core/router.js +0 -717
  390. package/core/server.js +0 -1363
  391. package/core/template/conf/env.json +0 -70
  392. package/core/template/conf/settings.json +0 -48
  393. package/core/template/conf/statics.json +0 -6
  394. package/core/template/conf/views.json +0 -16
  395. package/core/template/samples/bundle/config/app.json +0 -4
  396. package/core/template/samples/bundle/config/routing.json +0 -9
  397. package/core/template/samples/bundle/controllers/setup.js +0 -33
  398. package/core/template/views/js/vendor/readme.md +0 -1
  399. package/core/template/views/readme.md +0 -1
  400. package/core/utils/helpers/dateFormat.js +0 -264
  401. package/core/utils/helpers/index.js +0 -202
  402. package/core/utils/index.js +0 -75
  403. package/core/utils/lib/cmd/app.js +0 -686
  404. package/core/utils/lib/cmd/basic.help.txt +0 -40
  405. package/core/utils/lib/cmd/basic.js +0 -141
  406. package/core/utils/lib/cmd/gina-add-bundle.js +0 -328
  407. package/core/utils/lib/cmd/gina-add-views.js +0 -99
  408. package/core/utils/lib/cmd/gina-build.js +0 -218
  409. package/core/utils/lib/cmd/gina-clean.js +0 -26
  410. package/core/utils/lib/cmd/gina-connect.js +0 -176
  411. package/core/utils/lib/cmd/gina-delete-bundle.js +0 -176
  412. package/core/utils/lib/cmd/gina-deploy.js +0 -452
  413. package/core/utils/lib/cmd/gina-init-project.js +0 -83
  414. package/core/utils/lib/cmd/gina-start-bundle.js +0 -3
  415. package/core/utils/lib/cmd/gina-start.js +0 -3
  416. package/core/utils/lib/cmd/index.js +0 -157
  417. package/core/utils/lib/cmd/project.js +0 -14
  418. package/core/utils/lib/collection/src/main.js +0 -650
  419. package/core/utils/lib/logger/containers/file.js +0 -11
  420. package/core/utils/lib/logger/index.js +0 -260
  421. package/core/utils/lib/merge/src/main.js +0 -344
  422. package/core/utils/lib/proc.js +0 -416
  423. package/core/utils/lib/routing/src/main.js +0 -165
  424. package/documentation/css/default.css +0 -3
  425. package/documentation/html/home.html +0 -6
  426. package/documentation/html/inc/_footer.html +0 -5
  427. package/documentation/html/layout.html +0 -21
  428. package/documentation/img/debug-conf1.png +0 -0
  429. package/documentation/img/debug-conf2.png +0 -0
  430. package/documentation/img/debug-conf3.png +0 -0
  431. package/documentation/img/debug-conf4.png +0 -0
  432. package/documentation/img/debug-conf5.png +0 -0
  433. package/documentation/img/debug-conf6.png +0 -0
  434. package/documentation/img/debug-conf7.png +0 -0
  435. package/documentation/img/debug-new1.png +0 -0
  436. package/documentation/img/debug-new2.png +0 -0
  437. package/documentation/img/debug-start.png +0 -0
  438. package/documentation/md/api/controller/main.md +0 -74
  439. package/migration_note.md +0 -7
  440. package/package-lock.json +0 -611
  441. package/script/pre_publish.js +0 -207
  442. package/tutorial/Commands/README.md +0 -56
  443. package/tutorial/Commands/add-bundle-result.png +0 -0
  444. package/tutorial/Commands/add-bundle.png +0 -0
  445. package/tutorial/Commands/delete-bundle.png +0 -0
  446. package/tutorial/Commands/help.png +0 -0
  447. package/tutorial/Commands/init-project.png +0 -0
  448. package/tutorial/Commands/start-bundle-result.png +0 -0
  449. package/tutorial/Commands/start-bundle-stop.png +0 -0
  450. package/tutorial/Commands/start-bundle.png +0 -0
  451. package/tutorial/Commands/version.png +0 -0
  452. package/tutorial/ETC/README.md +0 -74
  453. package/tutorial/ETC/add-bundle-result.png +0 -0
  454. package/tutorial/ETC/add-bundle.png +0 -0
  455. package/tutorial/ETC/init-project.png +0 -0
  456. package/tutorial/Install/README.md +0 -54
  457. package/tutorial/Install/git-get.png +0 -0
  458. package/tutorial/Install/git-install-end.png +0 -0
  459. package/tutorial/Install/git-install-result.png +0 -0
  460. package/tutorial/Install/git-install-start.png +0 -0
  461. package/tutorial/Install/install-end.png +0 -0
  462. package/tutorial/Install/install-result.png +0 -0
  463. package/tutorial/Install/install-start.png +0 -0
  464. package/tutorial/WebStorm/README.md +0 -30
  465. package/tutorial/WebStorm/closure-compiler.png +0 -0
  466. package/tutorial/WebStorm/sass.png +0 -0
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ /*!
3
+ * Connect - Couchbase
4
+ * Copyright(c) 2014 Christopher Mina <christopher.mina@gmail.com>
5
+ *
6
+ * MIT Licensed
7
+ *
8
+ * This is an adaption from connect-redis, see:
9
+ * https://github.com/visionmedia/connect-redis
10
+ */
11
+
12
+ 'use strict'
13
+
14
+ /**
15
+ * Module dependencies.
16
+ */
17
+
18
+ var debug = require('debug')('connect:couchbase');
19
+
20
+ /**
21
+ * One day in seconds.
22
+ */
23
+
24
+ var oneDay = 86400;
25
+
26
+ /**
27
+ * No op
28
+ */
29
+ var noop = function () {};
30
+
31
+ /**
32
+ * Return the `CouchbaseStore` extending `express`'s session Store.
33
+ *
34
+ * @param {object} express session
35
+ * @returns {Function}
36
+ * @api public
37
+ */
38
+
39
+ module.exports = function(session){
40
+
41
+ /**
42
+ * Express's session Store.
43
+ */
44
+
45
+ var Store = session.Store;
46
+
47
+ /**
48
+ * Initialize CouchbaseStore with the given `options`.
49
+ *
50
+ * @param {Object} options
51
+ * {
52
+ * host: 127.0.0.1:8091 (default) -- Can be one or more address:ports, separated by semi-colon, or an array
53
+ * username: '', -- Should be same as bucket name, if provided
54
+ * password: '',
55
+ * bucket: 'default' (default)
56
+ * cachefile: ''
57
+ * ttl: 86400,
58
+ * prefix: 'sess',
59
+ * operationTimeout:2000,
60
+ connectionTimeout:2000,
61
+ * }
62
+ * @api public
63
+ */
64
+
65
+ function CouchbaseStore(options) {
66
+ var self = this;
67
+
68
+ options = options || {};
69
+ Store.call(this, options);
70
+ this.prefix = null == options.prefix
71
+ ? 'sess:'
72
+ : options.prefix;
73
+
74
+ var connectOptions = {};
75
+ if (options.hasOwnProperty("host")) {
76
+ connectOptions.host = options.host;
77
+ } else if (options.hasOwnProperty("hosts")) {
78
+ connectOptions.host = options.hosts;
79
+ }
80
+
81
+ if (options.hasOwnProperty("username")) {
82
+ connectOptions.username = options.username;
83
+ }
84
+
85
+ if (options.hasOwnProperty("password")) {
86
+ connectOptions.password = options.password;
87
+ }
88
+
89
+ if (options.hasOwnProperty("bucket")) {
90
+ connectOptions.bucket = options.bucket;
91
+ }
92
+
93
+ if (options.hasOwnProperty("cachefile")) {
94
+ connectOptions.cachefile = options.cachefile;
95
+ }
96
+
97
+ if (options.hasOwnProperty("connectionTimeout")) {
98
+ connectOptions.connectionTimeout = options.connectionTimeout;
99
+ }
100
+
101
+ if (options.hasOwnProperty("operationTimeout")) {
102
+ connectOptions.operationTimeout = options.operationTimeout;
103
+ }
104
+
105
+ if (options.hasOwnProperty("db")) {
106
+ connectOptions.db = options.db; // DB Instance
107
+ }
108
+
109
+ if ( typeof(connectOptions.db) != 'undefined' ) {
110
+ this.client = connectOptions.db;
111
+ } else {
112
+ var Couchbase = require('couchbase');
113
+ var cluster = new Couchbase.Cluster(connectOptions.host);
114
+
115
+ this.client = cluster.openBucket(connectOptions.bucket, connectOptions.password, function(err) {
116
+ if (err) {
117
+ console.log("Could not connect to couchbase with bucket: " + connectOptions.bucket);
118
+ self.emit('disconnect');
119
+ } else {
120
+ self.emit('connect');
121
+ }
122
+ });
123
+ }
124
+
125
+ this.client.connectionTimeout = connectOptions.connectionTimeout || 10000;
126
+ this.client.operationTimeout = connectOptions.operationTimeout || 10000;
127
+
128
+ this.ttl = options.ttl || null;
129
+ }
130
+
131
+ /**
132
+ * Inherit from `Store`.
133
+ */
134
+
135
+ CouchbaseStore.prototype.__proto__ = Store.prototype;
136
+
137
+ /**
138
+ * Attempt to fetch session by the given `sid`.
139
+ *
140
+ * @param {String} sid
141
+ * @param {Function} fn
142
+ * @api public
143
+ */
144
+
145
+ CouchbaseStore.prototype.get = function(sid, fn){
146
+ if ('function' !== typeof fn) { fn = noop; }
147
+ sid = this.prefix + sid;
148
+ debug('GET "%s"', sid);
149
+ this.client.get(sid, function(err, data){
150
+ //Handle Key Not Found error
151
+ if (err && err.code == 13) {
152
+ return fn();
153
+ }
154
+ if (err) return fn(err);
155
+ if (!data || !data.value) return fn();
156
+ var result;
157
+ data = data.value.toString();
158
+ debug('GOT %s', data);
159
+ try {
160
+ result = JSON.parse(data);
161
+ } catch (err) {
162
+ return fn(err);
163
+ }
164
+ return fn(null, result);
165
+ });
166
+ };
167
+
168
+ /**
169
+ * Commit the given `sess` object associated with the given `sid`.
170
+ *
171
+ * @param {String} sid
172
+ * @param {Session} sess
173
+ * @param {Function} fn
174
+ * @api public
175
+ */
176
+
177
+ CouchbaseStore.prototype.set = function(sid, sess, fn){
178
+ if ('function' !== typeof fn) { fn = noop; }
179
+ sid = this.prefix + sid;
180
+ try {
181
+
182
+ var maxAge = sess.cookie.maxAge
183
+ , ttl = this.ttl || ('number' == typeof maxAge
184
+ ? maxAge / 1000 | 0
185
+ : oneDay)
186
+ ;
187
+
188
+ if (ttl > 0) {
189
+ sess.lastModified = new Date();
190
+ }
191
+
192
+ sess = JSON.stringify(sess);
193
+
194
+ debug('SETEX "%s" ttl:%s %s', sid, ttl, sess);
195
+ this.client.upsert(sid, sess, {expiry:ttl}, function(err){
196
+ err || debug('Session Set complete');
197
+ fn && fn.apply(this, arguments);
198
+ });
199
+ } catch (err) {
200
+ fn && fn(err);
201
+ }
202
+ };
203
+
204
+ /**
205
+ * Destroy the session associated with the given `sid`.
206
+ *
207
+ * @param {String} sid
208
+ * @api public
209
+ */
210
+
211
+ CouchbaseStore.prototype.destroy = function(sid, fn){
212
+ if ('function' !== typeof fn) { fn = noop; }
213
+ sid = this.prefix + sid;
214
+ this.client.remove(sid, fn);
215
+ };
216
+
217
+
218
+ /**
219
+ * Refresh the time-to-live for the session with the given `sid`.
220
+ *
221
+ * @param {String} sid
222
+ * @param {Session} sess
223
+ * @param {Function} fn
224
+ * @api public
225
+ */
226
+
227
+ CouchbaseStore.prototype.touch = function (sid, sess, fn) {
228
+ if ('function' !== typeof fn) { fn = noop; }
229
+
230
+ var sid = this.prefix + sid
231
+ , maxAge = sess.cookie.maxAge
232
+ , ttl = this.ttl || ('number' == typeof maxAge
233
+ ? maxAge / 1000 | 0
234
+ : oneDay)
235
+ , currentDate = new Date()
236
+ , lastModified = sess.lastModified ? new Date(sess.lastModified).getTime() : 0;
237
+
238
+ // if the given options has a touchAfter property, check if the
239
+ // current timestamp - lastModified timestamp is bigger than
240
+ // the specified, if it's not, don't touch the session
241
+ if (ttl > 0 && lastModified > 0) {
242
+
243
+ var timeElapsed = currentDate.getTime() - lastModified;
244
+
245
+ if (timeElapsed > ttl) {
246
+ sess.lastModified = currentDate;
247
+ }
248
+ }
249
+
250
+ sess = JSON.stringify(sess);
251
+ this.client.upsert(sid, sess, {expiry:ttl}, function(err){
252
+ err || debug('Session Touch complete');
253
+ fn && fn.apply(this, arguments);
254
+ });
255
+ };
256
+
257
+ return CouchbaseStore;
258
+ };
@@ -0,0 +1,341 @@
1
+ "use strict";
2
+ var fs = require('fs');
3
+ var util = require('util');
4
+
5
+ var gina = require('../../../../core/gna');
6
+ var utils = gina.utils;
7
+ var console = utils.logger;
8
+
9
+ /*!
10
+ * Connect - Couchbase
11
+ * Copyright(c) 2014 Christopher Mina <christopher.mina@gmail.com>
12
+ *
13
+ * MIT Licensed
14
+ *
15
+ * This is an adaption from connect-redis, see:
16
+ * https://github.com/visionmedia/connect-redis
17
+ */
18
+
19
+ 'use strict'
20
+
21
+ /**
22
+ * Module dependencies.
23
+ */
24
+
25
+ var debug = require('debug')('connect:couchbase');
26
+
27
+ /**
28
+ * One day in seconds.
29
+ */
30
+
31
+ var oneDay = 86400;
32
+
33
+ /**
34
+ * No op
35
+ */
36
+ var noop = function () {};
37
+
38
+ /**
39
+ * Return the `CouchbaseStore` extending `express`'s session Store.
40
+ *
41
+ * @param {object} express session
42
+ * @returns {Function}
43
+ * @api public
44
+ */
45
+
46
+ module.exports = function(session, bundle){
47
+
48
+ /**
49
+ * Express's session Store.
50
+ */
51
+
52
+ var Store = session.Store;
53
+
54
+ /**
55
+ * Initialize CouchbaseStore with the given `options`.
56
+ *
57
+ * @param {Object} options
58
+ * {
59
+ * host: 127.0.0.1:8091 (default) -- Can be one or more address:ports, separated by semi-colon, or an array
60
+ * username: '', -- Should be same as bucket name, if provided
61
+ * password: '',
62
+ * bucket: 'default' (default)
63
+ * cachefile: ''
64
+ * ttl: 86400,
65
+ * prefix: 'sess',
66
+ * operationTimeout:2000,
67
+ connectionTimeout:2000,
68
+ * }
69
+ * @api public
70
+ */
71
+
72
+ function CouchbaseStore(options) {
73
+ var self = this;
74
+
75
+ options = options || {};
76
+ Store.call(this, options);
77
+ this.prefix = null == options.prefix
78
+ ? 'sess:'
79
+ : options.prefix;
80
+
81
+ var connectOptions = {};
82
+ if (options.hasOwnProperty("host")) {
83
+ connectOptions.host = options.host;
84
+ } else if (options.hasOwnProperty("hosts")) {
85
+ connectOptions.host = options.hosts;
86
+ }
87
+
88
+ if (options.hasOwnProperty("username")) {
89
+ connectOptions.username = options.username;
90
+ }
91
+
92
+ if (options.hasOwnProperty("password")) {
93
+ connectOptions.password = options.password;
94
+ }
95
+
96
+ if (options.hasOwnProperty("bucket")) {
97
+ connectOptions.bucket = options.bucket;
98
+ }
99
+
100
+ if (options.hasOwnProperty("cachefile")) {
101
+ connectOptions.cachefile = options.cachefile;
102
+ }
103
+
104
+ if (options.hasOwnProperty("connectionTimeout")) {
105
+ connectOptions.connectionTimeout = options.connectionTimeout;
106
+ }
107
+
108
+ if (options.hasOwnProperty("operationTimeout")) {
109
+ connectOptions.operationTimeout = options.operationTimeout;
110
+ }
111
+
112
+ if (options.hasOwnProperty("db")) {
113
+ connectOptions.db = options.db; // DB Instance
114
+ }
115
+
116
+ if ( typeof(connectOptions.db) != 'undefined' ) {
117
+ var conn = connectOptions.db;
118
+ var scope = conn.scope(conn.name);
119
+ // var coll = ( typeof(bundle) != 'undefined' ) ? scope.collection(bundle) : scope._bucket.defaultCollection();
120
+ //var coll = connectOptions.db.collection(bundle);
121
+ var coll = connectOptions.db.defaultCollection();
122
+ //var coll = ( typeof(bundle) != 'undefined' ) ? bucket.collection(bundle) : bucket.defaultCollection();
123
+
124
+ this.client = coll;
125
+ } else {
126
+ var Couchbase = require('couchbase');
127
+ var cluster = new Couchbase.Cluster(connectOptions.host);
128
+
129
+ this.client = cluster.openBucket(connectOptions.bucket, connectOptions.password, function(err) {
130
+ if (err) {
131
+ console.log("Could not connect to couchbase with bucket: " + connectOptions.bucket);
132
+ self.emit('disconnect');
133
+ } else {
134
+ self.emit('connect');
135
+ }
136
+ });
137
+ }
138
+
139
+ this.client.connectionTimeout = connectOptions.connectionTimeout || 10000;
140
+ this.client.operationTimeout = connectOptions.operationTimeout || 10000;
141
+
142
+ this.ttl = options.ttl || null;
143
+ }
144
+
145
+ /**
146
+ * Inherit from `Store`.
147
+ */
148
+
149
+ CouchbaseStore.prototype.__proto__ = Store.prototype;
150
+
151
+ /**
152
+ * Attempt to fetch session by the given `sid`.
153
+ *
154
+ * @param {String} sid
155
+ * @param {Function} fn
156
+ * @api public
157
+ */
158
+
159
+ CouchbaseStore.prototype.get = function(sid, fn){
160
+ if ('function' !== typeof fn) { fn = noop; }
161
+ sid = this.prefix + sid;
162
+ console.debug('GET "%s"', sid);
163
+
164
+
165
+ var err = false, result = null, data = null;
166
+ // this.client.get(sid, function(err, data){
167
+ // //Handle Key Not Found error
168
+ // if (err && err.code == 13) {
169
+ // return fn();
170
+ // }
171
+ // if (err) return fn(err);
172
+ // if (!data || !data.value) return fn();
173
+ // var result;
174
+ // data = data.value.toString();
175
+ // debug('GOT %s', data);
176
+ // try {
177
+ // result = JSON.parse(data);
178
+ // } catch (err) {
179
+ // return fn(err);
180
+ // }
181
+ // return fn(null, result);
182
+ // });
183
+ this.client
184
+ .get(sid)
185
+ .then(function onData(_data) {
186
+ data = _data;
187
+ })
188
+ .catch(function onErr(_err){
189
+ err = _err;
190
+ });
191
+
192
+ //Handle Key Not Found error
193
+ if (err && err.code == 13) {
194
+ return fn();
195
+ }
196
+ if (err) return fn(err);
197
+
198
+ if (!data || !data.value) return fn();
199
+ data = data.value.toString();
200
+ console.debug('GOT %s', data);
201
+ try {
202
+ result = JSON.parse(data);
203
+ } catch (err) {
204
+ return fn(err);
205
+ }
206
+ return fn(null, result);
207
+ // if (!result || !result.value) return fn();
208
+ // try {
209
+ // var data = result.value.toString();
210
+ // debug('GOT %s', data);
211
+ // result = JSON.parse( data );
212
+ // return fn(null, result);
213
+ // } catch (err) {
214
+ // return fn(err);
215
+ // }
216
+ };
217
+
218
+ /**
219
+ * Commit the given `sess` object associated with the given `sid`.
220
+ *
221
+ * @param {String} sid
222
+ * @param {Session} sess
223
+ * @param {Function} fn
224
+ * @api public
225
+ */
226
+
227
+ CouchbaseStore.prototype.set = function(sid, sess, fn){
228
+ if ('function' !== typeof fn) { fn = noop; }
229
+ sid = this.prefix + sid;
230
+ try {
231
+
232
+ var maxAge = sess.cookie.maxAge
233
+ , ttl = this.ttl || ('number' == typeof maxAge
234
+ ? maxAge / 1000 | 0
235
+ : oneDay)
236
+ ;
237
+
238
+ if (ttl > 0) {
239
+ sess.lastModified = new Date();
240
+ }
241
+
242
+ sess = JSON.stringify(sess);
243
+
244
+ console.debug('SETEX "%s" ttl:%s %s', sid, ttl, sess);
245
+ // this.client.upsert(sid, sess, {expiry:ttl}, function(err){
246
+ // err || debug('Session Set complete');
247
+ // fn && fn.apply(this, arguments);
248
+ // });
249
+ var err = false, result = null;
250
+ this.client
251
+ .upsert(sid, sess, {expiry:ttl})
252
+ .then(function onResult(_result){
253
+ result = _result;
254
+ //fn && fn.apply(this, arguments);
255
+ })
256
+ .catch(function onError(_err) {
257
+ err = _err
258
+ // if(err)
259
+ // debug('Session Set complete', err.stack || err.message || err);
260
+
261
+ //fn && fn.apply(this, arguments);
262
+ })
263
+ if (err) {
264
+ fn && fn(err);
265
+ }
266
+ fn && fn(err, result);
267
+
268
+ } catch (err) {
269
+ fn && fn(err);
270
+ }
271
+ };
272
+
273
+ /**
274
+ * Destroy the session associated with the given `sid`.
275
+ *
276
+ * @param {String} sid
277
+ * @api public
278
+ */
279
+
280
+ CouchbaseStore.prototype.destroy = function(sid, fn){
281
+ if ('function' !== typeof fn) { fn = noop; }
282
+ sid = this.prefix + sid;
283
+ //this.client.remove(sid, fn);
284
+ this.client
285
+ .remove(sid)
286
+ .then(fn)
287
+ .catch(fn)
288
+ };
289
+
290
+
291
+ /**
292
+ * Refresh the time-to-live for the session with the given `sid`.
293
+ *
294
+ * @param {String} sid
295
+ * @param {Session} sess
296
+ * @param {Function} fn
297
+ * @api public
298
+ */
299
+
300
+ CouchbaseStore.prototype.touch = function (sid, sess, fn) {
301
+ if ('function' !== typeof fn) { fn = noop; }
302
+
303
+ var sid = this.prefix + sid
304
+ , maxAge = sess.cookie.maxAge
305
+ , ttl = this.ttl || ('number' == typeof maxAge
306
+ ? maxAge / 1000 | 0
307
+ : oneDay)
308
+ , currentDate = new Date()
309
+ , lastModified = sess.lastModified ? new Date(sess.lastModified).getTime() : 0;
310
+
311
+ // if the given options has a touchAfter property, check if the
312
+ // current timestamp - lastModified timestamp is bigger than
313
+ // the specified, if it's not, don't touch the session
314
+ if (ttl > 0 && lastModified > 0) {
315
+
316
+ var timeElapsed = currentDate.getTime() - lastModified;
317
+
318
+ if (timeElapsed > ttl) {
319
+ sess.lastModified = currentDate;
320
+ }
321
+ }
322
+
323
+ sess = JSON.stringify(sess);
324
+ // this.client.upsert(sid, sess, {expiry:ttl}, function(err){
325
+ // err || debug('Session Touch complete');
326
+ // fn && fn.apply(this, arguments);
327
+ // });
328
+ this.client
329
+ .upsert(sid, sess, {expiry:ttl})
330
+ .then(function onResult() {
331
+ fn && fn.apply(this, arguments);
332
+ })
333
+ .catch(function onError(err) {
334
+ err || debug('Session Touch complete');
335
+ fn && fn.apply(this, arguments);
336
+ })
337
+
338
+ };
339
+
340
+ return CouchbaseStore;
341
+ };
@@ -1,5 +1,6 @@
1
- var utils = require('../utils') || require.cache[require.resolve('../utils')];
2
- var inherits = utils.inherits;
1
+ "use strict";
2
+ var lib = require('./../../lib') || require.cache[require.resolve('./../../lib')];
3
+ var inherits = lib.inherits;
3
4
  var Controller = require('./controller');
4
5
 
5
6