Compare commits

..

No commits in common. "production" and "1.4.3-production.3" have entirely different histories.

10 changed files with 27 additions and 673 deletions

View File

@ -49,7 +49,6 @@
"exceljs": "^4.4.0",
"fs-extra": "^11.2.0",
"googleapis": "^140.0.0",
"gtts": "^0.2.1",
"handlebars": "^4.7.8",
"mathjs": "^13.0.2",
"midtrans-client": "^1.3.1",

View File

@ -73,14 +73,13 @@ export class LoginAdminQueueManager extends BaseCustomManager<UserEntity> {
message: `Akun anda sudah login di item "${hasLoginAsQueue?.item_name}"`,
error: 'Unauthorized',
});
} else if (itemLogin && itemLogin.user_id !== this.userLogin.id) {
throw new UnauthorizedException({
statusCode: HttpStatus.UNAUTHORIZED,
message: `"${userLoginItem.name}" masih login sebagai admin antrian `,
error: 'Unauthorized',
});
}
// else if (itemLogin && itemLogin.user_id !== this.userLogin.id) {
// throw new UnauthorizedException({
// statusCode: HttpStatus.UNAUTHORIZED,
// message: `"${userLoginItem.name}" masih login sebagai admin antrian `,
// error: 'Unauthorized',
// });
// }
// * Disini untuk isi token
const tokenData = {

View File

@ -19,7 +19,6 @@ export class CouchService {
}
async onModuleInit() {
// return;
const nano = this.nanoInstance;
for (const database of DatabaseListen) {
const db = nano.db.use(database);
@ -96,41 +95,4 @@ export class CouchService {
return null;
}
}
getUnixTimestampLast7Days() {
const date = new Date();
date.setDate(date.getDate() - 4);
date.setHours(0, 0, 0, 0);
return date.getTime();
}
public async clearTransactions() {
const nano = this.nanoInstance;
const transaction = nano.use('transaction');
const expiredDate = this.getUnixTimestampLast7Days();
const selectorPayment = {
created_at: {
$lt: expiredDate,
},
};
const transactions = await transaction.find({
selector: selectorPayment,
fields: ['_id', '_rev'],
limit: 100000,
});
const { docs } = transactions;
console.log(docs.length);
const deletedDocs = {
docs: docs.map((doc) => ({
_id: doc._id,
_rev: doc._rev,
_deleted: true,
})),
};
await transaction.bulk(deletedDocs);
}
}

View File

@ -5,17 +5,13 @@ import { Public } from 'src/core/guards';
import * as Nano from 'nano';
import { CreateUserPrivilegeDto } from 'src/modules/user-related/user-privilege/infrastructure/dto/create-user-privilege.dto';
import { ConfigService } from '@nestjs/config';
import { CouchService } from '../data/services/couch.service';
@ApiTags(`couch`)
@Controller('v1/couch')
@Public()
@Injectable()
export class CouchDataController {
constructor(
private configService: ConfigService,
private couchService: CouchService,
) {}
constructor(private configService: ConfigService) {}
get nanoInstance() {
const couchConfiguration = this.configService.get<string>('COUCHDB_CONFIG');
@ -68,11 +64,4 @@ export class CouchDataController {
// return people.get();
} catch (error) {}
}
@Public(true)
@Get('clear-transactions')
async clearTransactions(): Promise<string> {
await this.couchService.clearTransactions();
return 'OK';
}
}

View File

@ -1,10 +1,4 @@
import {
Controller,
Get,
Param,
Query,
UnauthorizedException,
} from '@nestjs/common';
import { Controller, Get, Param, Query } from '@nestjs/common';
import { FilterItemQueueDto } from './dto/filter-item-queue.dto';
import { Pagination } from 'src/core/response';
import { PaginationResponse } from 'src/core/response/domain/ok-response.interface';
@ -13,7 +7,6 @@ import { ItemQueueReadOrchestrator } from '../domain/usecases/item-queue-read.or
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards';
import { validate as isValidUUID } from 'uuid';
@ApiTags(`${MODULE_NAME.ITEM_QUEUE.split('-').join(' ')} - read`)
@Controller(`v1/${MODULE_NAME.ITEM_QUEUE}`)
@ -51,7 +44,6 @@ export class ItemQueueReadController {
@Get('display/:id')
@Public(true)
async detailPublic(@Param('id') id: string): Promise<ItemQueueEntity> {
if (!isValidUUID(id)) throw new UnauthorizedException('id is required');
return await this.orchestrator.detail(id);
}
}

View File

@ -87,10 +87,7 @@ export class QueueAdminOrchestrator {
// },
// ]);
if (
queueTicket.item.ticket.phone != null &&
queueTicket.last_notification < currentTime - call_preparation
) {
if (queueTicket.last_notification < currentTime - call_preparation) {
await notification.queueProcess(payload);
this.service.updateLastNotification(queueId, currentTime);
}

View File

@ -153,9 +153,6 @@ export class GenerateQueueManager {
registerQueueManager.setService(this.queueService, TABLE_NAME.QUEUE);
await registerQueueManager.execute();
const result = await registerQueueManager.getResult();
result.time = null;
return result;
return registerQueueManager.getResult();
}
}

View File

@ -1,4 +1,4 @@
import { Body, Controller, Get, Param, Post, Query, Res } from '@nestjs/common';
import { Body, Controller, Get, Param, Post } from '@nestjs/common';
import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
@ -15,9 +15,6 @@ import { mappingRevertTransaction } from 'src/modules/transaction/transaction/do
import { TransactionType } from 'src/modules/transaction/transaction/constants';
import { QueueModel } from '../../data/models/queue.model';
import * as Gtts from 'gtts';
import { Response } from 'express';
@ApiTags(`Queue`)
@Controller(`v1/${MODULE_NAME.QUEUE}`)
@Public(true)
@ -108,15 +105,6 @@ export class QueueController {
return await this.orchestrator.queueOrderItems(id);
}
@Get('speech')
async speech(
@Query('text') text: string,
@Res() response: Response,
): Promise<void> {
const gtts = new Gtts(text, 'id');
gtts.stream().pipe(response);
}
@Get(':id/items/:item_id')
async queueItemTickets(
@Param('id') id: string,

View File

@ -12,7 +12,6 @@ import {
} from './whatsapp.constant';
import axios from 'axios';
import { Logger } from '@nestjs/common';
import { apm } from 'src/core/apm';
export class WhatsappService {
async sendMessage(data) {
@ -26,14 +25,8 @@ export class WhatsappService {
data: data,
};
try {
const response = await axios(config);
return response.data;
} catch (error) {
Logger.error(error);
apm?.captureError(error);
return null;
}
}
async queueRegister(data: WhatsappQueue) {
@ -98,11 +91,8 @@ export class WhatsappService {
},
};
const response = await this.sendMessage(payload);
if (response)
Logger.log(
`Notification register for ${data.code} send to ${data.phone}`,
);
await this.sendMessage(payload);
Logger.log(`Notification register for ${data.code} send to ${data.phone}`);
}
async queueProcess(data: WhatsappQueue) {
@ -162,8 +152,7 @@ export class WhatsappService {
},
};
const response = await this.sendMessage(payload);
if (response)
await this.sendMessage(payload);
Logger.log(`Notification process for ${data.code} send to ${data.phone}`);
}
}

578
yarn.lock

File diff suppressed because it is too large Load Diff