@riocrypto/common-server 1.0.2836 → 1.0.2838
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/clients/cluster-client.d.ts +6 -0
- package/build/clients/cluster-client.js +20 -0
- package/build/index.d.ts +1 -0
- package/build/index.js +1 -0
- package/build/models/onboarding-review-slack-thread.d.ts +20 -0
- package/build/models/onboarding-review-slack-thread.js +51 -0
- package/package.json +2 -2
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
1
3
|
import { Quote, Fiat, Crypto, BitsoBankAccount, Side, Country, Order, CryptoAddress, BankAccount, AuthRole, Auth, ImportOrderData, TreasuryProvider, FXProvider, EmarketsFXTrade, ExternalTradingAlgorithm, ExternalTrade, ExternalTradeType, ExternalTradingProvider, ExternalTradingAlgorithmType, STPMXNWithdrawal, AuthPermission, DeferredPaymentType, TwoWaySettlementType, OrderType, EmarketsSettlementType, EmarketsOrderType, BulkBankPayout, BulkCryptoPayout, BulkBankPayment, BulkCryptoPayment, OrderStatus, TWAPSession, TransnetworkFXTrade, TransnetworkSettlementType, TransnetworkOrderType, AuthMethod, StonexFXTrade, CancelExternalTradeReason } from "@riocrypto/common";
|
|
2
4
|
import { STPMXNWithdrawalDoc } from "../models/STP-mxn-withdrawal";
|
|
3
5
|
declare class ClusterClient {
|
|
@@ -300,6 +302,10 @@ declare class ClusterClient {
|
|
|
300
302
|
sendStonexCommand(command: string): Promise<{
|
|
301
303
|
message: string;
|
|
302
304
|
}>;
|
|
305
|
+
getComplianceSessionPdf(sessionId: string): Promise<{
|
|
306
|
+
data: Buffer;
|
|
307
|
+
filename: string;
|
|
308
|
+
}>;
|
|
303
309
|
}
|
|
304
310
|
export declare const buildClusterClient: () => Promise<ClusterClient>;
|
|
305
311
|
export {};
|
|
@@ -943,6 +943,26 @@ class ClusterClient {
|
|
|
943
943
|
return response.data;
|
|
944
944
|
});
|
|
945
945
|
}
|
|
946
|
+
getComplianceSessionPdf(sessionId) {
|
|
947
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
948
|
+
const response = yield this.axios.get(`${this.baseUrl}/api/compliance/sessions/${sessionId}/report.pdf`, {
|
|
949
|
+
headers: { "x-cluster-api-key": this.clusterApiKey },
|
|
950
|
+
responseType: "arraybuffer",
|
|
951
|
+
});
|
|
952
|
+
// Derive a filename from the Content-Disposition header when present so
|
|
953
|
+
// the report keeps its server-side name; fall back to a session-scoped
|
|
954
|
+
// default otherwise.
|
|
955
|
+
let filename = `compliance-session-${sessionId}.pdf`;
|
|
956
|
+
const disposition = response.headers["content-disposition"];
|
|
957
|
+
if (disposition) {
|
|
958
|
+
const match = disposition.match(/filename="?([^";]+)"?/);
|
|
959
|
+
if (match && match[1]) {
|
|
960
|
+
filename = match[1];
|
|
961
|
+
}
|
|
962
|
+
}
|
|
963
|
+
return { data: Buffer.from(response.data), filename };
|
|
964
|
+
});
|
|
965
|
+
}
|
|
946
966
|
}
|
|
947
967
|
const buildClusterClient = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
948
968
|
// Retrieve secrets asynchronously
|
package/build/index.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ export * from "./models/liquidity-reservation";
|
|
|
100
100
|
export * from "./models/axe-slack-thread";
|
|
101
101
|
export * from "./models/axe-telegram-thread";
|
|
102
102
|
export * from "./models/auth-activity-slack-thread";
|
|
103
|
+
export * from "./models/onboarding-review-slack-thread";
|
|
103
104
|
export * from "./models/twap-slack-thread";
|
|
104
105
|
export * from "./models/twap-session";
|
|
105
106
|
export * from "./models/bulk-bank-payout";
|
package/build/index.js
CHANGED
|
@@ -116,6 +116,7 @@ __exportStar(require("./models/liquidity-reservation"), exports);
|
|
|
116
116
|
__exportStar(require("./models/axe-slack-thread"), exports);
|
|
117
117
|
__exportStar(require("./models/axe-telegram-thread"), exports);
|
|
118
118
|
__exportStar(require("./models/auth-activity-slack-thread"), exports);
|
|
119
|
+
__exportStar(require("./models/onboarding-review-slack-thread"), exports);
|
|
119
120
|
__exportStar(require("./models/twap-slack-thread"), exports);
|
|
120
121
|
__exportStar(require("./models/twap-session"), exports);
|
|
121
122
|
__exportStar(require("./models/bulk-bank-payout"), exports);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import mongoose, { HydratedDocument } from "mongoose";
|
|
2
|
+
interface OnboardingReviewSlackThreadAttrs {
|
|
3
|
+
createdAt: Date;
|
|
4
|
+
userId: string;
|
|
5
|
+
messageTs: string;
|
|
6
|
+
channel: string;
|
|
7
|
+
reportPosted?: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface OnboardingReviewSlackThreadDoc extends mongoose.Document {
|
|
10
|
+
createdAt: Date;
|
|
11
|
+
userId: string;
|
|
12
|
+
messageTs: string;
|
|
13
|
+
channel: string;
|
|
14
|
+
reportPosted: boolean;
|
|
15
|
+
}
|
|
16
|
+
interface OnboardingReviewSlackThreadModel extends mongoose.Model<OnboardingReviewSlackThreadDoc> {
|
|
17
|
+
build(attrs: OnboardingReviewSlackThreadAttrs): HydratedDocument<OnboardingReviewSlackThreadDoc>;
|
|
18
|
+
}
|
|
19
|
+
declare const buildOnboardingReviewSlackThread: (mongoose: typeof mongoose) => OnboardingReviewSlackThreadModel;
|
|
20
|
+
export { buildOnboardingReviewSlackThread, OnboardingReviewSlackThreadDoc, OnboardingReviewSlackThreadAttrs, };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildOnboardingReviewSlackThread = void 0;
|
|
4
|
+
const buildOnboardingReviewSlackThread = (mongoose) => {
|
|
5
|
+
// if model is already defined, return it
|
|
6
|
+
if (mongoose.models.OnboardingReviewSlackThread) {
|
|
7
|
+
return mongoose.model("OnboardingReviewSlackThread");
|
|
8
|
+
}
|
|
9
|
+
const OnboardingReviewSlackThreadSchema = new mongoose.Schema({
|
|
10
|
+
createdAt: {
|
|
11
|
+
type: mongoose.Schema.Types.Date,
|
|
12
|
+
required: true,
|
|
13
|
+
},
|
|
14
|
+
userId: {
|
|
15
|
+
type: String,
|
|
16
|
+
required: true,
|
|
17
|
+
},
|
|
18
|
+
messageTs: {
|
|
19
|
+
type: String,
|
|
20
|
+
required: true,
|
|
21
|
+
},
|
|
22
|
+
channel: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: true,
|
|
25
|
+
},
|
|
26
|
+
// Marks whether the compliance PDF report has already been posted into
|
|
27
|
+
// this thread. Used to keep the review-message send idempotent across
|
|
28
|
+
// the many UserUpdated events a user receives while in review, and to
|
|
29
|
+
// allow a fresh thread once a previous review cycle has been reported.
|
|
30
|
+
reportPosted: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
required: true,
|
|
33
|
+
default: false,
|
|
34
|
+
},
|
|
35
|
+
}, {
|
|
36
|
+
toJSON: {
|
|
37
|
+
transform(doc, ret) {
|
|
38
|
+
ret.id = ret._id;
|
|
39
|
+
delete ret._id;
|
|
40
|
+
delete ret.__v;
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
OnboardingReviewSlackThreadSchema.index({ userId: 1 }, { unique: true });
|
|
45
|
+
OnboardingReviewSlackThreadSchema.statics.build = (attrs) => {
|
|
46
|
+
return new OnboardingReviewSlackThread(attrs);
|
|
47
|
+
};
|
|
48
|
+
const OnboardingReviewSlackThread = mongoose.model("OnboardingReviewSlackThread", OnboardingReviewSlackThreadSchema);
|
|
49
|
+
return OnboardingReviewSlackThread;
|
|
50
|
+
};
|
|
51
|
+
exports.buildOnboardingReviewSlackThread = buildOnboardingReviewSlackThread;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@riocrypto/common-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2838",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "./build/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@google-cloud/secret-manager": "^5.6.0",
|
|
29
29
|
"@google-cloud/storage": "^7.19.0",
|
|
30
30
|
"@hyperdx/node-opentelemetry": "^0.10.3",
|
|
31
|
-
"@riocrypto/common": "1.0.
|
|
31
|
+
"@riocrypto/common": "1.0.2638",
|
|
32
32
|
"@slack/web-api": "^7.15.0",
|
|
33
33
|
"@types/express": "^4.17.25",
|
|
34
34
|
"axios": "1.16.0",
|