New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

kontist

Package Overview
Dependencies
Maintainers
6
Versions
208
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kontist - npm Package Compare versions

Comparing version 0.48.4 to 0.49.0

5

CHANGELOG.md

@@ -8,2 +8,7 @@ # Changelog

## [Unreleased]
## [0.49.0] - 2023-01-31
## Added
- Updated types in schema
- Added `getPinKey` and `changePINEncrypted` methods to `Card` module
## [0.48.0] - 2022-09-16

@@ -10,0 +15,0 @@ ## Added

16

dist/lib/graphql/card.d.ts

@@ -1,2 +0,2 @@

import { Card as CardModel, CardSettings, MutationActivateCardArgs, MutationChangeCardPinArgs, MutationChangeCardStatusArgs, MutationConfirmChangeCardPinArgs, MutationCreateCardArgs, MutationReorderCardArgs, MutationReplaceCardArgs, MutationUpdateCardSettingsArgs, GooglePayCardToken, MutationAddGooglePayCardTokenArgs, MutationDeleteGooglePayCardTokenArgs, WhitelistCardResponse, ConfirmFraudResponse } from "./schema";
import { Card as CardModel, CardSettings, MutationActivateCardArgs, MutationChangeCardPinArgs, MutationChangeCardStatusArgs, MutationConfirmChangeCardPinArgs, MutationCreateCardArgs, MutationReorderCardArgs, MutationReplaceCardArgs, MutationUpdateCardSettingsArgs, GooglePayCardToken, MutationAddGooglePayCardTokenArgs, MutationDeleteGooglePayCardTokenArgs, WhitelistCardResponse, ConfirmFraudResponse, CardPinKey, MutationChangeCardPinEncryptedArgs } from "./schema";
import { Model } from "./model";

@@ -46,2 +46,16 @@ import { ResultPage } from "./resultPage";

/**
* Returns PIN key of a card to use during encrypted PIN change
*
* @param args query parameters including card id and / or type
* @returns PIN key of the card
*/
getPinKey(args: GetCardOptions): Promise<CardPinKey | null>;
/**
* Encrypted change PIN number for a given card
*
* @param args query parameters including card id and encrypted PIN number
* @returns updated card details
*/
changePINEncrypted(args: MutationChangeCardPinEncryptedArgs): Promise<CardModel>;
/**
* Initiates a change of PIN number for a given card

@@ -48,0 +62,0 @@ *

@@ -62,2 +62,4 @@ "use strict";

var GET_CARD_LIMITS = "\n query getCardLimits (\n $id: String,\n $type: CardType\n ) {\n viewer {\n mainAccount {\n card(\n filter: {\n id: $id,\n type: $type\n }\n ) {\n settings {\n cardPresentLimits {\n ".concat(CARD_LIMITS_FIELDS, "\n }\n cardNotPresentLimits {\n ").concat(CARD_LIMITS_FIELDS, "\n }\n }\n }\n }\n }\n }\n");
var GET_CARD_PIN_KEY = "\n query getCardPinKey (\n $id: String,\n $type: CardType\n ) {\n viewer {\n mainAccount {\n card(\n filter: {\n id: $id,\n type: $type\n }\n ) {\n pinKey {\n kid\n kty\n use\n alg\n n\n e\n }\n }\n }\n }\n }\n";
var CHANGE_CARD_PIN_ENCRYPTED = "mutation changeCardPINEncrypted(\n $id: String!\n $payload: ChangeCardPINEncryptedInput!\n) {\n changeCardPINEncrypted(\n id: $id\n payload: $payload\n ) {\n ".concat(CARD_FIELDS, "\n }\n}");
var CREATE_CARD = "mutation createCard(\n $type: CardType!,\n $cardHolderRepresentation: String\n) {\n createCard(\n type: $type,\n cardHolderRepresentation: $cardHolderRepresentation\n ) {\n ".concat(CARD_FIELDS, "\n }\n}");

@@ -184,2 +186,41 @@ var ACTIVATE_CARD = "mutation activateCard(\n $id: String!\n $verificationToken: String!\n) {\n activateCard(\n id: $id\n verificationToken: $verificationToken\n ) {\n ".concat(CARD_FIELDS, "\n }\n}");

/**
* Returns PIN key of a card to use during encrypted PIN change
*
* @param args query parameters including card id and / or type
* @returns PIN key of the card
*/
Card.prototype.getPinKey = function (args) {
var _a, _b, _c, _d;
return __awaiter(this, void 0, void 0, function () {
var result;
return __generator(this, function (_e) {
switch (_e.label) {
case 0: return [4 /*yield*/, this.client.rawQuery(GET_CARD_PIN_KEY, args)];
case 1:
result = _e.sent();
return [2 /*return*/, (_d = (_c = (_b = (_a = result.viewer) === null || _a === void 0 ? void 0 : _a.mainAccount) === null || _b === void 0 ? void 0 : _b.card) === null || _c === void 0 ? void 0 : _c.pinKey) !== null && _d !== void 0 ? _d : null];
}
});
});
};
/**
* Encrypted change PIN number for a given card
*
* @param args query parameters including card id and encrypted PIN number
* @returns updated card details
*/
Card.prototype.changePINEncrypted = function (args) {
return __awaiter(this, void 0, void 0, function () {
var result;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.client.rawQuery(CHANGE_CARD_PIN_ENCRYPTED, args)];
case 1:
result = _a.sent();
return [2 /*return*/, result.changeCardPINEncrypted];
}
});
});
};
/**
* Initiates a change of PIN number for a given card

@@ -310,3 +351,3 @@ *

case 0: return [4 /*yield*/, this.client.rawQuery(exports.SET_CARD_HOLDER_REPRESENTATION, {
cardHolderRepresentation: cardHolderRepresentation
cardHolderRepresentation: cardHolderRepresentation,
})];

