mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-17 21:30:31 +00:00
feat: auto-increment sale invoice, receipt, estimate and payment receive.
feat: style sales and purchases forms.
This commit is contained in:
30
server/src/services/Settings/SettingsService.ts
Normal file
30
server/src/services/Settings/SettingsService.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { Service, Inject } from "typedi";
|
||||
import TenancyService from 'services/Tenancy/TenancyService';
|
||||
|
||||
@Service()
|
||||
export default class SettingsService {
|
||||
@Inject()
|
||||
tenancy: TenancyService;
|
||||
|
||||
@Inject('logger')
|
||||
logger: any;
|
||||
|
||||
/**
|
||||
* Increment next number based on the given find query.
|
||||
* @param {number} tenantId
|
||||
* @param {any} findQuery
|
||||
*/
|
||||
async incrementNextNumber(tenantId: number, findQuery: any): Promise<void> {
|
||||
const settings = this.tenancy.settings(tenantId);
|
||||
|
||||
this.logger.info('[settings] increment the next number.', { tenantId, findQuery });
|
||||
const currentNumber = settings.find(findQuery);
|
||||
|
||||
if (currentNumber) {
|
||||
const nextNumber = parseInt(currentNumber.value, 10) + 1;
|
||||
settings.set(findQuery, nextNumber);
|
||||
|
||||
await settings.save();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user