The Open Source kanban (built with Meteor). Keep variable/table/field names camelCase. For translations, only add Pull Request changes to wekan/i18n/en.i18n.json , other translations are done at https://transifex.com/wekan/wekan only.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
wekan/models/counters.js

18 lines
620 B

import { Mongo } from 'meteor/mongo';
const Counters = new Mongo.Collection('counters');
async function incrementCounterAsync(counterName, amount = 1) {
const result = await Counters.rawCollection().findOneAndUpdate(
{ _id: counterName },
{ $inc: { next_val: amount } },
{ upsert: true, returnDocument: 'after' },
);
return result.value ? result.value.next_val : result.next_val;
}
// Alias for backward compatibility — all callers should use the async version
const incrementCounter = incrementCounterAsync;
export { Counters, incrementCounter, incrementCounterAsync };
export default Counters;