xing-framework 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/default_configuration/base_app/backend/config/initializers/session_store.rb +1 -1
- data/default_configuration/base_app/backend/static-app.ru +1 -1
- data/default_configuration/base_app/frontend/npm-shrinkwrap.json +2042 -885
- data/default_configuration/base_app/frontend/package.json +1 -1
- data/default_configuration/base_app/frontend/src/app/auth/passwords/passwords-request.tpl.html +2 -2
- data/default_configuration/base_app/frontend/src/app/auth/passwords/passwords-update.tpl.html +3 -3
- data/default_configuration/base_app/frontend/src/app/auth/registrations/registrations.tpl.html +6 -6
- data/default_configuration/base_app/frontend/src/app/auth/sessions/sessions.tpl.html +4 -4
- data/default_configuration/base_app/frontend/src/app/inner.tpl.html +8 -8
- data/default_configuration/base_app/frontend/src/app/root.tpl.html +1 -1
- data/default_configuration/base_app/frontend/src/common/components/sessionLinks/session-links.tpl.html +3 -3
- data/default_configuration/base_app/frontend/src/common/components/sessionLinks/sessionLinks.js +1 -1
- data/default_configuration/base_app/frontend/src/common/components/signOut/signOut.js +1 -1
- data/default_configuration/base_app/frontend/src/common/config.js +2 -2
- data/default_configuration/base_app/frontend/src/index.html +1 -1
- data/default_configuration/base_app/frontend/src/styles/partials/_forms.sass +1 -1
- data/default_configuration/base_app/frontend/src/styles/partials/_navbar.sass +1 -1
- data/default_configuration/base_app/frontend/test/auth/passwords/passwordsControllers.js +2 -2
- data/default_configuration/base_app/frontend/test/auth/registrations/registrationsControllers.js +1 -1
- data/default_configuration/base_app/frontend/test/auth/sessions/sessionsControllers.js +1 -1
- data/default_configuration/base_app/static-app.ru +1 -1
- metadata +2 -47
- data/default_configuration/base_app/API_DOC/README +0 -23
- data/default_configuration/base_app/API_DOC/admin-menus +0 -167
- data/default_configuration/base_app/API_DOC/admin-pages +0 -173
- data/default_configuration/base_app/API_DOC/content-block +0 -10
- data/default_configuration/base_app/API_DOC/navigation +0 -54
- data/default_configuration/base_app/API_DOC/page +0 -38
- data/default_configuration/base_app/backend/README +0 -12
- data/default_configuration/base_app/backend/public/index.html +0 -0
- data/default_configuration/base_app/dummy-api/admin/menu_items/10.json +0 -15
- data/default_configuration/base_app/dummy-api/admin/menu_items/11.json +0 -15
- data/default_configuration/base_app/dummy-api/admin/menu_items/12.json +0 -15
- data/default_configuration/base_app/dummy-api/admin/menu_items/13.json +0 -15
- data/default_configuration/base_app/dummy-api/admin/menu_items/14.json +0 -15
- data/default_configuration/base_app/dummy-api/admin/menu_items/15.json +0 -15
- data/default_configuration/base_app/dummy-api/admin/menu_items/16.json +0 -15
- data/default_configuration/base_app/dummy-api/admin/menus.json +0 -23
- data/default_configuration/base_app/dummy-api/admin/menus/1.json +0 -118
- data/default_configuration/base_app/dummy-api/admin/menus/2.json +0 -8
- data/default_configuration/base_app/dummy-api/admin/pages.json +0 -105
- data/default_configuration/base_app/dummy-api/admin/pages/about_us.json +0 -45
- data/default_configuration/base_app/dummy-api/admin/pages/contact_us.json +0 -36
- data/default_configuration/base_app/dummy-api/admin/pages/gallery.json +0 -36
- data/default_configuration/base_app/dummy-api/admin/pages/home.json +0 -36
- data/default_configuration/base_app/dummy-api/admin/pages/homepage.json +0 -18
- data/default_configuration/base_app/dummy-api/admin/pages/links.json +0 -36
- data/default_configuration/base_app/dummy-api/admin/pages/newsletter.json +0 -54
- data/default_configuration/base_app/dummy-api/homepage.json +0 -14
- data/default_configuration/base_app/dummy-api/navigation/main.json +0 -119
- data/default_configuration/base_app/dummy-api/pages/about_us.json +0 -41
- data/default_configuration/base_app/dummy-api/pages/contact_us.json +0 -32
- data/default_configuration/base_app/dummy-api/pages/gallery.json +0 -32
- data/default_configuration/base_app/dummy-api/pages/home.json +0 -32
- data/default_configuration/base_app/dummy-api/pages/homepage.json +0 -14
- data/default_configuration/base_app/dummy-api/pages/links.json +0 -32
- data/default_configuration/base_app/dummy-api/pages/newsletter.json +0 -50
- data/default_configuration/base_app/frontend/CHANGELOG.md +0 -125
- data/default_configuration/base_app/frontend/LICENSE +0 -19
- data/default_configuration/base_app/frontend/README.md +0 -5
- data/default_configuration/base_app/frontend/bin/index.html +0 -0
- data/default_configuration/base_app/frontend/changelog.tpl +0 -23
- data/default_configuration/base_app/frontend/src/README.md +0 -48
- data/default_configuration/base_app/frontend/src/app/README.md +0 -68
- data/default_configuration/base_app/frontend/src/assets/README.md +0 -4
- data/default_configuration/base_app/frontend/src/common/README.md +0 -19
- data/default_configuration/base_app/frontend/tools.md +0 -223
data/default_configuration/base_app/frontend/src/app/auth/passwords/passwords-request.tpl.html
CHANGED
@@ -3,13 +3,13 @@
|
|
3
3
|
<p>Enter your email address below to receive a new confirmation email.</p>
|
4
4
|
|
5
5
|
<form id='passwords-request-form'>
|
6
|
-
<div class='
|
6
|
+
<div class='xng-form-row'>
|
7
7
|
<label for="email">Email:</label>
|
8
8
|
<input name="email" ng-model="passwordRequest.email" placeholder="Email" />
|
9
9
|
<span class='comment'></span>
|
10
10
|
</div>
|
11
11
|
|
12
|
-
<div class='
|
12
|
+
<div class='xng-form-row'>
|
13
13
|
<button type="submit" ng-click="passwordRequestSubmit()" class="call-to-action">Send password reset instructions</button>
|
14
14
|
</div>
|
15
15
|
|
data/default_configuration/base_app/frontend/src/app/auth/passwords/passwords-update.tpl.html
CHANGED
@@ -2,19 +2,19 @@
|
|
2
2
|
|
3
3
|
<form id='passwords-update-form'>
|
4
4
|
|
5
|
-
<div class='
|
5
|
+
<div class='xng-form-row'>
|
6
6
|
<label for="password">New Password:</label>
|
7
7
|
<input type="password" name="password" ng-model="passwordUpdate.password" placeholder="New Password" />
|
8
8
|
<span class='comment'></span>
|
9
9
|
</div>
|
10
10
|
|
11
|
-
<div class='
|
11
|
+
<div class='xng-form-row'>
|
12
12
|
<label for="password-confirmation">Confirm New Password:</label>
|
13
13
|
<input type="password" name="password-confirmation" ng-model="passwordUpdate.passwordConfirmation" placeholder="New Password" />
|
14
14
|
<span class='comment'></span>
|
15
15
|
</div>
|
16
16
|
|
17
|
-
<div class='
|
17
|
+
<div class='xng-form-row'>
|
18
18
|
<button type="submit" ng-click="passwordUpdateSubmit()" class='call-to-action'>Update Password</button>
|
19
19
|
</div>
|
20
20
|
|
data/default_configuration/base_app/frontend/src/app/auth/registrations/registrations.tpl.html
CHANGED
@@ -2,35 +2,35 @@
|
|
2
2
|
|
3
3
|
<form id='registrations-form'>
|
4
4
|
|
5
|
-
<div class='
|
5
|
+
<div class='xng-form-row'>
|
6
6
|
<label for="email">Email:</label>
|
7
7
|
<input name="email" ng-model="registration.email" placeholder="Email" />
|
8
8
|
<span class='comment'></span>
|
9
9
|
</div>
|
10
10
|
|
11
|
-
<div class='
|
11
|
+
<div class='xng-form-row'>
|
12
12
|
<label for="email-confirmation">Email Confirmation:</label>
|
13
13
|
<input name="email-confirmation" ng-model="registration.emailConfirmation" placeholder="Email Confirmation" />
|
14
14
|
<span class='comment'></span>
|
15
15
|
</div>
|
16
16
|
|
17
|
-
<div class='
|
17
|
+
<div class='xng-form-row'>
|
18
18
|
<label for="password">Password:</label>
|
19
19
|
<input type="password" name="password" ng-model="registration.password" placeholder="Password" />
|
20
20
|
<span class='comment'></span>
|
21
21
|
</div>
|
22
22
|
|
23
|
-
<div class='
|
23
|
+
<div class='xng-form-row'>
|
24
24
|
<label for="password-confirmation">Password Confirmation:</label>
|
25
25
|
<input type="password" name="password-confirmation" ng-model="registration.passwordConfirmation" placeholder="Password Confirmation" />
|
26
26
|
<span class='comment'></span>
|
27
27
|
</div>
|
28
28
|
|
29
|
-
<div class='
|
29
|
+
<div class='xng-form-row'>
|
30
30
|
<button type="submit" ng-click="registrationSubmit()" class='call-to-action'>Sign Up</button>
|
31
31
|
</div>
|
32
32
|
|
33
|
-
<div class='
|
33
|
+
<div class='xng-form-row'>
|
34
34
|
<a ui-sref='root.inner.sessions' class='input-like'>Already have an account?</a>
|
35
35
|
</div>
|
36
36
|
|
@@ -1,23 +1,23 @@
|
|
1
1
|
<h1>Sign In</h1>
|
2
2
|
|
3
3
|
<form id='sessions-form'>
|
4
|
-
<div class='
|
4
|
+
<div class='xng-form-row'>
|
5
5
|
<label for="{{authKey}}">{{humanAuthKey}}:</label>
|
6
6
|
<input name="{{authKey}}" ng-model="session[authKey]" placeholder="{{humanAuthKey}}" required />
|
7
7
|
<span class='messages'></span>
|
8
8
|
</div>
|
9
9
|
|
10
|
-
<div class='
|
10
|
+
<div class='xng-form-row'>
|
11
11
|
<label for="password">Password:</label>
|
12
12
|
<input type="password" name="password" ng-model="session.password" placeholder="Password" required />
|
13
13
|
<span class='messages'></span>
|
14
14
|
</div>
|
15
15
|
|
16
|
-
<div class='
|
16
|
+
<div class='xng-form-row'>
|
17
17
|
<button type="submit" ng-click="sessionSubmit()" class="call-to-action">Sign In</button>
|
18
18
|
</div>
|
19
19
|
|
20
|
-
<div class='
|
20
|
+
<div class='xng-form-row'>
|
21
21
|
<div ng-if="passwordShow" class='input-like'>
|
22
22
|
<a ui-sref='root.inner.passwordsRequest'>Forgot your password?</a>
|
23
23
|
</div>
|
@@ -1,16 +1,16 @@
|
|
1
|
-
<
|
2
|
-
<
|
3
|
-
</
|
4
|
-
<
|
5
|
-
</
|
6
|
-
</
|
1
|
+
<xng-responsive-menu>
|
2
|
+
<xng-navbar id="main_nav" menu="mainMenu">
|
3
|
+
</xng-navbar>
|
4
|
+
<xng-session-links>
|
5
|
+
</xng-session-links>
|
6
|
+
</xng-responsive-menu>
|
7
7
|
|
8
8
|
<div id="toast_main">
|
9
9
|
</div>
|
10
10
|
|
11
|
-
<ui-view
|
11
|
+
<ui-view xng-state-attrs></ui-view>
|
12
12
|
|
13
13
|
<footer>
|
14
|
-
<span id="copyright">©
|
14
|
+
<span id="copyright">© 2016 Your Organization Here</span>
|
15
15
|
<a ui-sref='root.inner.sessions' id='sign-in-link'>Sign In</a>
|
16
16
|
</footer>
|
@@ -1,2 +1,2 @@
|
|
1
|
-
<ui-view
|
1
|
+
<ui-view xng-state-attrs>
|
2
2
|
</ui-view>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<ul class="session-links">
|
2
|
-
<li ng-hide="
|
3
|
-
<li ng-hide="
|
4
|
-
<li ng-show="
|
2
|
+
<li ng-hide="xngSessionLinks.isLoggedIn"><a ui-sref='root.inner.registrations'>Sign Up</a></li>
|
3
|
+
<li ng-hide="xngSessionLinks.isLoggedIn"><a ui-sref='root.inner.sessions'>Sign In</a></li>
|
4
|
+
<li ng-show="xngSessionLinks.isLoggedIn"><a xng-sign-out>Sign Out</a></li>
|
5
5
|
</ul>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import {Module, DirectiveObject} from 'a1atscript';
|
2
2
|
|
3
3
|
@Module('signOutDirective', ['ng-token-auth', 'ui.router.state'])
|
4
|
-
@DirectiveObject('
|
4
|
+
@DirectiveObject('xngSignOut', ['$state', '$auth'])
|
5
5
|
export default class SignOut {
|
6
6
|
constructor($state, $auth) {
|
7
7
|
this.$state = $state;
|
@@ -8,7 +8,7 @@ export var backendUrl = (function(){
|
|
8
8
|
}
|
9
9
|
|
10
10
|
var matches = cookies.filter((cookie) => {
|
11
|
-
return /^
|
11
|
+
return /^xngBackendUrl=/.test(cookie);
|
12
12
|
});
|
13
13
|
|
14
14
|
if(matches.length > 0) {
|
@@ -17,7 +17,7 @@ export var backendUrl = (function(){
|
|
17
17
|
return environment.backendUrl;
|
18
18
|
}
|
19
19
|
}());
|
20
|
-
export var appName = "
|
20
|
+
export var appName = "XING-BASE";
|
21
21
|
export var configuration = { backendUrl, appName };
|
22
22
|
|
23
23
|
if(environment.name){
|
@@ -72,7 +72,7 @@ describe( 'Passwords controllers', function() {
|
|
72
72
|
$scope: $scope,
|
73
73
|
$state: $stateMock,
|
74
74
|
$auth: $authMock,
|
75
|
-
$
|
75
|
+
$xngToast: $toastMock,
|
76
76
|
$location: mockLocation,
|
77
77
|
Serializer: mockSerializer
|
78
78
|
});
|
@@ -134,7 +134,7 @@ describe( 'Passwords controllers', function() {
|
|
134
134
|
$scope: $scope,
|
135
135
|
$state: $stateMock,
|
136
136
|
$auth: $authMock,
|
137
|
-
$
|
137
|
+
$xngToast: $toastMock,
|
138
138
|
Serializer: mockSerializer,
|
139
139
|
$location: mockLocation
|
140
140
|
});
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xing-framework
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evan Dorn
|
@@ -51,12 +51,6 @@ extensions: []
|
|
51
51
|
extra_rdoc_files: []
|
52
52
|
files:
|
53
53
|
- bin/xing
|
54
|
-
- default_configuration/base_app/API_DOC/README
|
55
|
-
- default_configuration/base_app/API_DOC/admin-menus
|
56
|
-
- default_configuration/base_app/API_DOC/admin-pages
|
57
|
-
- default_configuration/base_app/API_DOC/content-block
|
58
|
-
- default_configuration/base_app/API_DOC/navigation
|
59
|
-
- default_configuration/base_app/API_DOC/page
|
60
54
|
- default_configuration/base_app/CHANGELOG.md
|
61
55
|
- default_configuration/base_app/Capfile
|
62
56
|
- default_configuration/base_app/Gemfile
|
@@ -65,7 +59,6 @@ files:
|
|
65
59
|
- default_configuration/base_app/Rakefile
|
66
60
|
- default_configuration/base_app/backend/Gemfile
|
67
61
|
- default_configuration/base_app/backend/Gemfile.lock
|
68
|
-
- default_configuration/base_app/backend/README
|
69
62
|
- default_configuration/base_app/backend/Rakefile
|
70
63
|
- default_configuration/base_app/backend/app/controllers/application_controller.rb
|
71
64
|
- default_configuration/base_app/backend/app/controllers/confirmations_controller.rb
|
@@ -114,7 +107,6 @@ files:
|
|
114
107
|
- default_configuration/base_app/backend/public/422.html
|
115
108
|
- default_configuration/base_app/backend/public/500.html
|
116
109
|
- default_configuration/base_app/backend/public/favicon.ico
|
117
|
-
- default_configuration/base_app/backend/public/index.html
|
118
110
|
- default_configuration/base_app/backend/public/robots.txt
|
119
111
|
- default_configuration/base_app/backend/script/rails
|
120
112
|
- default_configuration/base_app/backend/spec/factories/user_sessions_factory.rb
|
@@ -140,44 +132,12 @@ files:
|
|
140
132
|
- default_configuration/base_app/doc/01_fail_resources.txt
|
141
133
|
- default_configuration/base_app/doc/02_fail_auth.txt
|
142
134
|
- default_configuration/base_app/doc/03_fail_menus.txt
|
143
|
-
- default_configuration/base_app/dummy-api/admin/menu_items/10.json
|
144
|
-
- default_configuration/base_app/dummy-api/admin/menu_items/11.json
|
145
|
-
- default_configuration/base_app/dummy-api/admin/menu_items/12.json
|
146
|
-
- default_configuration/base_app/dummy-api/admin/menu_items/13.json
|
147
|
-
- default_configuration/base_app/dummy-api/admin/menu_items/14.json
|
148
|
-
- default_configuration/base_app/dummy-api/admin/menu_items/15.json
|
149
|
-
- default_configuration/base_app/dummy-api/admin/menu_items/16.json
|
150
|
-
- default_configuration/base_app/dummy-api/admin/menus.json
|
151
|
-
- default_configuration/base_app/dummy-api/admin/menus/1.json
|
152
|
-
- default_configuration/base_app/dummy-api/admin/menus/2.json
|
153
|
-
- default_configuration/base_app/dummy-api/admin/pages.json
|
154
|
-
- default_configuration/base_app/dummy-api/admin/pages/about_us.json
|
155
|
-
- default_configuration/base_app/dummy-api/admin/pages/contact_us.json
|
156
|
-
- default_configuration/base_app/dummy-api/admin/pages/gallery.json
|
157
|
-
- default_configuration/base_app/dummy-api/admin/pages/home.json
|
158
|
-
- default_configuration/base_app/dummy-api/admin/pages/homepage.json
|
159
|
-
- default_configuration/base_app/dummy-api/admin/pages/links.json
|
160
|
-
- default_configuration/base_app/dummy-api/admin/pages/newsletter.json
|
161
|
-
- default_configuration/base_app/dummy-api/homepage.json
|
162
|
-
- default_configuration/base_app/dummy-api/navigation/main.json
|
163
|
-
- default_configuration/base_app/dummy-api/pages/about_us.json
|
164
|
-
- default_configuration/base_app/dummy-api/pages/contact_us.json
|
165
|
-
- default_configuration/base_app/dummy-api/pages/gallery.json
|
166
|
-
- default_configuration/base_app/dummy-api/pages/home.json
|
167
|
-
- default_configuration/base_app/dummy-api/pages/homepage.json
|
168
|
-
- default_configuration/base_app/dummy-api/pages/links.json
|
169
|
-
- default_configuration/base_app/dummy-api/pages/newsletter.json
|
170
135
|
- default_configuration/base_app/dump.rdb
|
171
136
|
- default_configuration/base_app/example-lrd-dev-tmux.conf
|
172
|
-
- default_configuration/base_app/frontend/CHANGELOG.md
|
173
137
|
- default_configuration/base_app/frontend/Gemfile
|
174
138
|
- default_configuration/base_app/frontend/Gemfile.lock
|
175
139
|
- default_configuration/base_app/frontend/Gruntfile.js
|
176
|
-
- default_configuration/base_app/frontend/LICENSE
|
177
|
-
- default_configuration/base_app/frontend/README.md
|
178
|
-
- default_configuration/base_app/frontend/bin/index.html
|
179
140
|
- default_configuration/base_app/frontend/build.config.js
|
180
|
-
- default_configuration/base_app/frontend/changelog.tpl
|
181
141
|
- default_configuration/base_app/frontend/config/compass.rb
|
182
142
|
- default_configuration/base_app/frontend/config/environments/development.js
|
183
143
|
- default_configuration/base_app/frontend/config/environments/integration.js
|
@@ -190,8 +150,6 @@ files:
|
|
190
150
|
- default_configuration/base_app/frontend/npm-shrinkwrap.json
|
191
151
|
- default_configuration/base_app/frontend/package.json
|
192
152
|
- default_configuration/base_app/frontend/sprockets/index.tpl.js
|
193
|
-
- default_configuration/base_app/frontend/src/README.md
|
194
|
-
- default_configuration/base_app/frontend/src/app/README.md
|
195
153
|
- default_configuration/base_app/frontend/src/app/app.js
|
196
154
|
- default_configuration/base_app/frontend/src/app/appConfig.js
|
197
155
|
- default_configuration/base_app/frontend/src/app/auth/auth.js
|
@@ -225,9 +183,7 @@ files:
|
|
225
183
|
- default_configuration/base_app/frontend/src/app/root.tpl.html
|
226
184
|
- default_configuration/base_app/frontend/src/app/rootController.js
|
227
185
|
- default_configuration/base_app/frontend/src/app/rootStates.js
|
228
|
-
- default_configuration/base_app/frontend/src/assets/README.md
|
229
186
|
- default_configuration/base_app/frontend/src/assets/icons/alert.svg
|
230
|
-
- default_configuration/base_app/frontend/src/common/README.md
|
231
187
|
- default_configuration/base_app/frontend/src/common/components/OnLoginDirective/OnLoginDirective.js
|
232
188
|
- default_configuration/base_app/frontend/src/common/components/adminOnly/admin-only.tpl.html
|
233
189
|
- default_configuration/base_app/frontend/src/common/components/adminOnly/adminOnly.js
|
@@ -258,7 +214,6 @@ files:
|
|
258
214
|
- default_configuration/base_app/frontend/test/support/mockDirective.js
|
259
215
|
- default_configuration/base_app/frontend/test/support/stateResolveFn.js
|
260
216
|
- default_configuration/base_app/frontend/test/support/testStates.js
|
261
|
-
- default_configuration/base_app/frontend/tools.md
|
262
217
|
- default_configuration/base_app/lib/capistrano/tasks/sidekiq.rake
|
263
218
|
- default_configuration/base_app/static-app.ru
|
264
219
|
- default_configuration/base_app/tmux-windows
|
@@ -280,7 +235,7 @@ rdoc_options:
|
|
280
235
|
- "--main"
|
281
236
|
- doc/README
|
282
237
|
- "--title"
|
283
|
-
- xing-framework-0.0.
|
238
|
+
- xing-framework-0.0.3 Documentation
|
284
239
|
require_paths:
|
285
240
|
- lib/
|
286
241
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -1,23 +0,0 @@
|
|
1
|
-
|
2
|
-
All requests and responses are JSON. Client should send Accept:
|
3
|
-
"application/json" on all requests, and Content-Type: "application/json" on
|
4
|
-
requests with bodies (i.e. POST, PUT).
|
5
|
-
|
6
|
-
OPEN QUESTIONS:
|
7
|
-
PATCH? Only makes sense if the body somehow represents a change rather than a replacement.
|
8
|
-
All link relations? Or just self-links and use resource embed for
|
9
|
-
relationships?
|
10
|
-
|
11
|
-
Server responses should represent resources as a JSON object with two fields:
|
12
|
-
`links` and `data`. Both fields should contain an object. The links object
|
13
|
-
should have fields equivalent to HTML "rel" attributes. Importantly the self
|
14
|
-
link, but we should define link types internal to the application.
|
15
|
-
|
16
|
-
The data object is more free form. Some commonality of fields is worthwhile,
|
17
|
-
but whatever most sensibly represents the resource is the best choice.
|
18
|
-
|
19
|
-
Where a resource refers to another, include a subset of the other resource in
|
20
|
-
the data object.
|
21
|
-
|
22
|
-
Examples: #with ruby style comments
|
23
|
-
|
@@ -1,167 +0,0 @@
|
|
1
|
-
# list of menus
|
2
|
-
# This is the serialized output of Menu.list (class method)
|
3
|
-
#
|
4
|
-
# GET /admin/menus
|
5
|
-
{
|
6
|
-
links; {
|
7
|
-
self: "/admin/menus"
|
8
|
-
},
|
9
|
-
data: [
|
10
|
-
{ links: {
|
11
|
-
self: 'admin/menus/:id1'
|
12
|
-
},
|
13
|
-
data: {
|
14
|
-
name: 'Menu 1'
|
15
|
-
}
|
16
|
-
},
|
17
|
-
{ links: {
|
18
|
-
self: 'admin/menus/:id2'
|
19
|
-
},
|
20
|
-
data: {
|
21
|
-
name: 'Menu 2'
|
22
|
-
}
|
23
|
-
},
|
24
|
-
{ links: {
|
25
|
-
self: 'admin/menus/:id3'
|
26
|
-
},
|
27
|
-
data: {
|
28
|
-
name: 'Menu 3'
|
29
|
-
}
|
30
|
-
}
|
31
|
-
]
|
32
|
-
}
|
33
|
-
|
34
|
-
|
35
|
-
# GET /admin/menu/:id
|
36
|
-
#
|
37
|
-
# Just like /navigation/main but takes the ID of one of the menus returned
|
38
|
-
# in admin/menus, gives the full list *with* admin links for individual
|
39
|
-
# menu items
|
40
|
-
{
|
41
|
-
links: {
|
42
|
-
self: "/admin/menu/:id"
|
43
|
-
},
|
44
|
-
data: [
|
45
|
-
|
46
|
-
# a top-level menu item
|
47
|
-
{
|
48
|
-
links : {
|
49
|
-
self: 'admin/menu-item/:id'
|
50
|
-
}
|
51
|
-
data : {
|
52
|
-
name: "Services",
|
53
|
-
path: # IF type == 'raw url', this is included and contains the url
|
54
|
-
page: { links: { self: "pages/:url_slug", #IF type == 'page', this is the URL of the page resource
|
55
|
-
type: [ 'page' | 'raw_url' ]
|
56
|
-
children: [
|
57
|
-
|
58
|
-
# a sub-menu item under "Services", with a page link
|
59
|
-
{
|
60
|
-
links: {
|
61
|
-
self: 'admin/menu-item/:id'
|
62
|
-
},
|
63
|
-
data: {
|
64
|
-
type: 'page',
|
65
|
-
name: "Startup MVPs",
|
66
|
-
page: { links: { self: '/pages/startup-mvps' }} ,
|
67
|
-
# no children - key omitted
|
68
|
-
}
|
69
|
-
},
|
70
|
-
|
71
|
-
# a second sub-menu item under "Services", with a page link
|
72
|
-
{
|
73
|
-
links: {
|
74
|
-
self: 'admin/menu-item/:id'
|
75
|
-
},
|
76
|
-
data: {
|
77
|
-
type: 'page'
|
78
|
-
name: "Code Rescue",
|
79
|
-
page: { links: { self: '/pages/code-rescue' }} ,
|
80
|
-
# no children - key omitted
|
81
|
-
}
|
82
|
-
},
|
83
|
-
|
84
|
-
]
|
85
|
-
}
|
86
|
-
},
|
87
|
-
|
88
|
-
# a top-level menu item with an external link
|
89
|
-
{
|
90
|
-
links : {
|
91
|
-
self: 'admin/menu-item/:id'
|
92
|
-
}
|
93
|
-
data: {
|
94
|
-
type: 'raw_url',
|
95
|
-
name: "About Web Security",
|
96
|
-
path: 'https://www.owasp.org/index.php/Main_Page',
|
97
|
-
# no children - key omitted
|
98
|
-
}
|
99
|
-
}
|
100
|
-
]
|
101
|
-
}
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
# GET /admin/menu-items/:id
|
108
|
-
# For an item that liks to an external URL
|
109
|
-
{
|
110
|
-
links : {
|
111
|
-
self: 'admin/menu-items/:id'
|
112
|
-
}
|
113
|
-
data: {
|
114
|
-
type: 'raw_url',
|
115
|
-
name: 'Services',
|
116
|
-
path: 'https://www.owasp.org/index.php/Main_Page',
|
117
|
-
parent_id: <integer>
|
118
|
-
}
|
119
|
-
}
|
120
|
-
# GET /admin/menu-items/:id
|
121
|
-
# For an item that liks to a page
|
122
|
-
{
|
123
|
-
links : {
|
124
|
-
self: 'admin/menu-items/:id'
|
125
|
-
}
|
126
|
-
data: {
|
127
|
-
type: 'page',
|
128
|
-
name: 'Services',
|
129
|
-
page: { links: { self: '/pages/:url_slug' }},
|
130
|
-
page_id: <integer>,
|
131
|
-
parent_id: <integer>
|
132
|
-
}
|
133
|
-
}
|
134
|
-
|
135
|
-
#
|
136
|
-
# POST /admin/menu-items
|
137
|
-
#
|
138
|
-
|
139
|
-
{
|
140
|
-
# links omitted
|
141
|
-
|
142
|
-
data : {
|
143
|
-
name: "Services", # REQUIRED
|
144
|
-
path: '/services', # optional if links to page
|
145
|
-
page_url_slug: '/page_url_slug' # optional if links to external website
|
146
|
-
type: [ 'page' | 'raw_url' ] # REQUIRED
|
147
|
-
parent_id: <integer> # optional
|
148
|
-
}
|
149
|
-
}
|
150
|
-
|
151
|
-
#
|
152
|
-
# PUT /admin/menu-items/:id
|
153
|
-
#
|
154
|
-
|
155
|
-
{
|
156
|
-
# links omitted
|
157
|
-
|
158
|
-
data : {
|
159
|
-
name: "Services", # optional
|
160
|
-
path: '/services', # optional
|
161
|
-
page_url_slug: '/page_url_slug' # optional
|
162
|
-
type: [ 'page' | 'raw_url' ] # optional
|
163
|
-
parent_id: <integer> # optional
|
164
|
-
}
|
165
|
-
}
|
166
|
-
|
167
|
-
|