mirror of https://github.com/boxyhq/jackson.git
Make Setup Link Expiry Time Configurable (#2112)
* Make Setup Link Expiry Time Configurable * Update setup link expiry variable * Fixes * Add tests
This commit is contained in:
parent
7677fac377
commit
4a719ee911
|
@ -98,4 +98,7 @@ DSYNC_GOOGLE_CLIENT_SECRET=
|
|||
DSYNC_GOOGLE_REDIRECT_URI=
|
||||
|
||||
# Only applicable for BoxyHQ SaaS deployments
|
||||
BOXYHQ_HOSTED=0
|
||||
BOXYHQ_HOSTED=0
|
||||
|
||||
# Setup link expiry in days
|
||||
SETUP_LINK_EXPIRY_DAYS=3
|
|
@ -9,7 +9,12 @@ import { InputWithCopyButton } from '../ClipboardButton';
|
|||
import type { SetupLinkService, SetupLink } from '@boxyhq/saml-jackson';
|
||||
import type { ApiResponse } from 'types';
|
||||
|
||||
const CreateSetupLink = ({ service }: { service: SetupLinkService }) => {
|
||||
interface Props {
|
||||
service: SetupLinkService;
|
||||
expiryDays: number;
|
||||
}
|
||||
|
||||
const CreateSetupLink = ({ service, expiryDays }: Props) => {
|
||||
const router = useRouter();
|
||||
const { t } = useTranslation('common');
|
||||
const [loading, setLoading] = useState(false);
|
||||
|
@ -25,6 +30,7 @@ const CreateSetupLink = ({ service }: { service: SetupLinkService }) => {
|
|||
description: '',
|
||||
defaultRedirectUrl: '',
|
||||
redirectUrl: '',
|
||||
expiryDays,
|
||||
});
|
||||
|
||||
// Create a new setup link
|
||||
|
@ -206,8 +212,25 @@ const CreateSetupLink = ({ service }: { service: SetupLinkService }) => {
|
|||
</div>
|
||||
</>
|
||||
)}
|
||||
<div className=''>
|
||||
<label
|
||||
htmlFor='expiryDays'
|
||||
className='mb-2 block text-sm font-medium text-gray-900 dark:text-gray-300'>
|
||||
{t('expiry_in_days')}
|
||||
</label>
|
||||
<input
|
||||
id='expiryDays'
|
||||
name='expiryDays'
|
||||
type='number'
|
||||
placeholder='3'
|
||||
value={formObj['expiryDays']}
|
||||
onChange={handleChange}
|
||||
className='input-bordered input w-1/4'
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className='flex'>
|
||||
<div className='flex py-5'>
|
||||
<ButtonPrimary loading={loading} disabled={buttonDisabled}>
|
||||
{t('generate')}
|
||||
</ButtonPrimary>
|
||||
|
|
|
@ -29,6 +29,10 @@ const terminus = {
|
|||
adminToken: process.env.TERMINUS_ADMIN_ROOT_TOKEN,
|
||||
};
|
||||
|
||||
export const setupLinkExpiryDays = process.env.SETUP_LINK_EXPIRY_DAYS
|
||||
? Number(process.env.SETUP_LINK_EXPIRY_DAYS)
|
||||
: 3;
|
||||
|
||||
const db: DatabaseOption = {
|
||||
engine: process.env.DB_ENGINE ? <DatabaseEngine>process.env.DB_ENGINE : undefined,
|
||||
url: process.env.DB_URL || process.env.DATABASE_URL,
|
||||
|
@ -91,6 +95,7 @@ const jacksonOptions: JacksonOption = {
|
|||
},
|
||||
},
|
||||
},
|
||||
setupLinkExpiryDays,
|
||||
};
|
||||
|
||||
const adminPortalSSODefaults = {
|
||||
|
@ -108,7 +113,5 @@ export { jacksonOptions };
|
|||
|
||||
export const dsyncGoogleAuthURL = externalUrl + '/api/scim/oauth/authorize';
|
||||
|
||||
/**
|
||||
* Indicates if the Jackson instance is hosted (i.e. not self-hosted)
|
||||
*/
|
||||
/** Indicates if the Jackson instance is hosted (i.e. not self-hosted) */
|
||||
export const boxyhqHosted = process.env.BOXYHQ_HOSTED === '1';
|
||||
|
|
|
@ -263,5 +263,6 @@
|
|||
"choose_an_identity_provider_to_continue": "Choose an Identity Provider to continue. If you don't see your Identity Provider, please contact your administrator.",
|
||||
"choose_an_app_to_continue": "Choose an app to continue. If you don't see your app, please contact your administrator.",
|
||||
"no_saml_response_try_again": "No SAMLResponse found. Please try again.",
|
||||
"customize_branding": "You can customize the look and feel Identity Provider selection page by setting following options"
|
||||
"customize_branding": "You can customize the look and feel Identity Provider selection page by setting following options",
|
||||
"expiry_in_days": "Expiry in days"
|
||||
}
|
||||
|
|
|
@ -1120,7 +1120,7 @@
|
|||
"version": "0.8.1",
|
||||
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
|
||||
"integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
|
||||
"devOptional": true,
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/trace-mapping": "0.3.9"
|
||||
},
|
||||
|
@ -1313,7 +1313,7 @@
|
|||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
|
||||
"integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
|
||||
"devOptional": true,
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
|
@ -1322,13 +1322,13 @@
|
|||
"version": "1.4.15",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
|
||||
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
|
||||
"devOptional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@jridgewell/trace-mapping": {
|
||||
"version": "0.3.9",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
|
||||
"integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
|
||||
"devOptional": true,
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/resolve-uri": "^3.0.3",
|
||||
"@jridgewell/sourcemap-codec": "^1.4.10"
|
||||
|
@ -3008,13 +3008,13 @@
|
|||
"version": "1.0.9",
|
||||
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
|
||||
"integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
|
||||
"devOptional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@tsconfig/node12": {
|
||||
"version": "1.0.11",
|
||||
"resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
|
||||
"integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
|
||||
"devOptional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@tsconfig/node14": {
|
||||
"version": "14.1.0",
|
||||
|
@ -3159,7 +3159,7 @@
|
|||
"version": "8.10.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
|
||||
"integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
|
||||
"devOptional": true,
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
|
@ -3171,7 +3171,7 @@
|
|||
"version": "8.2.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
|
||||
"integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
|
||||
"devOptional": true,
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
|
@ -3286,7 +3286,7 @@
|
|||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
|
||||
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
|
||||
"devOptional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/array-buffer-byte-length": {
|
||||
"version": "1.0.0",
|
||||
|
@ -4074,7 +4074,7 @@
|
|||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
|
||||
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
|
||||
"devOptional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/cross-env": {
|
||||
"version": "7.0.3",
|
||||
|
@ -5211,7 +5211,7 @@
|
|||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
|
||||
"integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
|
||||
"devOptional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/is-actual-promise": {
|
||||
"version": "1.0.1",
|
||||
|
@ -5867,7 +5867,7 @@
|
|||
"version": "1.3.6",
|
||||
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
|
||||
"integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
|
||||
"devOptional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/make-fetch-happen": {
|
||||
"version": "13.0.0",
|
||||
|
@ -7256,20 +7256,6 @@
|
|||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-dom": {
|
||||
"version": "18.2.0",
|
||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
|
||||
"integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"loose-envify": "^1.1.0",
|
||||
"scheduler": "^0.23.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^18.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-element-to-jsx-string": {
|
||||
"version": "15.0.0",
|
||||
"resolved": "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-15.0.0.tgz",
|
||||
|
@ -7729,7 +7715,7 @@
|
|||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
|
||||
"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
|
||||
"devOptional": true,
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 6.0.0",
|
||||
"npm": ">= 3.0.0"
|
||||
|
@ -7739,7 +7725,7 @@
|
|||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
|
||||
"integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
|
||||
"devOptional": true,
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ip": "^2.0.0",
|
||||
"smart-buffer": "^4.2.0"
|
||||
|
@ -8326,7 +8312,7 @@
|
|||
"version": "10.9.2",
|
||||
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
|
||||
"integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
|
||||
"devOptional": true,
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@cspotcode/source-map-support": "^0.8.0",
|
||||
"@tsconfig/node10": "^1.0.7",
|
||||
|
@ -8369,19 +8355,19 @@
|
|||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
|
||||
"integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
|
||||
"devOptional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ts-node/node_modules/@tsconfig/node16": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
|
||||
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
|
||||
"devOptional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ts-node/node_modules/diff": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
|
||||
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
|
||||
"devOptional": true,
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.3.1"
|
||||
}
|
||||
|
@ -8735,7 +8721,7 @@
|
|||
"version": "5.3.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
|
||||
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
|
||||
"devOptional": true,
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
|
@ -8818,7 +8804,7 @@
|
|||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
|
||||
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
|
||||
"devOptional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/v8-to-istanbul": {
|
||||
"version": "9.1.3",
|
||||
|
@ -9273,7 +9259,7 @@
|
|||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
||||
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
|
||||
"devOptional": true,
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
|
|
|
@ -34,6 +34,11 @@ const throwIfInvalidService = (service: string) => {
|
|||
}
|
||||
};
|
||||
|
||||
const calculateExpiryTimestamp = (expiryDays: number): number => {
|
||||
const currentTimestamp = Date.now();
|
||||
return currentTimestamp + expiryDays * 24 * 60 * 60 * 1000;
|
||||
};
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
* definitions:
|
||||
|
@ -146,7 +151,17 @@ export class SetupLinkController {
|
|||
* $ref: '#/definitions/SetupLink'
|
||||
*/
|
||||
async create(body: SetupLinkCreatePayload): Promise<SetupLink> {
|
||||
const { tenant, product, service, name, description, defaultRedirectUrl, regenerate, redirectUrl } = body;
|
||||
const {
|
||||
tenant,
|
||||
product,
|
||||
service,
|
||||
name,
|
||||
description,
|
||||
defaultRedirectUrl,
|
||||
regenerate,
|
||||
redirectUrl,
|
||||
expiryDays,
|
||||
} = body;
|
||||
|
||||
validateTenantAndProduct(tenant, product);
|
||||
|
||||
|
@ -176,6 +191,8 @@ export class SetupLinkController {
|
|||
await this.setupLinkStore.delete(existing[0].setupID);
|
||||
}
|
||||
|
||||
const expiryInDays = expiryDays || this.opts.setupLinkExpiryDays || 3;
|
||||
|
||||
const setupLink = {
|
||||
setupID,
|
||||
tenant,
|
||||
|
@ -185,7 +202,7 @@ export class SetupLinkController {
|
|||
description,
|
||||
redirectUrl,
|
||||
defaultRedirectUrl,
|
||||
validTill: +new Date(new Date().setDate(new Date().getDate() + 3)),
|
||||
validTill: calculateExpiryTimestamp(expiryInDays),
|
||||
url: `${this.opts.externalUrl}/setup/${token}`,
|
||||
};
|
||||
|
||||
|
|
|
@ -449,6 +449,9 @@ export interface JacksonOption {
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
/** The number of days a setup link is valid for. Defaults to 3 days. */
|
||||
setupLinkExpiryDays?: number;
|
||||
}
|
||||
|
||||
export interface SLORequestParams {
|
||||
|
@ -534,6 +537,7 @@ export type SetupLinkCreatePayload = {
|
|||
redirectUrl?: string;
|
||||
service: SetupLinkService;
|
||||
regenerate?: boolean;
|
||||
expiryDays?: number;
|
||||
};
|
||||
|
||||
export type SetupLink = {
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
import tap from 'tap';
|
||||
import { jacksonOptions } from './utils';
|
||||
import { ISetupLinkController } from 'npm/src';
|
||||
|
||||
let setupLinkController: ISetupLinkController;
|
||||
const product = 'jackson';
|
||||
|
||||
tap.before(async () => {
|
||||
const jackson = await (await import('../src/index')).default(jacksonOptions);
|
||||
setupLinkController = jackson.setupLinkController;
|
||||
});
|
||||
|
||||
tap.teardown(async () => {
|
||||
process.exit(0);
|
||||
});
|
||||
|
||||
const expireInDays = (timestamp: number) => {
|
||||
const diffInMilliseconds = timestamp - new Date().getTime();
|
||||
const expireInDays = Math.ceil(diffInMilliseconds / (1000 * 3600 * 24));
|
||||
return expireInDays;
|
||||
};
|
||||
|
||||
tap.test('Setup link controller', async (t) => {
|
||||
t.test('Create a new setup link', async (t) => {
|
||||
const setupLink = await setupLinkController.create({
|
||||
tenant: 'tenant-1',
|
||||
product,
|
||||
service: 'dsync',
|
||||
});
|
||||
|
||||
t.ok(setupLink);
|
||||
t.match(expireInDays(setupLink.validTill), 3);
|
||||
});
|
||||
|
||||
// With custom expiry
|
||||
t.test('Create a new setup link with custom expiry', async (t) => {
|
||||
const setupLink = await setupLinkController.create({
|
||||
tenant: 'tenant-2',
|
||||
product,
|
||||
service: 'dsync',
|
||||
expiryDays: 5,
|
||||
});
|
||||
|
||||
t.ok(setupLink);
|
||||
t.match(expireInDays(setupLink.validTill), 5);
|
||||
});
|
||||
|
||||
// With global expiry
|
||||
t.test('Create a new setup link with global expiry', async (t) => {
|
||||
const jackson = await (
|
||||
await import('../src/index')
|
||||
).default({
|
||||
...jacksonOptions,
|
||||
setupLinkExpiryDays: 10,
|
||||
});
|
||||
|
||||
setupLinkController = jackson.setupLinkController;
|
||||
|
||||
const setupLink = await setupLinkController.create({
|
||||
tenant: 'tenant-3',
|
||||
product,
|
||||
service: 'dsync',
|
||||
});
|
||||
|
||||
t.ok(setupLink);
|
||||
t.match(expireInDays(setupLink.validTill), 10);
|
||||
});
|
||||
});
|
|
@ -284,26 +284,26 @@
|
|||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
||||
},
|
||||
"node_modules/@aws-sdk/client-cognito-identity": {
|
||||
"version": "3.481.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.481.0.tgz",
|
||||
"integrity": "sha512-yt3kDnsEixMEa1mQRRB0dbLfrmDgeLK/7/DEka23w0FdryAYm5eZzVpUtaUJpAd6x6FgJ5xuN7fpeXpzOnxI9A==",
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.484.0.tgz",
|
||||
"integrity": "sha512-xjibqYYx8I8lYM17q3THMC8WpJihzio3+Wd6oAMdcaw+EBsgUcphsRHL5YO8wNEzNiMeXrXOPPUBapxpBmFPBA==",
|
||||
"dependencies": {
|
||||
"@aws-crypto/sha256-browser": "3.0.0",
|
||||
"@aws-crypto/sha256-js": "3.0.0",
|
||||
"@aws-sdk/client-sts": "3.481.0",
|
||||
"@aws-sdk/client-sts": "3.484.0",
|
||||
"@aws-sdk/core": "3.481.0",
|
||||
"@aws-sdk/credential-provider-node": "3.481.0",
|
||||
"@aws-sdk/credential-provider-node": "3.484.0",
|
||||
"@aws-sdk/middleware-host-header": "3.468.0",
|
||||
"@aws-sdk/middleware-logger": "3.468.0",
|
||||
"@aws-sdk/middleware-recursion-detection": "3.468.0",
|
||||
"@aws-sdk/middleware-signing": "3.468.0",
|
||||
"@aws-sdk/middleware-user-agent": "3.478.0",
|
||||
"@aws-sdk/region-config-resolver": "3.470.0",
|
||||
"@aws-sdk/region-config-resolver": "3.484.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@aws-sdk/util-endpoints": "3.478.0",
|
||||
"@aws-sdk/util-user-agent-browser": "3.468.0",
|
||||
"@aws-sdk/util-user-agent-node": "3.470.0",
|
||||
"@smithy/config-resolver": "^2.0.21",
|
||||
"@smithy/config-resolver": "^2.0.22",
|
||||
"@smithy/core": "^1.2.1",
|
||||
"@smithy/fetch-http-handler": "^2.3.1",
|
||||
"@smithy/hash-node": "^2.0.17",
|
||||
|
@ -323,7 +323,7 @@
|
|||
"@smithy/util-body-length-browser": "^2.0.1",
|
||||
"@smithy/util-body-length-node": "^2.1.0",
|
||||
"@smithy/util-defaults-mode-browser": "^2.0.23",
|
||||
"@smithy/util-defaults-mode-node": "^2.0.30",
|
||||
"@smithy/util-defaults-mode-node": "^2.0.31",
|
||||
"@smithy/util-endpoints": "^1.0.7",
|
||||
"@smithy/util-retry": "^2.0.8",
|
||||
"@smithy/util-utf8": "^2.0.2",
|
||||
|
@ -386,7 +386,7 @@
|
|||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/client-sso": {
|
||||
"node_modules/@aws-sdk/client-sso": {
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.484.0.tgz",
|
||||
"integrity": "sha512-eHKXDHqgPt99977hNissa1y/efwXZ9kg3EKPLK13b6VzTC8s0+Ih+YZemNE22ahw6SYnRiGglYdkdypJ/uPHkg==",
|
||||
|
@ -433,7 +433,7 @@
|
|||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/client-sts": {
|
||||
"node_modules/@aws-sdk/client-sts": {
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.484.0.tgz",
|
||||
"integrity": "sha512-psQxH0mYhTVvZhfca3s9NbXgnuOM8l+5LtF7fZBF5y4xaPpfAPicPWp6po69J3ynwyXi/MpHNXd/13d/L09TTA==",
|
||||
|
@ -483,223 +483,6 @@
|
|||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/credential-provider-ini": {
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.484.0.tgz",
|
||||
"integrity": "sha512-BbvU7seI0RPPwpujnz4LA1lC53Cj4BOSRpYYZbrxA6C7SzW0D/IQBZQP3JBbrxIhqewSROSsYGDjvYbyi5aDEw==",
|
||||
"dependencies": {
|
||||
"@aws-sdk/credential-provider-env": "3.468.0",
|
||||
"@aws-sdk/credential-provider-process": "3.468.0",
|
||||
"@aws-sdk/credential-provider-sso": "3.484.0",
|
||||
"@aws-sdk/credential-provider-web-identity": "3.468.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@smithy/credential-provider-imds": "^2.0.0",
|
||||
"@smithy/property-provider": "^2.0.0",
|
||||
"@smithy/shared-ini-file-loader": "^2.0.6",
|
||||
"@smithy/types": "^2.7.0",
|
||||
"tslib": "^2.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/credential-provider-node": {
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.484.0.tgz",
|
||||
"integrity": "sha512-Ylqej3FqRwUD3I7929k214LRH1bUz7f2hfV4ZqY7teM9hQC5Ov5SpVtOtLKNfgaaxAkhD2ffMNfmq8TAg824+g==",
|
||||
"dependencies": {
|
||||
"@aws-sdk/credential-provider-env": "3.468.0",
|
||||
"@aws-sdk/credential-provider-ini": "3.484.0",
|
||||
"@aws-sdk/credential-provider-process": "3.468.0",
|
||||
"@aws-sdk/credential-provider-sso": "3.484.0",
|
||||
"@aws-sdk/credential-provider-web-identity": "3.468.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@smithy/credential-provider-imds": "^2.0.0",
|
||||
"@smithy/property-provider": "^2.0.0",
|
||||
"@smithy/shared-ini-file-loader": "^2.0.6",
|
||||
"@smithy/types": "^2.7.0",
|
||||
"tslib": "^2.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/credential-provider-sso": {
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.484.0.tgz",
|
||||
"integrity": "sha512-Fl7+YhrlU2icZkz18z9aj4SiWb2aQlWp5LsVqMfSzTlJFc9yPlD9e7F33gnL7kKLVSnAVxsr5v4y4pFC6FZUSw==",
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-sso": "3.484.0",
|
||||
"@aws-sdk/token-providers": "3.484.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@smithy/property-provider": "^2.0.0",
|
||||
"@smithy/shared-ini-file-loader": "^2.0.6",
|
||||
"@smithy/types": "^2.7.0",
|
||||
"tslib": "^2.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/region-config-resolver": {
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.484.0.tgz",
|
||||
"integrity": "sha512-qfYSwSIc9GasHFrJidydlQE433mB93d31dfypFWhrJPXRv1fhopO72NSfsY2WCcbaRkADc4AajLZFly4J96abw==",
|
||||
"dependencies": {
|
||||
"@smithy/node-config-provider": "^2.1.8",
|
||||
"@smithy/types": "^2.7.0",
|
||||
"@smithy/util-config-provider": "^2.1.0",
|
||||
"@smithy/util-middleware": "^2.0.8",
|
||||
"tslib": "^2.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/token-providers": {
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.484.0.tgz",
|
||||
"integrity": "sha512-9Eb7X0sNhJANfYCeEYWCvfeD4shMZEse3YUz5EALzbpzi/So56ZaeA/lWWeh0fkYiByq74eA2QkC/tXZkHw6EQ==",
|
||||
"dependencies": {
|
||||
"@aws-crypto/sha256-browser": "3.0.0",
|
||||
"@aws-crypto/sha256-js": "3.0.0",
|
||||
"@aws-sdk/middleware-host-header": "3.468.0",
|
||||
"@aws-sdk/middleware-logger": "3.468.0",
|
||||
"@aws-sdk/middleware-recursion-detection": "3.468.0",
|
||||
"@aws-sdk/middleware-user-agent": "3.478.0",
|
||||
"@aws-sdk/region-config-resolver": "3.484.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@aws-sdk/util-endpoints": "3.478.0",
|
||||
"@aws-sdk/util-user-agent-browser": "3.468.0",
|
||||
"@aws-sdk/util-user-agent-node": "3.470.0",
|
||||
"@smithy/config-resolver": "^2.0.22",
|
||||
"@smithy/fetch-http-handler": "^2.3.1",
|
||||
"@smithy/hash-node": "^2.0.17",
|
||||
"@smithy/invalid-dependency": "^2.0.15",
|
||||
"@smithy/middleware-content-length": "^2.0.17",
|
||||
"@smithy/middleware-endpoint": "^2.2.3",
|
||||
"@smithy/middleware-retry": "^2.0.25",
|
||||
"@smithy/middleware-serde": "^2.0.15",
|
||||
"@smithy/middleware-stack": "^2.0.9",
|
||||
"@smithy/node-config-provider": "^2.1.8",
|
||||
"@smithy/node-http-handler": "^2.2.1",
|
||||
"@smithy/property-provider": "^2.0.0",
|
||||
"@smithy/protocol-http": "^3.0.11",
|
||||
"@smithy/shared-ini-file-loader": "^2.0.6",
|
||||
"@smithy/smithy-client": "^2.2.0",
|
||||
"@smithy/types": "^2.7.0",
|
||||
"@smithy/url-parser": "^2.0.15",
|
||||
"@smithy/util-base64": "^2.0.1",
|
||||
"@smithy/util-body-length-browser": "^2.0.1",
|
||||
"@smithy/util-body-length-node": "^2.1.0",
|
||||
"@smithy/util-defaults-mode-browser": "^2.0.23",
|
||||
"@smithy/util-defaults-mode-node": "^2.0.31",
|
||||
"@smithy/util-endpoints": "^1.0.7",
|
||||
"@smithy/util-retry": "^2.0.8",
|
||||
"@smithy/util-utf8": "^2.0.2",
|
||||
"tslib": "^2.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/client-sso": {
|
||||
"version": "3.481.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.481.0.tgz",
|
||||
"integrity": "sha512-d+crFfW8HSDXa68MSfMDX6LH0J22P29SxJW4IGgRZKwHWEaSf4UjOP0mjA4V26R50suAV052/WBY6LjtGsZsHg==",
|
||||
"dependencies": {
|
||||
"@aws-crypto/sha256-browser": "3.0.0",
|
||||
"@aws-crypto/sha256-js": "3.0.0",
|
||||
"@aws-sdk/core": "3.481.0",
|
||||
"@aws-sdk/middleware-host-header": "3.468.0",
|
||||
"@aws-sdk/middleware-logger": "3.468.0",
|
||||
"@aws-sdk/middleware-recursion-detection": "3.468.0",
|
||||
"@aws-sdk/middleware-user-agent": "3.478.0",
|
||||
"@aws-sdk/region-config-resolver": "3.470.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@aws-sdk/util-endpoints": "3.478.0",
|
||||
"@aws-sdk/util-user-agent-browser": "3.468.0",
|
||||
"@aws-sdk/util-user-agent-node": "3.470.0",
|
||||
"@smithy/config-resolver": "^2.0.21",
|
||||
"@smithy/core": "^1.2.1",
|
||||
"@smithy/fetch-http-handler": "^2.3.1",
|
||||
"@smithy/hash-node": "^2.0.17",
|
||||
"@smithy/invalid-dependency": "^2.0.15",
|
||||
"@smithy/middleware-content-length": "^2.0.17",
|
||||
"@smithy/middleware-endpoint": "^2.2.3",
|
||||
"@smithy/middleware-retry": "^2.0.25",
|
||||
"@smithy/middleware-serde": "^2.0.15",
|
||||
"@smithy/middleware-stack": "^2.0.9",
|
||||
"@smithy/node-config-provider": "^2.1.8",
|
||||
"@smithy/node-http-handler": "^2.2.1",
|
||||
"@smithy/protocol-http": "^3.0.11",
|
||||
"@smithy/smithy-client": "^2.2.0",
|
||||
"@smithy/types": "^2.7.0",
|
||||
"@smithy/url-parser": "^2.0.15",
|
||||
"@smithy/util-base64": "^2.0.1",
|
||||
"@smithy/util-body-length-browser": "^2.0.1",
|
||||
"@smithy/util-body-length-node": "^2.1.0",
|
||||
"@smithy/util-defaults-mode-browser": "^2.0.23",
|
||||
"@smithy/util-defaults-mode-node": "^2.0.30",
|
||||
"@smithy/util-endpoints": "^1.0.7",
|
||||
"@smithy/util-retry": "^2.0.8",
|
||||
"@smithy/util-utf8": "^2.0.2",
|
||||
"tslib": "^2.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/client-sts": {
|
||||
"version": "3.481.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.481.0.tgz",
|
||||
"integrity": "sha512-GSnJiceKpwLSEW5q2KRu9zHNJgtYysiy9Xkey0EKLKCdDRdM62yCJEFerAbvRRVJsF2LTSrmBmUl2zWB5RT8mw==",
|
||||
"dependencies": {
|
||||
"@aws-crypto/sha256-browser": "3.0.0",
|
||||
"@aws-crypto/sha256-js": "3.0.0",
|
||||
"@aws-sdk/core": "3.481.0",
|
||||
"@aws-sdk/credential-provider-node": "3.481.0",
|
||||
"@aws-sdk/middleware-host-header": "3.468.0",
|
||||
"@aws-sdk/middleware-logger": "3.468.0",
|
||||
"@aws-sdk/middleware-recursion-detection": "3.468.0",
|
||||
"@aws-sdk/middleware-user-agent": "3.478.0",
|
||||
"@aws-sdk/region-config-resolver": "3.470.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@aws-sdk/util-endpoints": "3.478.0",
|
||||
"@aws-sdk/util-user-agent-browser": "3.468.0",
|
||||
"@aws-sdk/util-user-agent-node": "3.470.0",
|
||||
"@smithy/config-resolver": "^2.0.21",
|
||||
"@smithy/core": "^1.2.1",
|
||||
"@smithy/fetch-http-handler": "^2.3.1",
|
||||
"@smithy/hash-node": "^2.0.17",
|
||||
"@smithy/invalid-dependency": "^2.0.15",
|
||||
"@smithy/middleware-content-length": "^2.0.17",
|
||||
"@smithy/middleware-endpoint": "^2.2.3",
|
||||
"@smithy/middleware-retry": "^2.0.25",
|
||||
"@smithy/middleware-serde": "^2.0.15",
|
||||
"@smithy/middleware-stack": "^2.0.9",
|
||||
"@smithy/node-config-provider": "^2.1.8",
|
||||
"@smithy/node-http-handler": "^2.2.1",
|
||||
"@smithy/protocol-http": "^3.0.11",
|
||||
"@smithy/smithy-client": "^2.2.0",
|
||||
"@smithy/types": "^2.7.0",
|
||||
"@smithy/url-parser": "^2.0.15",
|
||||
"@smithy/util-base64": "^2.0.1",
|
||||
"@smithy/util-body-length-browser": "^2.0.1",
|
||||
"@smithy/util-body-length-node": "^2.1.0",
|
||||
"@smithy/util-defaults-mode-browser": "^2.0.23",
|
||||
"@smithy/util-defaults-mode-node": "^2.0.30",
|
||||
"@smithy/util-endpoints": "^1.0.7",
|
||||
"@smithy/util-middleware": "^2.0.8",
|
||||
"@smithy/util-retry": "^2.0.8",
|
||||
"@smithy/util-utf8": "^2.0.2",
|
||||
"fast-xml-parser": "4.2.5",
|
||||
"tslib": "^2.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/core": {
|
||||
"version": "3.481.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.481.0.tgz",
|
||||
|
@ -717,11 +500,11 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/credential-provider-cognito-identity": {
|
||||
"version": "3.481.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.481.0.tgz",
|
||||
"integrity": "sha512-zuveZv/pK4wl/Pabq2233MmoGAqInSPaxRMvtLGKpIM1E7MGRiaIDfT2PelF62n2ptn4IceXE8xmoHNUDdKGkw==",
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.484.0.tgz",
|
||||
"integrity": "sha512-kIusxi5f9jcNfLjNv/fv6eNRHN1bSQhN8nS31jBRemQL3zBuUePk50MqbciZUh29Rf/ATOVvH6UStaxnV6ivlg==",
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-cognito-identity": "3.481.0",
|
||||
"@aws-sdk/client-cognito-identity": "3.484.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@smithy/property-provider": "^2.0.0",
|
||||
"@smithy/types": "^2.7.0",
|
||||
|
@ -765,13 +548,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/credential-provider-ini": {
|
||||
"version": "3.481.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.481.0.tgz",
|
||||
"integrity": "sha512-QXMlILewLV/yQHkyjXsu7PhvmTZIDAaQ4uAfhjnqbH1B8mErRpZKkzHWwp4yeZdTcHfenTVqoTnx9WDa+SnK/Q==",
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.484.0.tgz",
|
||||
"integrity": "sha512-BbvU7seI0RPPwpujnz4LA1lC53Cj4BOSRpYYZbrxA6C7SzW0D/IQBZQP3JBbrxIhqewSROSsYGDjvYbyi5aDEw==",
|
||||
"dependencies": {
|
||||
"@aws-sdk/credential-provider-env": "3.468.0",
|
||||
"@aws-sdk/credential-provider-process": "3.468.0",
|
||||
"@aws-sdk/credential-provider-sso": "3.481.0",
|
||||
"@aws-sdk/credential-provider-sso": "3.484.0",
|
||||
"@aws-sdk/credential-provider-web-identity": "3.468.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@smithy/credential-provider-imds": "^2.0.0",
|
||||
|
@ -785,14 +568,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/credential-provider-node": {
|
||||
"version": "3.481.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.481.0.tgz",
|
||||
"integrity": "sha512-148Ztn2FjlS3VdGWJnAMjuXiZ55/tD823I/koawgp80LnDqMiKfmSGAioXIikqaBHl40K7ZvtBMqP/n/6GM41A==",
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.484.0.tgz",
|
||||
"integrity": "sha512-Ylqej3FqRwUD3I7929k214LRH1bUz7f2hfV4ZqY7teM9hQC5Ov5SpVtOtLKNfgaaxAkhD2ffMNfmq8TAg824+g==",
|
||||
"dependencies": {
|
||||
"@aws-sdk/credential-provider-env": "3.468.0",
|
||||
"@aws-sdk/credential-provider-ini": "3.481.0",
|
||||
"@aws-sdk/credential-provider-ini": "3.484.0",
|
||||
"@aws-sdk/credential-provider-process": "3.468.0",
|
||||
"@aws-sdk/credential-provider-sso": "3.481.0",
|
||||
"@aws-sdk/credential-provider-sso": "3.484.0",
|
||||
"@aws-sdk/credential-provider-web-identity": "3.468.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@smithy/credential-provider-imds": "^2.0.0",
|
||||
|
@ -821,12 +604,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/credential-provider-sso": {
|
||||
"version": "3.481.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.481.0.tgz",
|
||||
"integrity": "sha512-3MrSIQPQDOxhZDppC2XpOLVfuUm7iqRfTrwjSYGeWc//pUZtUI7nMXYjEDL+li5gvasw1lYfYX3VHNdwNnvyOQ==",
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.484.0.tgz",
|
||||
"integrity": "sha512-Fl7+YhrlU2icZkz18z9aj4SiWb2aQlWp5LsVqMfSzTlJFc9yPlD9e7F33gnL7kKLVSnAVxsr5v4y4pFC6FZUSw==",
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-sso": "3.481.0",
|
||||
"@aws-sdk/token-providers": "3.481.0",
|
||||
"@aws-sdk/client-sso": "3.484.0",
|
||||
"@aws-sdk/token-providers": "3.484.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@smithy/property-provider": "^2.0.0",
|
||||
"@smithy/shared-ini-file-loader": "^2.0.6",
|
||||
|
@ -852,20 +635,20 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/credential-providers": {
|
||||
"version": "3.481.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.481.0.tgz",
|
||||
"integrity": "sha512-bZfl50WtY9nYNuBb9KiP7Sm+C86dc8u40FkyNFFu7xzEmSmT2FVipjBSM63YjE6AKO23AKgTMU3tU9xTy5KRpw==",
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.484.0.tgz",
|
||||
"integrity": "sha512-Yl4YPlML79TUir6QPUsgBWFwDu3FOiQGdAnN2eei4ce76ZI5JwPIiBNP0S2qK63R40CeoBqRlSIveBX9v10jjQ==",
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-cognito-identity": "3.481.0",
|
||||
"@aws-sdk/client-sso": "3.481.0",
|
||||
"@aws-sdk/client-sts": "3.481.0",
|
||||
"@aws-sdk/credential-provider-cognito-identity": "3.481.0",
|
||||
"@aws-sdk/client-cognito-identity": "3.484.0",
|
||||
"@aws-sdk/client-sso": "3.484.0",
|
||||
"@aws-sdk/client-sts": "3.484.0",
|
||||
"@aws-sdk/credential-provider-cognito-identity": "3.484.0",
|
||||
"@aws-sdk/credential-provider-env": "3.468.0",
|
||||
"@aws-sdk/credential-provider-http": "3.481.0",
|
||||
"@aws-sdk/credential-provider-ini": "3.481.0",
|
||||
"@aws-sdk/credential-provider-node": "3.481.0",
|
||||
"@aws-sdk/credential-provider-ini": "3.484.0",
|
||||
"@aws-sdk/credential-provider-node": "3.484.0",
|
||||
"@aws-sdk/credential-provider-process": "3.468.0",
|
||||
"@aws-sdk/credential-provider-sso": "3.481.0",
|
||||
"@aws-sdk/credential-provider-sso": "3.484.0",
|
||||
"@aws-sdk/credential-provider-web-identity": "3.468.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@smithy/credential-provider-imds": "^2.0.0",
|
||||
|
@ -979,13 +762,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/region-config-resolver": {
|
||||
"version": "3.470.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.470.0.tgz",
|
||||
"integrity": "sha512-C1o1J06iIw8cyAAOvHqT4Bbqf+PgQ/RDlSyjt2gFfP2OovDpc2o2S90dE8f8iZdSGpg70N5MikT1DBhW9NbhtQ==",
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.484.0.tgz",
|
||||
"integrity": "sha512-qfYSwSIc9GasHFrJidydlQE433mB93d31dfypFWhrJPXRv1fhopO72NSfsY2WCcbaRkADc4AajLZFly4J96abw==",
|
||||
"dependencies": {
|
||||
"@smithy/node-config-provider": "^2.1.8",
|
||||
"@smithy/types": "^2.7.0",
|
||||
"@smithy/util-config-provider": "^2.0.0",
|
||||
"@smithy/util-config-provider": "^2.1.0",
|
||||
"@smithy/util-middleware": "^2.0.8",
|
||||
"tslib": "^2.5.0"
|
||||
},
|
||||
|
@ -994,9 +777,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@aws-sdk/token-providers": {
|
||||
"version": "3.481.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.481.0.tgz",
|
||||
"integrity": "sha512-G4ObHF2A/FlvQG7Lb/2sjuklG89IiH3TI1EiNZSzgu6TvY904Js72Slldls4VeJLY2zAnZgyZ9903pBMkDrcxQ==",
|
||||
"version": "3.484.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.484.0.tgz",
|
||||
"integrity": "sha512-9Eb7X0sNhJANfYCeEYWCvfeD4shMZEse3YUz5EALzbpzi/So56ZaeA/lWWeh0fkYiByq74eA2QkC/tXZkHw6EQ==",
|
||||
"dependencies": {
|
||||
"@aws-crypto/sha256-browser": "3.0.0",
|
||||
"@aws-crypto/sha256-js": "3.0.0",
|
||||
|
@ -1004,12 +787,12 @@
|
|||
"@aws-sdk/middleware-logger": "3.468.0",
|
||||
"@aws-sdk/middleware-recursion-detection": "3.468.0",
|
||||
"@aws-sdk/middleware-user-agent": "3.478.0",
|
||||
"@aws-sdk/region-config-resolver": "3.470.0",
|
||||
"@aws-sdk/region-config-resolver": "3.484.0",
|
||||
"@aws-sdk/types": "3.468.0",
|
||||
"@aws-sdk/util-endpoints": "3.478.0",
|
||||
"@aws-sdk/util-user-agent-browser": "3.468.0",
|
||||
"@aws-sdk/util-user-agent-node": "3.470.0",
|
||||
"@smithy/config-resolver": "^2.0.21",
|
||||
"@smithy/config-resolver": "^2.0.22",
|
||||
"@smithy/fetch-http-handler": "^2.3.1",
|
||||
"@smithy/hash-node": "^2.0.17",
|
||||
"@smithy/invalid-dependency": "^2.0.15",
|
||||
|
@ -1030,7 +813,7 @@
|
|||
"@smithy/util-body-length-browser": "^2.0.1",
|
||||
"@smithy/util-body-length-node": "^2.1.0",
|
||||
"@smithy/util-defaults-mode-browser": "^2.0.23",
|
||||
"@smithy/util-defaults-mode-node": "^2.0.30",
|
||||
"@smithy/util-defaults-mode-node": "^2.0.31",
|
||||
"@smithy/util-endpoints": "^1.0.7",
|
||||
"@smithy/util-retry": "^2.0.8",
|
||||
"@smithy/util-utf8": "^2.0.2",
|
||||
|
@ -21498,7 +21281,7 @@
|
|||
"license": "Apache 2.0",
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-dynamodb": "3.484.0",
|
||||
"@aws-sdk/credential-providers": "3.481.0",
|
||||
"@aws-sdk/credential-providers": "3.484.0",
|
||||
"@aws-sdk/util-dynamodb": "3.484.0",
|
||||
"@boxyhq/error-code-mnemonic": "0.1.1",
|
||||
"@boxyhq/metrics": "0.2.6",
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
import type { GetServerSidePropsContext, NextPage } from 'next';
|
||||
import type { GetServerSidePropsContext, InferGetServerSidePropsType } from 'next';
|
||||
import { useRouter } from 'next/router';
|
||||
import CreateSetupLink from '@components/setup-link/CreateSetupLink';
|
||||
import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
|
||||
import type { SetupLinkService } from '@boxyhq/saml-jackson';
|
||||
import { setupLinkExpiryDays } from '@lib/env';
|
||||
|
||||
const serviceMaps = {
|
||||
'sso-connection': 'sso',
|
||||
'directory-sync': 'dsync',
|
||||
};
|
||||
|
||||
const SetupLinkCreatePage: NextPage = () => {
|
||||
type Props = InferGetServerSidePropsType<typeof getServerSideProps>;
|
||||
|
||||
const SetupLinkCreatePage = ({ expiryDays }: Props) => {
|
||||
const router = useRouter();
|
||||
|
||||
// Extract the service name from the path
|
||||
|
@ -21,13 +24,14 @@ const SetupLinkCreatePage: NextPage = () => {
|
|||
return null;
|
||||
}
|
||||
|
||||
return <CreateSetupLink service={service} />;
|
||||
return <CreateSetupLink service={service} expiryDays={expiryDays} />;
|
||||
};
|
||||
|
||||
export async function getServerSideProps({ locale }: GetServerSidePropsContext) {
|
||||
return {
|
||||
props: {
|
||||
...(locale ? await serverSideTranslations(locale, ['common']) : {}),
|
||||
expiryDays: setupLinkExpiryDays,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
|
@ -27,19 +27,7 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
|||
const handlePOST = async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
const { setupLinkController } = await jackson();
|
||||
|
||||
const { tenant, product, service, regenerate, name, description, defaultRedirectUrl, redirectUrl } =
|
||||
req.body;
|
||||
|
||||
const setupLink = await setupLinkController.create({
|
||||
tenant,
|
||||
product,
|
||||
service,
|
||||
name,
|
||||
description,
|
||||
defaultRedirectUrl,
|
||||
redirectUrl,
|
||||
regenerate,
|
||||
});
|
||||
const setupLink = await setupLinkController.create(req.body);
|
||||
|
||||
return res.status(201).json({ data: setupLink });
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue