fix: Correctly parse environment variables, little refactoring

This commit is contained in:
Maksim Eltyshev
2025-09-05 00:19:35 +02:00
parent eb259a1482
commit 203fbd152d
7 changed files with 21 additions and 25 deletions
+3 -4
View File
@@ -166,7 +166,6 @@ export default class extends BaseModel {
break; break;
} }
// TODO: refactor
case ActionTypes.LIST_UPDATE_HANDLE: { case ActionTypes.LIST_UPDATE_HANDLE: {
const listModel = List.withId(payload.list.id); const listModel = List.withId(payload.list.id);
@@ -185,8 +184,6 @@ export default class extends BaseModel {
isClosed = true; isClosed = true;
} }
listModel.update(prepareList(payload.list));
if (isClosed !== undefined) { if (isClosed !== undefined) {
listModel.cards.toModelArray().forEach((cardModel) => { listModel.cards.toModelArray().forEach((cardModel) => {
cardModel.update({ cardModel.update({
@@ -199,7 +196,9 @@ export default class extends BaseModel {
}); });
} }
} }
} else if (payload.list.boardId !== null) { }
if (payload.list.boardId !== null) {
List.upsert(prepareList(payload.list)); List.upsert(prepareList(payload.list));
} }
+3 -3
View File
@@ -25,12 +25,12 @@ export default function* listsWatchers() {
takeEvery(EntryActionTypes.LIST_MOVE, ({ payload: { id, index } }) => takeEvery(EntryActionTypes.LIST_MOVE, ({ payload: { id, index } }) =>
services.moveList(id, index), services.moveList(id, index),
), ),
takeEvery(EntryActionTypes.LIST_SORT, ({ payload: { id, data } }) =>
services.sortList(id, data),
),
takeEvery(EntryActionTypes.LIST_TRANSFER, ({ payload: { id, boardId, index } }) => takeEvery(EntryActionTypes.LIST_TRANSFER, ({ payload: { id, boardId, index } }) =>
services.transferList(id, boardId, index), services.transferList(id, boardId, index),
), ),
takeEvery(EntryActionTypes.LIST_SORT, ({ payload: { id, data } }) =>
services.sortList(id, data),
),
takeEvery(EntryActionTypes.LIST_CARDS_TO_ARCHIVE_LIST_MOVE, ({ payload: { id } }) => takeEvery(EntryActionTypes.LIST_CARDS_TO_ARCHIVE_LIST_MOVE, ({ payload: { id } }) =>
services.moveListCardsToArchiveList(id), services.moveListCardsToArchiveList(id),
), ),
@@ -7,7 +7,7 @@ module.exports = {
async fn() { async fn() {
const { storageLimit } = sails.config.custom; const { storageLimit } = sails.config.custom;
if (_.isNil(storageLimit)) { if (storageLimit === null) {
return null; return null;
} }
+2 -2
View File
@@ -25,7 +25,7 @@ module.exports = {
availableStorage = await sails.helpers.utils.getAvailableStorage(); availableStorage = await sails.helpers.utils.getAvailableStorage();
} }
let maxBytes = _.isNil(maxUploadFileSize) ? null : maxUploadFileSize; let maxBytes = maxUploadFileSize;
if (availableStorage !== null) { if (availableStorage !== null) {
if (maxBytes) { if (maxBytes) {
maxBytes = availableStorage < maxBytes ? availableStorage : maxBytes; maxBytes = availableStorage < maxBytes ? availableStorage : maxBytes;
@@ -40,7 +40,7 @@ module.exports = {
error && error &&
error.code === 'E_EXCEEDS_UPLOAD_LIMIT' && error.code === 'E_EXCEEDS_UPLOAD_LIMIT' &&
availableStorage !== null && availableStorage !== null &&
(_.isNil(maxUploadFileSize) || error.maxBytes < maxUploadFileSize) (maxUploadFileSize === null || error.maxBytes < maxUploadFileSize)
) { ) {
return callback(new Error('Storage limit reached'), files); return callback(new Error('Storage limit reached'), files);
} }
+7 -10
View File
@@ -76,19 +76,16 @@ const updateOne = async (criteria, values) => {
.set({ ...values }) .set({ ...values })
.usingConnection(db); .usingConnection(db);
let cards = [];
let tasks = []; let tasks = [];
if (list) { if (list) {
if (list.boardId !== prev.boardId) { if (list.boardId !== prev.boardId) {
await Card.update( await Card.update({
{
listId: list.id, listId: list.id,
}, })
{ .set({
boardId: list.boardId, boardId: list.boardId,
}, })
).usingConnection(db); .usingConnection(db);
} }
const prevTypeState = List.TYPE_STATE_BY_TYPE[prev.type]; const prevTypeState = List.TYPE_STATE_BY_TYPE[prev.type];
@@ -102,7 +99,7 @@ const updateOne = async (criteria, values) => {
const isClosed = transitions[`${prevTypeState}->${typeState}`]; const isClosed = transitions[`${prevTypeState}->${typeState}`];
if (!_.isUndefined(isClosed)) { if (!_.isUndefined(isClosed)) {
cards = await Card.update({ const cards = await Card.update({
listId: list.id, listId: list.id,
}) })
.set({ .set({
@@ -124,7 +121,7 @@ const updateOne = async (criteria, values) => {
} }
} }
return { list, cards, tasks }; return { list, tasks };
}); });
} }
@@ -24,7 +24,7 @@ const defaultFind = (criteria) => User.find(criteria).sort('id');
/* Query methods */ /* Query methods */
const createOne = (values) => { const createOne = (values) => {
if (!_.isNil(sails.config.custom.activeUsersLimit)) { if (sails.config.custom.activeUsersLimit !== null) {
return sails.getDatastore().transaction(async (db) => { return sails.getDatastore().transaction(async (db) => {
const queryResult = await sails const queryResult = await sails
.sendNativeQuery('SELECT NULL FROM user_account WHERE is_deactivated = $1 FOR UPDATE', [ .sendNativeQuery('SELECT NULL FROM user_account WHERE is_deactivated = $1 FOR UPDATE', [
@@ -80,7 +80,7 @@ const getOneActiveByEmailOrUsername = (emailOrUsername) => {
const updateOne = async (criteria, values) => { const updateOne = async (criteria, values) => {
const enforceActiveLimit = const enforceActiveLimit =
values.isDeactivated === false && !_.isNil(sails.config.custom.activeUsersLimit); values.isDeactivated === false && sails.config.custom.activeUsersLimit !== null;
if (!_.isUndefined(values.avatar) || enforceActiveLimit) { if (!_.isUndefined(values.avatar) || enforceActiveLimit) {
return sails.getDatastore().transaction(async (db) => { return sails.getDatastore().transaction(async (db) => {
+2 -2
View File
@@ -16,14 +16,14 @@ const version = require('../version');
const envToNumber = (value) => { const envToNumber = (value) => {
if (!value) { if (!value) {
return value; return null;
} }
const number = parseInt(value, 10); const number = parseInt(value, 10);
return Number.isNaN(number) ? null : number; return Number.isNaN(number) ? null : number;
}; };
const envToBytes = (value) => value && bytes(value); const envToBytes = (value) => bytes(value);
const envToArray = (value) => (value ? value.split(',') : []); const envToArray = (value) => (value ? value.split(',') : []);