@@ -313,0 +354,0 @@ case 1:

1

dist/lib/graphql/schema.js

@@ -209,3 +209,2 @@ "use strict";

(function (IntegrationType) {
IntegrationType["Debitoor"] = "DEBITOOR";
IntegrationType["Fastbill"] = "FASTBILL";

@@ -212,0 +211,0 @@ IntegrationType["Lexoffice"] = "LEXOFFICE";

{
"name": "kontist",
"version": "0.48.4",
"version": "0.49.0",
"description": "Kontist client SDK",

@@ -5,0 +5,0 @@ "main": "dist/lib/index.js",

@@ -25,3 +25,3 @@ import { expect } from "chai";

googlePayTokens: [],
addedToApplePay: true
addedToApplePay: true,
};

@@ -52,2 +52,11 @@

const cardPinKeyData = {
kid: "0dce6f4d-b5d0-4c7b-a7d8-cfe231a1f385",
kty: "RSA",
use: "enc",
alg: "RS256",
n: "ielfymjYSKEeeai7pFBhJrr0aR-B5_T0snVgQSm8K-SsFv3MFofkeWxWT3PCBId8kovdI-gfKabCyhuQDaYbXP1opyEkB9-gyG4zqmWoW9ddmWo-wxaW08KiruNl09IjWJR0w93tM0i8Pn2qpCSM3h0CdgfO9-VjLn1BpYFKjuJ1apZQ3TG1YYIfGSymghUl0JWLu0s5J2BrvEz91E0K4aF-VY4oSnlrTilq3FrCOgF8IopUvqJWIsz-hKagNAP1K4AXoSVX7Kc4MxUcZEIlkeMKj05YF3zoFhOzfQCa5kcYdPFNlEOpuZwuMidYw8LNBFdvV4VeKYUXZrvaW-SKUQ",
e: "AQAB",
};
describe("Card", () => {

@@ -198,2 +207,73 @@ let sandbox: sinon.SinonSandbox;

describe("#getPinKey", () => {
it("should call rawQuery and return PIN key", async () => {
// arrange
const card = new Card(client.graphQL);
const spyOnRawQuery = sandbox.stub(client.graphQL, "rawQuery").resolves({
viewer: {
mainAccount: {
card: {
pinKey: cardPinKeyData,
},
},
},
} as any);
// act
const result = await card.getPinKey({
id: cardData.id,
type: CardType.VisaBusinessDebit,
});
// assert
sinon.assert.calledOnce(spyOnRawQuery);
expect(result).to.deep.eq(cardPinKeyData);
});
it("should call rawQuery and return null for missing account", async () => {
// arrange
const card = new Card(client.graphQL);
const spyOnRawQuery = sandbox.stub(client.graphQL, "rawQuery").resolves({
viewer: {},
} as any);
// act
const result = await card.getPinKey({
id: cardData.id,
type: CardType.MastercardBusinessDebit,
});
// assert
sinon.assert.calledOnce(spyOnRawQuery);
expect(result).to.eq(null);
});
});
describe("#changePINEncrypted", () => {
it("should call rawQuery and return card details", async () => {
// arrange
const card = new Card(client.graphQL);
const spyOnRawQuery = sandbox.stub(client.graphQL, "rawQuery").resolves({
changeCardPINEncrypted: cardData,
} as any);
// act
const result = await card.changePINEncrypted({
id: cardData.id,
payload: {
encryptedPin:
"Web;7d2cf82ae5774e5293e4c020d2381217dcon;jVl14emA+OcyALb9F+CMFg==;NU7aFh0jdzM15wj8hQtqbA5LbzEFWDI1bUwZf/zbau0P2MIEUE+LsifBKvxjCYNUyz647bpSjnQ6Tu8IK22sxFlTGEFaHKBigzmP8Nc8FvVSWKzslmSWTFJM5AYc+EGTZLprlcdrLldsZLS5PpHfPMmvtqCXVTnGhYV7GvutI1w5/67yK7pCQDxDicKjqlMg1naMiwCuqP1U1lUtf+lTdmJ1T1lXMPARffTn4XAr66vUxN++sy7qytkdcOeCsaxZnLspUEvqu+2ILHF8pOJFG7gYC11rqWOyHG3Ns1E1dZ57ybrgGTKfctFOdx2IMXnz1/i/pDC5QokRr2BTIZZ/9Tj+xXzWpzNwHtRWWK5VEufyVRPyMXQdmry7UYKrouAzlLCYSMv7GcPwOZz+gDjCkrNia7/DGBBFLOvtlufDztPpvkH2jmN32/oJHl1Qu6zpxG3Lyl8RNdyukuNYfiPw0ECoXsXObwQc7Ja8R+V5S7QZeV1VV9aavlH1+Xl9v0OlOJ1XujO7izWESMIfzAuaL6ACYhdkmkC3kicjOWUjaY3OJYrrXxQ+MScnJOQ9neMRWij7YqNxP8F259zVjqqyaL6hN8EZU/pi+cZUVkfFvMYT5ugE9JXjkFfyy4UQeSmNRjDXRzu40LyweqUns8u3GOIFzfZ9eVOv+q7OV+RpVLOJLz1Za8RPIh3UKltCzOTmO8OpDz2aGoqNdL4zAaLl4EKRoarEiSG9K2/GoyHchi6xdHYA6DqQg5xQM4s50RUySGwWLxBB3ZlMpZpdZAVBrLSyl1SWqYTosdyURtiiX0So+kdik5XJ5Vsh0v75rNP5Yrv3t5/u94wx51zKlpDH8Uiap7kP0eibRmmN196kxMcOf8Q50JM1Yt8cJiawTWdGHzGRcNtEkpon5VLp/kwDU+4IPwlW976hKsom0PTB/EVxo5CWuL6kPiaEWUrWOL7BZ2jkuebHT2jBAJuFBaeac7IYnrAMoLgfY33Vs3EtVk8H12iDX3O9JmGsDGXP0/vBx0uFEgrTt6HjwabWGRHpPPPCorSrjfuySwKlnZtp1KkeNrOso8K8DBW6e+6j1YYaxTjBUZSLl1qgzd1dpz85vB/trWdyS3i+APHw/AsP/Y4cmu/CFZqpe1Sgye1+YNP3Hs3LpxJKM3prnAoaCmrHp5aUKo5KdicAnilBTzBAV2zGBWHrBwWLWHl+RDQpncyWD2/ZCswxtXbQAhlmVD7FvBXnT0Yyg5gaFo5GVBcURzBYtwbdl3+6sqKtR3XC22GBw0OOqZ9/QvMHmCO/K89rEjfLEaVX4eKhrdzjxOwOxmE5lXrLqfscV90Yo9Uj1awvpF5TL5vW85asT2iVHYjZ1JsQ5oLp3VUfIAqTNmpcjRk763hMsTUIrn3VfpLkGajZbtxD2FuNNMoRZQBfiOAxPUDFmspxWagNSbmUZ8FqPX/6asQIJIyvAk4cvzgV9OjzdkoEcFP2OGjFnddZtLmBh9BZDWtS3VOL98lp+cH/JAn8pDab2l6zIwHRccePbuBcGZZgU39FOVpI+sbHZJ6QEhiUA8SdT7SLcTf4P1tBbdN5+dpjaWfTph1cgZyW8EsAIFc81vR6tBqSSpxmS164ADWZW+PYz4b4SRVklT3Cs2tJ/TTMM240pnkNJUd3G/0PbBGVPea5+XUs1bF5cT0fiHWA032Dm87biMEU89fdPkvnSlIsN/MbLT2kj2tPZqhOrqTxCg26jimd+2kNdZ2fwvT8JQfO0hVidnPDPLXH5aA6T6+bKqfpvJE6USAif8fPQ0rW4+315LKH5wG8Qj0omO2Ynii0IE6cR0lAGrtoLsXMf3kDqFms+Z2h79pYQrnhUSntZ3tjt3pwgejJ8ZKXdN7kYWT8UiQnLnkfLJnh1e8a4UURe7GU9UwnqqFXeHrstb8XXxiIX7syFG5iLdN9IExi5BefYnAikCTU+ssMWnnhppX6jFV43u+KEaa1/7AqibMc3Kt+kUxHlQsAo2TCg+u/39rsgNs5eWym7YptvBCN6L4Q4QRoKNFo8CJerS4dTxksD2zeGL4BLIsvMbcm6rlHrKCR5PeWRiFpK8QwwaOyiTGL5NN2Xl6F0M4vf5gnWikZTrppv7bLUYZhrU1uGiv968ZGEq+A7w2oLvbZS7l+DZuN4rPF5SzPWq94jC1NiYjaPrGyTQIISRiBLXil5puqCobYHAIeVQzHBgki3/N+Pwk4iCrxf3pqnUSNmtrmvphmo9Vp3xAaPSFsUYfIyOPiO5gcNUoGQ1kHZ3Yoksqh6U1hRCzlkMSbX6kzDYUNEgc47t2AKxLM5IpYCWAv+uefNAAb/4+f7Qh4sMqtXHc5lGK3GN8ABTIVeFphtJg36Y6xg8OTrBR5ItS/tdy6zyfTLfZFocRbfjsLfoiCeHJO0sEZIWgHsu80FVZmo4G84N6zNZkdjnFDZkgRYP9OSqMbPCXyb5Xj1H6g67rNjtY67B3613uGJ0pHCQpl0Lmz2apUMq9EVRz5tZT+RA8sCRcK4mkBEWzdC7ngI5+dfX2dEqu157rsc0yU4OWNElLWC3F1TXOsB2/n1+LBHpjKLIMok2afui1H9+eof1zLAba4hrnYEFI4WjvEAvcsyPI/eONNdxk7liVNNaD7j6vvwYKOxTZoriKwvGxeNApC+Z8xQ8HpnEaRIUqb2Eh1SfpyDta8J1dXnRF1HTq2pOvfitomb701g0diB7+StEpCxiRLCx3TEJcroqBiCE3szXdc9VSVyfklkHmbJE33CY8tGm1YEvaXAY7a5yWLHWHzqQvNuZkQ1DNbJAkP9dt1t8Fv3njG2lXFmAOJkZwpvm9qEHZTmuUmflIMhu9nMsgZd5VMjalTmHqZdy7zmnAz8LhYiUDMbPDNOd4UTehvTanDEBBYTJB6CYv6QnBYwuAPsZwRnZdHbpl6lIXStmgsxV3DLtKAUy8eoqCdDOMyep9L4ArSWEJstEBNkZ5zgk7bOspvF1V8HrhFzJCiwR7WC+GHJTHLH1S8FfmHFTXJHecvq6tpMncaJFbo4jSfm9ozBAVAAN2mCn/yBbmX9tPmXdGEsTSpdp6vVWKEdHZ1rjCqmgDENxh75H5uT9DeZ0mAKwkP5Ai+bN3hT0y1XGE44b/aJ7PEObogYAioej/Z690zKx+fHxP50juTgt+UIQ+l/mpcYnbcYe4lkXrqGpwxFU8OrRzzfJX/s90VVlzrQVAPNW/mvYkt+MqSVwI1EP62faXlXnDqbmVFUmMGeoquP58cwqSBaNL/oi2Rg7GVvdvus+i2Qpm1SHtnPVUhTwWFigiWw/T2ZZeUs4nk+Q/xOFa/",
keyId: "0dce6f4d-b5d0-4c7b-a7d8-cfe231a1f385",
deviceId: "d3768ef3-b26b-4746-9ee0-94f527184830",
signature:
"3045022100ef4f8ede9999e1338a2af0ecd5c183c306fc1d134302895aa813bd0434b0a5d90220567e1c5d16d6be0f3a8553fcfdd765e8fefb169532fbf6932d96075358b46328",
},
});
// assert
sinon.assert.calledOnce(spyOnRawQuery);
expect(result).to.eq(cardData);
});
});
describe("#create", () => {

@@ -342,7 +422,7 @@ it("should call rawQuery and return newly created card details", async () => {

...cardData,
status: CardStatus.Processing
status: CardStatus.Processing,
};
const card = new Card(client.graphQL);
const spyOnRawQuery = sandbox.stub(client.graphQL, "rawQuery").resolves({
replaceCard: newCardData
replaceCard: newCardData,
} as any);

@@ -352,3 +432,3 @@

const result = await card.replace({
id: cardData.id
id: cardData.id,
});

@@ -367,7 +447,7 @@

...cardData,
status: CardStatus.Processing
status: CardStatus.Processing,
};
const card = new Card(client.graphQL);
const spyOnRawQuery = sandbox.stub(client.graphQL, "rawQuery").resolves({
reorderCard: newCardData
reorderCard: newCardData,
} as any);

@@ -377,3 +457,3 @@

const result = await card.reorder({
id: cardData.id
id: cardData.id,
});

@@ -393,11 +473,15 @@

const spyOnRawQuery = sandbox.stub(client.graphQL, "rawQuery").resolves({
setCardHolderRepresentation: cardHolderRepresentation
setCardHolderRepresentation: cardHolderRepresentation,
} as any);
// act
const result = await card.setCardHolderRepresentation(cardHolderRepresentation);
const result = await card.setCardHolderRepresentation(
cardHolderRepresentation
);
// assert
sinon.assert.calledOnce(spyOnRawQuery);
expect(spyOnRawQuery.getCall(0).args[1]).to.eql({ cardHolderRepresentation });
expect(spyOnRawQuery.getCall(0).args[1]).to.eql({
cardHolderRepresentation,
});
expect(result).to.eq(cardHolderRepresentation);

@@ -404,0 +488,0 @@ });

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc