add server to monorepo.

This commit is contained in:
a.bouhuolia
2023-02-03 11:57:50 +02:00
parent 28e309981b
commit 80b97b5fdc
1303 changed files with 137049 additions and 0 deletions

View File

@@ -0,0 +1,151 @@
import { Service, Inject } from 'typedi';
import { isUndefined } from 'lodash';
import HasTenancyService from '@/services/Tenancy/TenancyService';
import {
ITransactionMeta,
TransactionsLockingGroup,
TransactionsLockingType,
} from '@/interfaces';
import { parseDate } from 'utils';
@Service()
export default class TransactionsLockingRepository {
@Inject()
tenancy: HasTenancyService;
async saveTransactionsLocking(
tenantId: number,
lockingGroup: string = TransactionsLockingGroup.All,
transactionlocking
) {
const settings = this.tenancy.settings(tenantId);
const group = `transactions-locking`;
if (!isUndefined(transactionlocking.active)) {
settings.set({
group,
key: `${lockingGroup}.active`,
value: transactionlocking.active,
});
}
if (!isUndefined(transactionlocking.lockToDate)) {
settings.set({
group,
key: `${lockingGroup}.lock_to_date`,
value: parseDate(transactionlocking.lockToDate),
});
}
if (!isUndefined(transactionlocking.unlockFromDate)) {
settings.set({
group,
key: `${lockingGroup}.unlock_from_date`,
value: parseDate(transactionlocking.unlockFromDate),
});
}
if (!isUndefined(transactionlocking.unlockToDate)) {
settings.set({
group,
key: `${lockingGroup}.unlock_to_date`,
value: parseDate(transactionlocking.unlockToDate),
});
}
if (!isUndefined(transactionlocking.lockReason)) {
settings.set({
group,
key: `${lockingGroup}.lock_reason`,
value: transactionlocking.lockReason,
});
}
if (!isUndefined(transactionlocking.unlockReason)) {
settings.set({
group,
key: `${lockingGroup}.unlock_reason`,
value: transactionlocking.unlockReason,
});
}
if (!isUndefined(transactionlocking.partialUnlockReason)) {
settings.set({
group,
key: `${lockingGroup}.partial_unlock_reason`,
value: transactionlocking.partialUnlockReason,
});
}
await settings.save();
}
getTransactionsLocking(
tenantId: number,
lockingGroup: string = TransactionsLockingGroup.All
): ITransactionMeta {
const settings = this.tenancy.settings(tenantId);
const group = `transactions-locking`;
const isEnabled = settings.get({ group, key: `${lockingGroup}.active` });
const lockFromDate = settings.get({
group,
key: `${lockingGroup}.lock_from_date`,
});
const lockToDate = settings.get({
group,
key: `${lockingGroup}.lock_to_date`,
});
const unlockFromDate = settings.get({
group,
key: `${lockingGroup}.unlock_from_date`,
});
const unlockToDate = settings.get({
group,
key: `${lockingGroup}.unlock_to_date`,
});
const lockReason = settings.get({
group,
key: `${lockingGroup}.lock_reason`,
});
const unlockReason = settings.get({
group,
key: `${lockingGroup}.unlock_reason`,
});
const partialUnlockReason = settings.get({
group,
key: `${lockingGroup}.partial_unlock_reason`,
});
return {
isEnabled,
lockToDate: lockToDate || null,
unlockFromDate: unlockFromDate || null,
unlockToDate: unlockToDate || null,
isPartialUnlock: Boolean(unlockToDate && unlockFromDate),
lockReason: lockReason || '',
unlockReason: unlockReason || '',
partialUnlockReason: partialUnlockReason || '',
};
}
getTransactionsLockingType(tenantId: number) {
const settings = this.tenancy.settings(tenantId);
const lockingType = settings.get({
group: 'transactions-locking',
key: 'locking-type',
});
return lockingType || 'partial';
}
flagTransactionsLockingType(
tenantId: number,
transactionsType: TransactionsLockingType
) {
const settings = this.tenancy.settings(tenantId);
settings.set({
group: 'transactions-locking',
key: 'locking-type',
value: transactionsType,
});
}
}