unsakini 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -2
  3. data/angular/LICENSE +21 -0
  4. data/angular/README.md +1 -0
  5. data/angular/angular-cli.json +59 -0
  6. data/angular/dist/favicon.ico +0 -0
  7. data/angular/dist/index.html +14 -0
  8. data/angular/dist/inline.bundle.js +139 -0
  9. data/angular/dist/inline.map +1 -0
  10. data/angular/dist/main.bundle.js +64735 -0
  11. data/angular/dist/main.map +1 -0
  12. data/angular/dist/styles.bundle.js +364 -0
  13. data/angular/dist/styles.map +1 -0
  14. data/angular/karma.conf.js +45 -0
  15. data/angular/package.json +49 -0
  16. data/angular/protractor.conf.js +32 -0
  17. data/angular/src/app/app.component.css +0 -0
  18. data/angular/src/app/app.component.html +4 -0
  19. data/angular/src/app/app.component.spec.ts +47 -0
  20. data/angular/src/app/app.component.ts +10 -0
  21. data/angular/src/app/app.module.ts +29 -0
  22. data/angular/src/app/app.routes.module.ts +29 -0
  23. data/angular/src/app/index.ts +2 -0
  24. data/angular/src/app/registration/registration.component.css +0 -0
  25. data/angular/src/app/registration/registration.component.html +14 -0
  26. data/angular/src/app/registration/registration.component.spec.ts +157 -0
  27. data/angular/src/app/registration/registration.component.ts +42 -0
  28. data/angular/src/environments/environment.prod.ts +3 -0
  29. data/angular/src/environments/environment.ts +8 -0
  30. data/angular/src/favicon.ico +0 -0
  31. data/angular/src/index.html +14 -0
  32. data/angular/src/main.ts +12 -0
  33. data/angular/src/polyfills.ts +19 -0
  34. data/angular/src/styles.css +1 -0
  35. data/angular/src/test.ts +31 -0
  36. data/angular/src/tsconfig.json +18 -0
  37. data/angular/src/typings.d.ts +2 -0
  38. data/angular/tslint.json +114 -0
  39. data/angular/typings.json +4 -0
  40. data/lib/generators/unsakini/angular/angular_generator.rb +1 -1
  41. data/lib/tasks/unsakini_tasks.rake +2 -7
  42. data/lib/unsakini/version.rb +1 -1
  43. data/spec/dummy/db/development.sqlite3 +0 -0
  44. data/spec/dummy/db/schema.rb +57 -0
  45. data/spec/dummy/db/test.sqlite3 +0 -0
  46. data/spec/dummy/public/app/index.html +14 -0
  47. metadata +56 -15
  48. /data/spec/dummy/db/migrate/{20161124184336_create_boards.unsakini_engine.rb → 20161124210219_create_boards.unsakini_engine.rb} +0 -0
  49. /data/spec/dummy/db/migrate/{20161124184337_create_user_boards.unsakini_engine.rb → 20161124210220_create_user_boards.unsakini_engine.rb} +0 -0
  50. /data/spec/dummy/db/migrate/{20161124184338_create_posts.unsakini_engine.rb → 20161124210221_create_posts.unsakini_engine.rb} +0 -0
  51. /data/spec/dummy/db/migrate/{20161124184339_create_comments.unsakini_engine.rb → 20161124210222_create_comments.unsakini_engine.rb} +0 -0
  52. /data/spec/dummy/db/migrate/{20161124184340_add_encrypted_password_to_user_board.unsakini_engine.rb → 20161124210223_add_encrypted_password_to_user_board.unsakini_engine.rb} +0 -0
  53. /data/spec/dummy/db/migrate/{20161124184341_create_users.unsakini_engine.rb → 20161124210224_create_users.unsakini_engine.rb} +0 -0
  54. /data/spec/dummy/db/migrate/{20161124184342_add_is_shared_to_boards.unsakini_engine.rb → 20161124210225_add_is_shared_to_boards.unsakini_engine.rb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9e311411b1d327c53b11377bb4a7785bb532cb34
4
- data.tar.gz: 5f9b10bc0a7897d62e95c2ad5b7e63d26de10bf9
3
+ metadata.gz: b53bced106697ebe8834c8573714b7b0ea7d6c2d
4
+ data.tar.gz: d9ebe948b92ebe4ece1e7054ab109772ae31a4ff
5
5
  SHA512:
6
- metadata.gz: 9d29b4053b9931a5ff0f1b982c953764ce0729fc53f02bcc37282196c25278389f63af1aa78b6e987ae2b3ce69b53f89ddea06e2320dab273340b47e5e3ac42b
7
- data.tar.gz: 8e7146d7ddc0d454733f3836d13729585b8a47a8b805a70bf576abac0ee6943a408ec12a66f4f30836223521b861f073ac3dc3e18225537a5fddfa6a1570a064
6
+ metadata.gz: 26691d05e48ff877e3818f12db3eb26857c38bccde6397742d329959ab32f9cf7b045ced4c40d8e6c0c1cb6be00b7b8458fbef67f225f72d82959927d5bb2f8b
7
+ data.tar.gz: 6b432cbd33e79cbcb97c2b6d6e33842fe479970d8f4cb00e7c94e3f3b3768c9ba365c634c6f16a0d9eac9d7b3f83efdbe1e9e30a8846f4622124e7c631650a48
data/README.md CHANGED
@@ -1,10 +1,9 @@
1
- [![Build Status](https://travis-ci.org/adonespitogo/unsakini.svg?branch=master)](https://travis-ci.org/adonespitogo/unsakini)
1
+ [![Build Status](https://travis-ci.org/unsakini/unsakini-engine.svg?branch=master)](https://travis-ci.org/unsakini/unsakini-engine)
2
2
 
3
3
  UNSAKINI
4
4
  -----------
5
5
  *Created by and for online activists, information security enthusiasts and government surveillance evaders.*
6
6
 
7
-
8
7
  **[Unsakini](https://www.unsakini.com)** is an open source encrypted bulletin board created with the aim of evading global information surveillance and spying, preventing data leaks and promoting information confidentiality and integrity.
9
8
 
10
9
  Perfect for:
data/angular/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2016 unsakini
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/angular/README.md ADDED
@@ -0,0 +1 @@
1
+ ### Angular Client for Unsakini
@@ -0,0 +1,59 @@
1
+ {
2
+ "project": {
3
+ "version": "1.0.0-beta.20-4",
4
+ "name": "angular"
5
+ },
6
+ "apps": [
7
+ {
8
+ "root": "src",
9
+ "outDir": "dist",
10
+ "assets": [
11
+ "assets",
12
+ "favicon.ico"
13
+ ],
14
+ "index": "index.html",
15
+ "main": "main.ts",
16
+ "test": "test.ts",
17
+ "tsconfig": "tsconfig.json",
18
+ "prefix": "app",
19
+ "mobile": false,
20
+ "styles": [
21
+ "styles.css"
22
+ ],
23
+ "scripts": [],
24
+ "environments": {
25
+ "source": "environments/environment.ts",
26
+ "dev": "environments/environment.ts",
27
+ "prod": "environments/environment.prod.ts"
28
+ }
29
+ }
30
+ ],
31
+ "addons": [],
32
+ "packages": [],
33
+ "e2e": {
34
+ "protractor": {
35
+ "config": "./protractor.conf.js"
36
+ }
37
+ },
38
+ "test": {
39
+ "karma": {
40
+ "config": "./karma.conf.js"
41
+ }
42
+ },
43
+ "defaults": {
44
+ "styleExt": "css",
45
+ "prefixInterfaces": false,
46
+ "inline": {
47
+ "style": false,
48
+ "template": false
49
+ },
50
+ "spec": {
51
+ "class": false,
52
+ "component": true,
53
+ "directive": true,
54
+ "module": false,
55
+ "pipe": true,
56
+ "service": true
57
+ }
58
+ }
59
+ }
Binary file
@@ -0,0 +1,14 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Angular</title>
6
+ <base href="/app/">
7
+
8
+ <meta name="viewport" content="width=device-width, initial-scale=1">
9
+ <link rel="icon" type="image/x-icon" href="favicon.ico">
10
+ </head>
11
+ <body>
12
+ <app-root>Loading...</app-root>
13
+ <script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="styles.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script></body>
14
+ </html>
@@ -0,0 +1,139 @@
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // install a JSONP callback for chunk loading
3
+ /******/ var parentJsonpFunction = window["webpackJsonp"];
4
+ /******/ window["webpackJsonp"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {
5
+ /******/ // add "moreModules" to the modules object,
6
+ /******/ // then flag all "chunkIds" as loaded and fire callback
7
+ /******/ var moduleId, chunkId, i = 0, resolves = [], result;
8
+ /******/ for(;i < chunkIds.length; i++) {
9
+ /******/ chunkId = chunkIds[i];
10
+ /******/ if(installedChunks[chunkId])
11
+ /******/ resolves.push(installedChunks[chunkId][0]);
12
+ /******/ installedChunks[chunkId] = 0;
13
+ /******/ }
14
+ /******/ for(moduleId in moreModules) {
15
+ /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
16
+ /******/ modules[moduleId] = moreModules[moduleId];
17
+ /******/ }
18
+ /******/ }
19
+ /******/ if(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);
20
+ /******/ while(resolves.length)
21
+ /******/ resolves.shift()();
22
+ /******/ if(executeModules) {
23
+ /******/ for(i=0; i < executeModules.length; i++) {
24
+ /******/ result = __webpack_require__(__webpack_require__.s = executeModules[i]);
25
+ /******/ }
26
+ /******/ }
27
+ /******/ return result;
28
+ /******/ };
29
+ /******/
30
+ /******/ // The module cache
31
+ /******/ var installedModules = {};
32
+ /******/
33
+ /******/ // objects to store loaded and loading chunks
34
+ /******/ var installedChunks = {
35
+ /******/ 2: 0
36
+ /******/ };
37
+ /******/
38
+ /******/ // The require function
39
+ /******/ function __webpack_require__(moduleId) {
40
+ /******/
41
+ /******/ // Check if module is in cache
42
+ /******/ if(installedModules[moduleId])
43
+ /******/ return installedModules[moduleId].exports;
44
+ /******/
45
+ /******/ // Create a new module (and put it into the cache)
46
+ /******/ var module = installedModules[moduleId] = {
47
+ /******/ i: moduleId,
48
+ /******/ l: false,
49
+ /******/ exports: {}
50
+ /******/ };
51
+ /******/
52
+ /******/ // Execute the module function
53
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
54
+ /******/
55
+ /******/ // Flag the module as loaded
56
+ /******/ module.l = true;
57
+ /******/
58
+ /******/ // Return the exports of the module
59
+ /******/ return module.exports;
60
+ /******/ }
61
+ /******/
62
+ /******/ // This file contains only the entry chunk.
63
+ /******/ // The chunk loading function for additional chunks
64
+ /******/ __webpack_require__.e = function requireEnsure(chunkId) {
65
+ /******/ if(installedChunks[chunkId] === 0)
66
+ /******/ return Promise.resolve();
67
+ /******/
68
+ /******/ // an Promise means "currently loading".
69
+ /******/ if(installedChunks[chunkId]) {
70
+ /******/ return installedChunks[chunkId][2];
71
+ /******/ }
72
+ /******/ // start chunk loading
73
+ /******/ var head = document.getElementsByTagName('head')[0];
74
+ /******/ var script = document.createElement('script');
75
+ /******/ script.type = 'text/javascript';
76
+ /******/ script.charset = 'utf-8';
77
+ /******/ script.async = true;
78
+ /******/ script.timeout = 120000;
79
+ /******/
80
+ /******/ script.src = __webpack_require__.p + "" + chunkId + ".chunk.js";
81
+ /******/ var timeout = setTimeout(onScriptComplete, 120000);
82
+ /******/ script.onerror = script.onload = onScriptComplete;
83
+ /******/ function onScriptComplete() {
84
+ /******/ // avoid mem leaks in IE.
85
+ /******/ script.onerror = script.onload = null;
86
+ /******/ clearTimeout(timeout);
87
+ /******/ var chunk = installedChunks[chunkId];
88
+ /******/ if(chunk !== 0) {
89
+ /******/ if(chunk) chunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));
90
+ /******/ installedChunks[chunkId] = undefined;
91
+ /******/ }
92
+ /******/ };
93
+ /******/ head.appendChild(script);
94
+ /******/
95
+ /******/ var promise = new Promise(function(resolve, reject) {
96
+ /******/ installedChunks[chunkId] = [resolve, reject];
97
+ /******/ });
98
+ /******/ return installedChunks[chunkId][2] = promise;
99
+ /******/ };
100
+ /******/
101
+ /******/ // expose the modules object (__webpack_modules__)
102
+ /******/ __webpack_require__.m = modules;
103
+ /******/
104
+ /******/ // expose the module cache
105
+ /******/ __webpack_require__.c = installedModules;
106
+ /******/
107
+ /******/ // identity function for calling harmory imports with the correct context
108
+ /******/ __webpack_require__.i = function(value) { return value; };
109
+ /******/
110
+ /******/ // define getter function for harmory exports
111
+ /******/ __webpack_require__.d = function(exports, name, getter) {
112
+ /******/ Object.defineProperty(exports, name, {
113
+ /******/ configurable: false,
114
+ /******/ enumerable: true,
115
+ /******/ get: getter
116
+ /******/ });
117
+ /******/ };
118
+ /******/
119
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
120
+ /******/ __webpack_require__.n = function(module) {
121
+ /******/ var getter = module && module.__esModule ?
122
+ /******/ function getDefault() { return module['default']; } :
123
+ /******/ function getModuleExports() { return module; };
124
+ /******/ __webpack_require__.d(getter, 'a', getter);
125
+ /******/ return getter;
126
+ /******/ };
127
+ /******/
128
+ /******/ // Object.prototype.hasOwnProperty.call
129
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
130
+ /******/
131
+ /******/ // __webpack_public_path__
132
+ /******/ __webpack_require__.p = "";
133
+ /******/
134
+ /******/ // on error function for async loading
135
+ /******/ __webpack_require__.oe = function(err) { console.error(err); throw err; };
136
+ /******/ })
137
+ /************************************************************************/
138
+ /******/ ([]);
139
+ //# sourceMappingURL=inline.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap 78af5771ffff9598a5f5"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAY,2BAA2B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA,kDAA0C,oBAAoB,WAAW","file":"inline.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length)\n \t\t\tresolves.shift()();\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn Promise.resolve();\n\n \t\t// an Promise means \"currently loading\".\n \t\tif(installedChunks[chunkId]) {\n \t\t\treturn installedChunks[chunkId][2];\n \t\t}\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = 'text/javascript';\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tscript.src = __webpack_require__.p + \"\" + chunkId + \".chunk.js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) chunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\treturn installedChunks[chunkId][2] = promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmory imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmory exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tObject.defineProperty(exports, name, {\n \t\t\tconfigurable: false,\n \t\t\tenumerable: true,\n \t\t\tget: getter\n \t\t});\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 78af5771ffff9598a5f5"],"sourceRoot":""}