Compare commits
6 Commits
b597a2f184
...
bca3682826
Author | SHA1 | Date |
---|---|---|
|
bca3682826 | |
|
a14119719c | |
|
ae75578b65 | |
|
93fa32df80 | |
|
f7d7fba267 | |
|
ebcc5515e5 |
53
.drone.yml
53
.drone.yml
|
@ -1,38 +1,35 @@
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: build
|
name: server
|
||||||
steps:
|
steps:
|
||||||
- name: build-dev
|
- name: build
|
||||||
image: plugins/docker
|
image: appleboy/drone-ssh
|
||||||
settings:
|
settings:
|
||||||
registry: registry.eigen.co.id
|
host:
|
||||||
repo: registry.eigen.co.id/eigen/${DRONE_REPO_NAME}
|
- 172.10.10.10
|
||||||
build_args:
|
username: eigen
|
||||||
- env_target=env.development
|
key:
|
||||||
tags: latest
|
from_secret: DEVOPS_SSH_PRIVATE_OPEN
|
||||||
custom_dns: 172.10.10.16
|
port: 22
|
||||||
|
script:
|
||||||
|
- cd /home/eigen/PROJECT/POS/POS.DEV/BE
|
||||||
|
- sh build.sh
|
||||||
|
- name: send-message
|
||||||
|
image: plugins/webhook
|
||||||
|
settings:
|
||||||
|
urls: https://mattermost.eigen.co.id/api/v4/posts
|
||||||
|
content_type: application/json
|
||||||
|
headers:
|
||||||
|
- Authorization=Bearer ca1se6wnojbw3kd48j14rpr1oo
|
||||||
|
template: |
|
||||||
|
{
|
||||||
|
"channel_id": "s1ekqde1c3du5p35g6budnuotc",
|
||||||
|
"message": "Build POS backend sudah selesai"
|
||||||
|
}
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/tags/devel_*
|
- refs/tags/devel_*
|
||||||
|
- refs/tags/*-alpha.*
|
||||||
event:
|
event:
|
||||||
exclude:
|
exclude:
|
||||||
- promote
|
- promote
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: deployment
|
|
||||||
steps:
|
|
||||||
- name: deployment
|
|
||||||
image: alpine
|
|
||||||
failure: ignore
|
|
||||||
commands:
|
|
||||||
- apk add --no-cache curl
|
|
||||||
- curl -X POST https://manager.sky.eigen.co.id/api/webhooks/806de7e2-1d3e-4889-b472-a59af0a5eb33
|
|
||||||
trigger:
|
|
||||||
ref:
|
|
||||||
- refs/tags/devel_*
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- promote
|
|
||||||
depends_on:
|
|
||||||
- build
|
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: build
|
||||||
|
steps:
|
||||||
|
- name: build-dev
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
registry: registry.eigen.co.id
|
||||||
|
repo: registry.eigen.co.id/eigen/${DRONE_REPO_NAME}
|
||||||
|
build_args:
|
||||||
|
- env_target=env.development
|
||||||
|
tags: latest
|
||||||
|
custom_dns: 172.10.10.16
|
||||||
|
trigger:
|
||||||
|
ref:
|
||||||
|
- refs/tags/devel_*
|
||||||
|
event:
|
||||||
|
exclude:
|
||||||
|
- promote
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: deployment
|
||||||
|
steps:
|
||||||
|
- name: deployment
|
||||||
|
image: alpine
|
||||||
|
failure: ignore
|
||||||
|
commands:
|
||||||
|
- apk add --no-cache curl
|
||||||
|
- curl -X POST https://manager.sky.eigen.co.id/api/webhooks/806de7e2-1d3e-4889-b472-a59af0a5eb33
|
||||||
|
trigger:
|
||||||
|
ref:
|
||||||
|
- refs/tags/devel_*
|
||||||
|
event:
|
||||||
|
exclude:
|
||||||
|
- promote
|
||||||
|
depends_on:
|
||||||
|
- build
|
|
@ -3,7 +3,7 @@ import { DatabaseListen } from '../../constants';
|
||||||
import { EventBus } from '@nestjs/cqrs';
|
import { EventBus } from '@nestjs/cqrs';
|
||||||
import { ChangeDocEvent } from '../../domain/events/change-doc.event';
|
import { ChangeDocEvent } from '../../domain/events/change-doc.event';
|
||||||
import { ConfigService } from '@nestjs/config';
|
import { ConfigService } from '@nestjs/config';
|
||||||
|
import { apm } from 'src/core/apm';
|
||||||
import * as Nano from 'nano';
|
import * as Nano from 'nano';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
@ -49,7 +49,10 @@ export class CouchService {
|
||||||
const nano = this.nanoInstance;
|
const nano = this.nanoInstance;
|
||||||
const db = nano.use(database);
|
const db = nano.use(database);
|
||||||
return await db.insert(data);
|
return await db.insert(data);
|
||||||
} catch (error) {}
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
apm.captureError(error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async deleteDoc(data, database) {
|
public async deleteDoc(data, database) {
|
||||||
|
@ -58,7 +61,10 @@ export class CouchService {
|
||||||
const db = nano.use(database);
|
const db = nano.use(database);
|
||||||
const result = await db.get(data.id);
|
const result = await db.get(data.id);
|
||||||
await db.destroy(data.id, result._rev);
|
await db.destroy(data.id, result._rev);
|
||||||
} catch (error) {}
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
apm.captureError(error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async updateDoc(data, database) {
|
public async updateDoc(data, database) {
|
||||||
|
@ -70,7 +76,10 @@ export class CouchService {
|
||||||
...data,
|
...data,
|
||||||
_rev: result._rev,
|
_rev: result._rev,
|
||||||
});
|
});
|
||||||
} catch (error) {}
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
apm.captureError(error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getDoc(id: string, database: string) {
|
public async getDoc(id: string, database: string) {
|
||||||
|
@ -80,6 +89,8 @@ export class CouchService {
|
||||||
const result = await db.get(id);
|
const result = await db.get(id);
|
||||||
return result;
|
return result;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
apm.captureError(error);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import { TransactionChangeStatusEvent } from '../../entities/event/transaction-c
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
import { TABLE_NAME } from 'src/core/strings/constants/table.constants';
|
import { TABLE_NAME } from 'src/core/strings/constants/table.constants';
|
||||||
import { generateInvoiceCodeHelper } from '../managers/helpers/generate-invoice-code.helper';
|
import { generateInvoiceCodeHelper } from '../managers/helpers/generate-invoice-code.helper';
|
||||||
|
import { apm } from 'src/core/apm';
|
||||||
|
|
||||||
@EventsHandler(MidtransCallbackEvent)
|
@EventsHandler(MidtransCallbackEvent)
|
||||||
export class MidtransCallbackHandler
|
export class MidtransCallbackHandler
|
||||||
|
@ -22,6 +23,11 @@ export class MidtransCallbackHandler
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
async handle(event: MidtransCallbackEvent) {
|
async handle(event: MidtransCallbackEvent) {
|
||||||
|
const apmTransactions = apm.startTransaction(
|
||||||
|
`callback-midtrans`,
|
||||||
|
'handler',
|
||||||
|
);
|
||||||
|
|
||||||
const data_id = event.data.id;
|
const data_id = event.data.id;
|
||||||
const data = event.data.data;
|
const data = event.data.data;
|
||||||
let old_data = undefined;
|
let old_data = undefined;
|
||||||
|
@ -33,6 +39,8 @@ export class MidtransCallbackHandler
|
||||||
});
|
});
|
||||||
old_data = _.cloneDeep(transaction);
|
old_data = _.cloneDeep(transaction);
|
||||||
|
|
||||||
|
apmTransactions.setLabel('status', data.transaction_status);
|
||||||
|
|
||||||
if (['capture', 'settlement'].includes(data.transaction_status)) {
|
if (['capture', 'settlement'].includes(data.transaction_status)) {
|
||||||
Object.assign(transaction, {
|
Object.assign(transaction, {
|
||||||
status: STATUS.SETTLED,
|
status: STATUS.SETTLED,
|
||||||
|
@ -69,5 +77,7 @@ export class MidtransCallbackHandler
|
||||||
op: OPERATION.UPDATE,
|
op: OPERATION.UPDATE,
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
apmTransactions.end();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue