Skip to content

Commit 93642ae

Browse files
author
Håvard Ranum
authored
Merge pull request #94 from Turbasen/duplicate-to-dev
Regenerate keys
2 parents 5ac291b + dc8624f commit 93642ae

File tree

8 files changed

+63
-10
lines changed

8 files changed

+63
-10
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
node_modules
12
*.log
23
.env
34
coverage

Gruntfile.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
'use strict';
22

3-
module.exports = function(grunt) {
4-
3+
module.exports = (grunt) => {
54
// Project configuration.
65
grunt.initConfig({
76
pkg: grunt.file.readJSON('package.json'),
@@ -34,7 +33,7 @@ module.exports = function(grunt) {
3433
},
3534
files: {
3635
'static/css/app.css': 'static/less/app.less',
37-
}
36+
},
3837
},
3938
},
4039

apps/app/controller.js

+12-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const route = new Router();
66

77
const ApiUser = require('./model').ApiUser;
88
const filters = require('./filters');
9+
const keygen = require('../../lib/keygen');
910

1011
const APPS_FREE = process.env.APPS_FREE || 1;
1112

@@ -153,6 +154,14 @@ route.post('/:id', (req, res, next) => {
153154
req.app.set('url', req.body.url || undefined);
154155
req.app.set('desc', req.body.desc);
155156

157+
if (req.body.generate_key_dev) {
158+
req.app.set('key.dev', keygen());
159+
}
160+
161+
if (req.body.generate_key_prod) {
162+
req.app.set('key.prod', keygen());
163+
}
164+
156165
// Prod rate-limit change request
157166
if (parseInt(req.body.limit_prod, 10) !== req.app.limit.prod) {
158167
req.app.limit.prodRequest = parseInt(req.body.limit_prod, 10);
@@ -183,8 +192,8 @@ route.post('/:id', (req, res, next) => {
183192

184193
req.session.message = {
185194
class: 'positive',
186-
title: 'App ppdatert',
187-
message: `Applikasjon "${req.body.name}" ble oppdatert suksessfullt.`,
195+
title: 'App oppdatert',
196+
message: `Applikasjonen «${req.body.name}» ble oppdatert.`,
188197
app: req.app._id,
189198
};
190199

@@ -205,7 +214,7 @@ route.post('/:id/disable', (req, res, next) => {
205214
req.session.message = {
206215
class: 'positive',
207216
title: 'App deaktivert',
208-
message: `Applikasjon "${req.app.name}" ble deaktivert!`,
217+
message: `Applikasjonen «${req.app.name}» ble deaktivert!`,
209218
app: req.app._id,
210219
};
211220

apps/app/model.js

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
const Schema = require('../../lib/db').Schema;
44
const db = require('../../lib/db');
5+
56
const keygen = require('../../lib/keygen');
67
const appsort = require('../../lib/appsort');
78

docker-compose.yml

+11-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ services:
44
node:
55
image: node:argon
66
network_mode: 'bridge'
7+
logging:
8+
options:
9+
max-size: "500k"
710
working_dir: /usr/src/app
811
ports:
912
- "8080"
@@ -22,15 +25,21 @@ services:
2225
- NPM_CONFIG_LOGLEVEL=silent
2326
- NPM_CONFIG_PROGRESS=false
2427
- NPM_CONFIG_SPIN=false
25-
- VIRTUAL_HOST=developer.turbasen.privat
28+
- VIRTUAL_HOST=developer.nasjonalturbase.local
2629
- VIRTUAL_PORT=8080
2730
- APP_SECRET=not-a-secret
28-
- APP_ADMINS=Starefossen,kvikshaug
31+
- APP_ADMINS=Starefossen,kvikshaug,geekus
2932

3033
redis:
3134
image: redis:3
3235
network_mode: 'bridge'
36+
logging:
37+
options:
38+
max-size: "500k"
3339

3440
mongo:
3541
image: mongo:3.0
3642
network_mode: 'bridge'
43+
logging:
44+
options:
45+
max-size: "500k"

package.json

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"grunt": "grunt",
1919
"grunt:watch": "grunt watch",
2020
"lint": "eslint test/ lib/ apps/ index.js",
21+
"lint:watch": "esw --color --watch *.js test/ lib/ apps/ index.js",
2122
"nsp": "nsp check",
2223
"semantic-release": "semantic-release",
2324
"start": "supervisor -w index.js,apps,lib -e js index.js",
@@ -46,6 +47,7 @@
4647
"eslint": "^3.1.1",
4748
"eslint-config-airbnb-base": "^4.0.2",
4849
"eslint-plugin-import": "^1.11.0",
50+
"eslint-watch": "^2.1.14",
4951
"greenkeeper-postpublish": "^1.0.0",
5052
"grunt-contrib-watch": "^1.0.0",
5153
"istanbul": "^0.4.3",

static/js/app.js

+8
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,11 @@ clipboard.on('success', function(e) {
99
$('.button.copy').on('click', function(e) {
1010
e.preventDefault();
1111
});
12+
13+
$('input[name^="generate_key"]').on('change', function(e) {
14+
if (e.target.checked) {
15+
$(e.target).parent().nextAll('.message').addClass('visible');
16+
} else {
17+
$(e.target).parent().nextAll('.message').removeClass('visible');
18+
}
19+
});

views/app/index.html

+26-2
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ <h4 class="ui header">
5252
</div>
5353
<div class="fields">
5454
<div class="twelve wide field">
55-
<label>Prod Nøkkel</label>
55+
<label>Prod-nøkkel</label>
5656
<div class="ui action input">
5757
<input
5858
type="text"
@@ -75,9 +75,21 @@ <h4 class="ui header">
7575
value="{{ app.limit.prodRequest | d(app.limit.prod) }}">
7676
</div>
7777
</div>
78+
<div class="fields">
79+
<div class="sixteen wide field">
80+
<div class="ui checkbox">
81+
<input type="checkbox" name="generate_key_prod">
82+
<label>Generer ny API-nøkkel</label>
83+
</div>
84+
<div class="ui warning message generate_key_prod">
85+
<i class="icon warning"></i>
86+
Ny API-nøkkel vil genereres ved lagring, og vil erstatte den nåværende umiddelbart.
87+
</div>
88+
</div>
89+
</div>
7890
<div class="fields">
7991
<div class="twelve wide field">
80-
<label>Dev Nøkkel</label>
92+
<label>Dev-nøkkel</label>
8193
<div class="ui action input">
8294
<input
8395
type="text"
@@ -100,6 +112,18 @@ <h4 class="ui header">
100112
value="{{ app.limit.devRequest | d(app.limit.dev) }}">
101113
</div>
102114
</div>
115+
<div class="fields">
116+
<div class="sixteen wide field">
117+
<div class="ui checkbox">
118+
<input type="checkbox" name="generate_key_dev">
119+
<label>Generer ny API-nøkkel</label>
120+
</div>
121+
<div class="ui warning message generate_key_dev">
122+
<i class="icon warning"></i>
123+
Ny API-nøkkel vil genereres ved lagring, og vil erstatte den nåværende umiddelbart.
124+
</div>
125+
</div>
126+
</div>
103127
<button class="ui blue submit button" type="submit">
104128
Lagre
105129
</button>

0 commit comments

Comments
 (0)