Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 0 additions & 24 deletions api/controllers/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,14 @@ const { fetchModelById } = require('../utils/queryDatabase');
const buildSerializer = require('../serializers/build');
const SourceCodePlatformHelper = require('../services/SourceCodePlatformHelper');
const siteAuthorizer = require('../authorizers/site');
const SocketIOSubscriber = require('../services/SocketIOSubscriber');
const EventCreator = require('../services/EventCreator');
const { wrapHandlers } = require('../utils');
const { Build, Domain, Event, Site, User, SiteBranchConfig } = require('../models');
const { getSocket } = require('../socketIO');
const siteErrors = require('../responses/siteErrors');
const { BuildService } = require('../services/build');

const decodeb64 = (str) => Buffer.from(str, 'base64').toString('utf8');

const emitBuildStatus = async (build) => {
try {
const site = await Site.findByPk(build.site);
const msg = {
id: build.id,
state: build.state,
site: build.site,
branch: build.branch,
owner: site.owner,
repository: site.repository,
};
const siteRoom = SocketIOSubscriber.getSiteRoom(build.site);
getSocket().to(siteRoom).emit('build status', msg);
const builderRoom = SocketIOSubscriber.getBuilderRoom(build.site, build.user);
getSocket().to(builderRoom).emit('build status', msg);
} catch (err) {
EventCreator.error(Event.labels.SOCKET_IO, err, { buildId: build.id });
}
};

module.exports = wrapHandlers({
async find(req, res) {
const site = await fetchModelById(req.params.site_id, Site);
Expand Down Expand Up @@ -167,8 +145,6 @@ module.exports = wrapHandlers({

await build.updateJobStatus(buildStatus);

emitBuildStatus(build);

// The `requestedCommitSha` will not be present for initial builds
// and there is no need to report status to Github
if (build.requestedCommitSha) {
Expand Down
40 changes: 0 additions & 40 deletions api/controllers/user.js
Original file line number Diff line number Diff line change
@@ -1,52 +1,12 @@
const Ajv = require('ajv');
const userSerializer = require('../serializers/user');
const { revokeApplicationGrant } = require('../services/GitHub');
const { revokeUserGitLabTokens } = require('../services/GitLabHelper');

const ajv = new Ajv();

const updateSettingsBodySchema = {
type: 'object',
properties: {
buildNotificationSettings: {
type: 'object',
patternProperties: {
'^\\d+$': {
enum: ['none', 'builds', 'site'],
},
},
},
},
required: ['buildNotificationSettings'],
additionalProperties: false,
};

const validateUpdateSettingsBody = ajv.compile(updateSettingsBodySchema);

module.exports = {
me(req, res) {
res.json(userSerializer.toJSON(req.user));
},

async updateSettings(req, res) {
const { body, user } = req;

if (!validateUpdateSettingsBody(body)) {
const message = validateUpdateSettingsBody.errors.map((e) => e.message).join('\n');
return res.badRequest({
message,
});
}

const { buildNotificationSettings } = body;

await user.update({
buildNotificationSettings,
});

return res.json(userSerializer.serialize(user));
},

async revokeApplicationGrant(req, res) {
const { user } = req;
await revokeApplicationGrant(user);
Expand Down
1 change: 0 additions & 1 deletion api/models/event.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ module.exports = (sequelize, DataTypes) => {
BUILD_STATUS: 'build-status',
BUILD_TASK: 'build-task',
ADMIN: 'admin',
SOCKET_IO: 'socket.io',
SITE_USER: 'site-user',
REQUEST_HANDLER: 'request-handler',
USER_ACTION: 'user-action',
Expand Down
12 changes: 0 additions & 12 deletions api/models/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -211,18 +211,6 @@ const attributes = (DataTypes) => ({
type: DataTypes.JSONB,
defaultValue: {},
},
buildNotificationSettings: {
type: DataTypes.VIRTUAL,
get() {
return this.settings.buildNotificationSettings || {};
},
set(buildNotificationSettings) {
this.setDataValue('settings', {
...this.settings,
buildNotificationSettings,
});
},
},
});

const options = {
Expand Down
3 changes: 1 addition & 2 deletions api/routers/user.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
const router = require('express').Router();

const UserController = require('../controllers/user');
const { csrfProtection, sessionAuth } = require('../middlewares');
const { sessionAuth } = require('../middlewares');
const Features = require('../features');

router.get('/me', sessionAuth, UserController.me);
router.put('/me/settings', sessionAuth, csrfProtection, UserController.updateSettings);
router.delete('/me/githubtoken', sessionAuth, UserController.revokeApplicationGrant);
if (Features.enabled(Features.Flags.FEATURE_WORKSHOP_INTEGRATION)) {
router.delete('/me/gitlabtoken', sessionAuth, UserController.revokeUserGitLabTokens);
Expand Down
1 change: 0 additions & 1 deletion api/serializers/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ const attributes = {
id: '',
email: '',
username: '',
buildNotificationSettings: '',
hasGithubAuth: (_, user) => !!user.githubAccessToken,
hasGitlabAuth: (_, user) => !!user.gitlabToken && !!user.gitlabRefreshToken,
UAAIdentity: (uaaIdentity, _, isSystemAdmin) =>
Expand Down
31 changes: 0 additions & 31 deletions api/services/SocketIOSubscriber.js

This file was deleted.

70 changes: 0 additions & 70 deletions api/socketIO.js

This file was deleted.

11 changes: 0 additions & 11 deletions ci/partials/audit-admin.yml

This file was deleted.

11 changes: 7 additions & 4 deletions ci/partials/audit.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
platform: linux
inputs: [name: src]
outputs: [name: src]
params:
AUDIT_DIR: .
AUDIT_MAX_CRITICAL: 0
AUDIT_MAX_HIGH: 0
run:
dir: src
path: bash
args:
[
-c,
"npm audit --omit=dev --audit-level=$VULN_THRESHOLD",
]
- -c
- |
node ./ci/tasks/check-audit.js
10 changes: 7 additions & 3 deletions ci/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -422,12 +422,16 @@ jobs:
file: src/ci/partials/audit.yml
image: node24
params:
VULN_THRESHOLD: high #! errors on critical or high - https://docs.npmjs.com/cli/v10/using-npm/config?utm_source=chatgpt.com#audit-level
AUDIT_DIR: .
AUDIT_MAX_CRITICAL: 0
AUDIT_MAX_HIGH: 5
- task: audit-admin
file: src/ci/partials/audit-admin.yml
file: src/ci/partials/audit.yml
image: node24
params:
VULN_THRESHOLD: high #! errors on critical or high
AUDIT_DIR: admin-client
AUDIT_MAX_CRITICAL: 0
AUDIT_MAX_HIGH: 5
on_failure:
in_parallel:
- #@ slack_hook("failure", "dependency audit")
Expand Down
Loading
Loading