Compare commits

...

6 Commits

Author SHA1 Message Date
Tom Moor fa7f8d3592 fix: ExportDocumentTreeTask needs documentStructure 2025-05-07 19:38:30 -04:00
codegen-sh[bot] c598c61afe Add PromQL as a code highlighting option in the editor (#9146)
* Add PromQL as a code highlighting option in the editor

* Update code.ts

---------

Co-authored-by: codegen-sh[bot] <131295404+codegen-sh[bot]@users.noreply.github.com>
Co-authored-by: Tom Moor <tom@getoutline.com>
2025-05-07 19:11:47 -04:00
Tom Moor 68b07eb466 fix: withoutState scope should include state as fallback (#9145) 2025-05-07 18:49:33 -04:00
Tom Moor 06a149407a fix: withoutState scope should include state as fallback (#9144) 2025-05-07 09:00:42 -04:00
Tom Moor b9387734c7 perf: Remove documentStructure from default query select (#9141)
* perf: Remove documentStructure from default query select

* test
2025-05-07 07:47:57 -04:00
dependabot[bot] 810b7908e4 chore(deps): bump the aws group with 5 updates (#9136)
Bumps the aws group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.797.0` | `3.802.0` |
| [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) | `3.797.0` | `3.802.0` |
| [@aws-sdk/s3-presigned-post](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-presigned-post) | `3.797.0` | `3.802.0` |
| [@aws-sdk/s3-request-presigner](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner) | `3.797.0` | `3.802.0` |
| [@aws-sdk/signature-v4-crt](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/signature-v4-crt) | `3.796.0` | `3.800.0` |


Updates `@aws-sdk/client-s3` from 3.797.0 to 3.802.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.802.0/clients/client-s3)

Updates `@aws-sdk/lib-storage` from 3.797.0 to 3.802.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/lib/lib-storage/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.802.0/lib/lib-storage)

Updates `@aws-sdk/s3-presigned-post` from 3.797.0 to 3.802.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/s3-presigned-post/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.802.0/packages/s3-presigned-post)

Updates `@aws-sdk/s3-request-presigner` from 3.797.0 to 3.802.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/s3-request-presigner/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.802.0/packages/s3-request-presigner)

Updates `@aws-sdk/signature-v4-crt` from 3.796.0 to 3.800.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/signature-v4-crt/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.800.0/packages/signature-v4-crt)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-s3"
  dependency-version: 3.802.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws
- dependency-name: "@aws-sdk/lib-storage"
  dependency-version: 3.802.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws
- dependency-name: "@aws-sdk/s3-presigned-post"
  dependency-version: 3.802.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws
- dependency-name: "@aws-sdk/s3-request-presigner"
  dependency-version: 3.802.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws
- dependency-name: "@aws-sdk/signature-v4-crt"
  dependency-version: 3.800.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-06 08:02:14 -04:00
18 changed files with 400 additions and 364 deletions
+6 -5
View File
@@ -48,11 +48,11 @@
"> 0.25%, not dead"
],
"dependencies": {
"@aws-sdk/client-s3": "3.797.0",
"@aws-sdk/lib-storage": "3.797.0",
"@aws-sdk/s3-presigned-post": "3.797.0",
"@aws-sdk/s3-request-presigner": "3.797.0",
"@aws-sdk/signature-v4-crt": "^3.796.0",
"@aws-sdk/client-s3": "3.803.0",
"@aws-sdk/lib-storage": "3.803.0",
"@aws-sdk/s3-presigned-post": "3.803.0",
"@aws-sdk/s3-request-presigner": "3.803.0",
"@aws-sdk/signature-v4-crt": "^3.803.0",
"@babel/core": "^7.27.1",
"@babel/plugin-proposal-decorators": "^7.27.1",
"@babel/plugin-transform-class-properties": "^7.27.1",
@@ -228,6 +228,7 @@
"sequelize": "^6.37.3",
"sequelize-cli": "^6.6.2",
"sequelize-encrypted": "^1.0.0",
"sequelize-strict-attributes": "^1.0.2",
"sequelize-typescript": "^2.1.6",
"slug": "^5.3.0",
"slugify": "^1.6.6",
+19 -30
View File
@@ -1,4 +1,3 @@
import invariant from "invariant";
import { Op, WhereOptions } from "sequelize";
import isUUID from "validator/lib/isUUID";
import { UrlHelper } from "@shared/utils/UrlHelper";
@@ -22,8 +21,8 @@ type Props = {
type Result = {
document: Document;
share?: Share;
collection?: Collection | null;
share: Share | null;
collection: Collection | null;
};
export default async function loadDocument({
@@ -33,9 +32,9 @@ export default async function loadDocument({
user,
includeState,
}: Props): Promise<Result> {
let document;
let collection;
let share;
let document: Document | null = null;
let collection: Collection | null = null;
let share: Share | null = null;
if (!shareId && !(id && user)) {
throw AuthenticationError(`Authentication or shareId required`);
@@ -72,20 +71,7 @@ export default async function loadDocument({
where: whereClause,
include: [
{
// unscoping here allows us to return unpublished documents
model: Document.unscoped(),
include: [
{
model: User,
as: "createdBy",
paranoid: false,
},
{
model: User,
as: "updatedBy",
paranoid: false,
},
],
model: Document.scope("withDrafts"),
required: true,
as: "document",
},
@@ -129,14 +115,13 @@ export default async function loadDocument({
const canReadDocument = user && can(user, "read", document);
if (canReadDocument) {
// Cannot use document.collection here as it does not include the
// documentStructure by default through the relationship.
if (document.collectionId) {
collection = await Collection.findByPk(document.collectionId);
if (!collection) {
throw NotFoundError("Collection could not be found for document");
}
collection = await Collection.scope("withDocumentStructure").findByPk(
document.collectionId,
{
rejectOnEmpty: true,
}
);
}
return {
@@ -155,11 +140,15 @@ export default async function loadDocument({
// It is possible to disable sharing at the collection so we must check
if (document.collectionId) {
collection = await Collection.findByPk(document.collectionId);
collection = await Collection.scope("withDocumentStructure").findByPk(
document.collectionId,
{
rejectOnEmpty: true,
}
);
}
invariant(collection, "collection not found");
if (!collection.sharing) {
if (!collection?.sharing) {
throw AuthorizationError();
}
+17 -11
View File
@@ -1,4 +1,3 @@
import invariant from "invariant";
import { Transaction } from "sequelize";
import { createContext } from "@server/context";
import { traceFunction } from "@server/logging/tracing";
@@ -66,16 +65,21 @@ async function documentMover({
result.documents.push(document);
} else {
// Load the current and the next collection upfront and lock them
const collection = await Collection.findByPk(document.collectionId!, {
transaction,
lock: Transaction.LOCK.UPDATE,
paranoid: false,
});
const collection = await Collection.scope("withDocumentStructure").findByPk(
document.collectionId!,
{
transaction,
lock: Transaction.LOCK.UPDATE,
paranoid: false,
}
);
let newCollection = collection;
if (collectionChanged) {
if (collectionId) {
newCollection = await Collection.findByPk(collectionId, {
newCollection = await Collection.scope(
"withDocumentStructure"
).findByPk(collectionId, {
transaction,
lock: Transaction.LOCK.UPDATE,
});
@@ -144,12 +148,14 @@ async function documentMover({
if (collectionId) {
// Reload the collection to get relationship data
newCollection = await Collection.scope({
method: ["withMembership", user.id],
}).findByPk(collectionId, {
newCollection = await Collection.scope([
{
method: ["withMembership", user.id],
},
]).findByPk(collectionId, {
transaction,
rejectOnEmpty: true,
});
invariant(newCollection, "Collection not found");
result.collections.push(newCollection);
+35 -29
View File
@@ -16,7 +16,7 @@ beforeEach(() => {
});
describe("#url", () => {
test("should return correct url for the collection", () => {
it("should return correct url for the collection", () => {
const collection = new Collection({
id: "1234",
});
@@ -25,7 +25,7 @@ describe("#url", () => {
});
describe("getDocumentParents", () => {
test("should return array of parent document ids", async () => {
it("should return array of parent document ids", async () => {
const parent = await buildDocument();
const document = await buildDocument();
const collection = await buildCollection({
@@ -41,7 +41,7 @@ describe("getDocumentParents", () => {
expect(result ? result[0] : undefined).toBe(parent.id);
});
test("should return array of parent document ids", async () => {
it("should return array of parent document ids", async () => {
const parent = await buildDocument();
const document = await buildDocument();
const collection = await buildCollection({
@@ -56,7 +56,7 @@ describe("getDocumentParents", () => {
expect(result?.length).toBe(0);
});
test("should not error if documentStructure is empty", async () => {
it("should not error if documentStructure is empty", async () => {
const parent = await buildDocument();
await buildDocument();
const collection = await buildCollection();
@@ -66,7 +66,7 @@ describe("getDocumentParents", () => {
});
describe("getDocumentTree", () => {
test("should return document tree", async () => {
it("should return document tree", async () => {
const document = await buildDocument();
const collection = await buildCollection({
documentStructure: [await document.toNavigationNode()],
@@ -76,7 +76,7 @@ describe("getDocumentTree", () => {
);
});
test("should return nested documents in tree", async () => {
it("should return nested documents in tree", async () => {
const parent = await buildDocument();
const document = await buildDocument();
const collection = await buildCollection({
@@ -99,7 +99,7 @@ describe("getDocumentTree", () => {
});
describe("#addDocumentToStructure", () => {
test("should add as last element without index", async () => {
it("should add as last element without index", async () => {
const collection = await buildCollection();
const id = uuidv4();
const newDocument = await buildDocument({
@@ -117,7 +117,7 @@ describe("#addDocumentToStructure", () => {
expect(collection.documentStructure!.length).toBe(1);
});
test("should add with an index", async () => {
it("should add with an index", async () => {
const collection = await buildCollection();
const id = uuidv4();
const newDocument = await buildDocument({
@@ -131,7 +131,7 @@ describe("#addDocumentToStructure", () => {
expect(collection.documentStructure![0].id).toBe(id);
});
test("should add as a child if with parent", async () => {
it("should add as a child if with parent", async () => {
const collection = await buildCollection();
const document = await buildDocument({ collectionId: collection.id });
await collection.reload();
@@ -150,7 +150,7 @@ describe("#addDocumentToStructure", () => {
expect(collection.documentStructure![0].children[0].id).toBe(id);
});
test("should add as a child if with parent with index", async () => {
it("should add as a child if with parent with index", async () => {
const collection = await buildCollection();
const document = await buildDocument({ collectionId: collection.id });
await collection.reload();
@@ -176,7 +176,7 @@ describe("#addDocumentToStructure", () => {
expect(collection.documentStructure![0].children[0].id).toBe(id);
});
test("should add the document along with its nested document(s)", async () => {
it("should add the document along with its nested document(s)", async () => {
const collection = await buildCollection();
const document = await buildDocument({
@@ -204,7 +204,7 @@ describe("#addDocumentToStructure", () => {
);
});
test("should add the document along with its archived nested document(s)", async () => {
it("should add the document along with its archived nested document(s)", async () => {
const collection = await buildCollection();
const document = await buildDocument({
@@ -237,7 +237,7 @@ describe("#addDocumentToStructure", () => {
);
});
describe("options: documentJson", () => {
test("should append supplied json over document's own", async () => {
it("should append supplied json over document's own", async () => {
const collection = await buildCollection();
const id = uuidv4();
const newDocument = await buildDocument({
@@ -268,7 +268,7 @@ describe("#addDocumentToStructure", () => {
});
describe("#updateDocument", () => {
test("should update root document's data", async () => {
it("should update root document's data", async () => {
const collection = await buildCollection();
const document = await buildDocument({ collectionId: collection.id });
await collection.reload();
@@ -279,7 +279,7 @@ describe("#updateDocument", () => {
expect(collection.documentStructure![0].title).toBe("Updated title");
});
test("should update child document's data", async () => {
it("should update child document's data", async () => {
const collection = await buildCollection();
const document = await buildDocument({ collectionId: collection.id });
await collection.reload();
@@ -297,7 +297,7 @@ describe("#updateDocument", () => {
newDocument.title = "Updated title";
await newDocument.save();
await collection.updateDocument(newDocument);
const reloaded = await Collection.findByPk(collection.id);
const reloaded = await collection.reload();
expect(reloaded!.documentStructure![0].children[0].title).toBe(
"Updated title"
);
@@ -305,7 +305,7 @@ describe("#updateDocument", () => {
});
describe("#removeDocument", () => {
test("should save if removing", async () => {
it("should save if removing", async () => {
const collection = await buildCollection();
const document = await buildDocument({ collectionId: collection.id });
await collection.reload();
@@ -315,7 +315,7 @@ describe("#removeDocument", () => {
expect(collection.save).toBeCalled();
});
test("should remove documents from root", async () => {
it("should remove documents from root", async () => {
const collection = await buildCollection();
const document = await buildDocument({ collectionId: collection.id });
await collection.reload();
@@ -331,7 +331,7 @@ describe("#removeDocument", () => {
expect(collectionDocuments.count).toBe(0);
});
test("should remove a document with child documents", async () => {
it("should remove a document with child documents", async () => {
const collection = await buildCollection();
const document = await buildDocument({ collectionId: collection.id });
await collection.reload();
@@ -359,7 +359,7 @@ describe("#removeDocument", () => {
expect(collectionDocuments.count).toBe(0);
});
test("should remove a child document", async () => {
it("should remove a child document", async () => {
const collection = await buildCollection();
const document = await buildDocument({ collectionId: collection.id });
await collection.reload();
@@ -380,7 +380,7 @@ describe("#removeDocument", () => {
expect(collection.documentStructure![0].children.length).toBe(1);
// Remove the document
await collection.deleteDocument(newDocument);
const reloaded = await Collection.findByPk(collection.id);
const reloaded = await collection.reload();
expect(reloaded!.documentStructure!.length).toBe(1);
expect(reloaded!.documentStructure![0].children.length).toBe(0);
const collectionDocuments = await Document.findAndCountAll({
@@ -393,7 +393,7 @@ describe("#removeDocument", () => {
});
describe("#membershipUserIds", () => {
test("should return collection and group memberships", async () => {
it("should return collection and group memberships", async () => {
const team = await buildTeam();
const teamId = team.id;
// Make 6 users
@@ -464,47 +464,53 @@ describe("#membershipUserIds", () => {
});
describe("#findByPk", () => {
test("should return collection with collection Id", async () => {
it("should return collection with collection Id", async () => {
const collection = await buildCollection();
const response = await Collection.findByPk(collection.id);
expect(response!.id).toBe(collection.id);
});
test("should return collection when urlId is present", async () => {
it("should not return documentStructure by default", async () => {
const collection = await buildCollection();
const response = await Collection.findByPk(collection.id);
expect(() => response!.documentStructure).toThrow();
});
it("should return collection when urlId is present", async () => {
const collection = await buildCollection();
const id = `${slugify(collection.name)}-${collection.urlId}`;
const response = await Collection.findByPk(id);
expect(response!.id).toBe(collection.id);
});
test("should return collection when urlId is present, but missing slug", async () => {
it("should return collection when urlId is present, but missing slug", async () => {
const collection = await buildCollection();
const id = collection.urlId;
const response = await Collection.findByPk(id);
expect(response!.id).toBe(collection.id);
});
test("should return null when incorrect uuid type", async () => {
it("should return null when incorrect uuid type", async () => {
const collection = await buildCollection();
const response = await Collection.findByPk(collection.id + "-incorrect");
expect(response).toBe(null);
});
test("should return null when incorrect urlId length", async () => {
it("should return null when incorrect urlId length", async () => {
const collection = await buildCollection();
const id = `${slugify(collection.name)}-${collection.urlId}incorrect`;
const response = await Collection.findByPk(id);
expect(response).toBe(null);
});
test("should return null when no collection is found with uuid", async () => {
it("should return null when no collection is found with uuid", async () => {
const response = await Collection.findByPk(
"a9e71a81-7342-4ea3-9889-9b9cc8f667da"
);
expect(response).toBe(null);
});
test("should return null when no collection is found with urlId", async () => {
it("should return null when no collection is found with urlId", async () => {
const id = `${slugify("test collection")}-${randomstring.generate(15)}`;
const response = await Collection.findByPk(id);
expect(response).toBe(null);
+13
View File
@@ -37,6 +37,7 @@ import {
AllowNull,
BeforeCreate,
BeforeUpdate,
DefaultScope,
} from "sequelize-typescript";
import isUUID from "validator/lib/isUUID";
import type { CollectionSort, ProsemirrorData } from "@shared/types";
@@ -69,6 +70,11 @@ type AdditionalFindOptions = {
rejectOnEmpty?: boolean | Error;
};
@DefaultScope(() => ({
attributes: {
exclude: ["documentStructure"],
},
}))
@Scopes(() => ({
withAllMemberships: {
include: [
@@ -121,6 +127,12 @@ type AdditionalFindOptions = {
},
],
}),
withDocumentStructure: () => ({
attributes: {
// resets to include the documentStructure column
exclude: [],
},
}),
withMembership: (userId: string) => {
if (!userId) {
return {};
@@ -238,6 +250,7 @@ class Collection extends ParanoidModel<
@Column
maintainerApprovalRequired: boolean;
@Default(null)
@Column(DataType.JSONB)
documentStructure: NavigationNode[] | null;
+2 -5
View File
@@ -11,7 +11,6 @@ import {
buildUser,
buildGuestUser,
} from "@server/test/factories";
import Collection from "./Collection";
import UserMembership from "./UserMembership";
beforeEach(() => {
@@ -96,10 +95,8 @@ describe("#delete", () => {
await document.delete(user);
const [newDocument, newCollection] = await Promise.all([
Document.findByPk(document.id, {
paranoid: false,
}),
Collection.findByPk(collection.id),
document.reload({ paranoid: false }),
collection.reload(),
]);
expect(newDocument?.lastModifiedById).toEqual(user.id);
+50 -23
View File
@@ -15,6 +15,7 @@ import {
FindOptions,
WhereOptions,
EmptyResultError,
Sequelize,
} from "sequelize";
import {
ForeignKey,
@@ -71,12 +72,20 @@ import Length from "./validators/Length";
export const DOCUMENT_VERSION = 2;
// If content (JSON) is null then we still need to return the state column (BINARY)
// as it's used as a fallback for content deserialization for older documents.
// This can be removed if content is 100% backfilled.
const stateIfContentEmpty = Sequelize.literal(
`CASE WHEN document.content IS NULL THEN document.state ELSE NULL END AS state`
);
type AdditionalFindOptions = {
userId?: string;
includeState?: boolean;
rejectOnEmpty?: boolean | Error;
};
// @ts-expect-error Type 'Literal' is not assignable to type 'string | ProjectionAlias'.
@DefaultScope(() => ({
include: [
{
@@ -101,13 +110,14 @@ type AdditionalFindOptions = {
},
},
attributes: {
exclude: ["state"],
include: [stateIfContentEmpty],
},
}))
// @ts-expect-error Type 'Literal' is not assignable to type 'string | ProjectionAlias'.
@Scopes(() => ({
withoutState: {
attributes: {
exclude: ["state"],
include: [stateIfContentEmpty],
},
},
withCollection: {
@@ -121,7 +131,7 @@ type AdditionalFindOptions = {
withState: {
attributes: {
// resets to include the state column
exclude: [],
include: [],
},
},
withDrafts: {
@@ -162,11 +172,13 @@ type AdditionalFindOptions = {
return {
include: [
{
attributes: ["id", "permission", "sharing", "teamId", "deletedAt"],
model: userId
? Collection.scope({
method: ["withMembership", userId],
})
? Collection.scope([
"defaultScope",
{
method: ["withMembership", userId],
},
])
: Collection,
as: "collection",
paranoid,
@@ -414,10 +426,13 @@ class Document extends ArchivableModel<
return;
}
const collection = await Collection.findByPk(model.collectionId, {
transaction,
lock: Transaction.LOCK.UPDATE,
});
const collection = await Collection.scope("withDocumentStructure").findByPk(
model.collectionId,
{
transaction,
lock: Transaction.LOCK.UPDATE,
}
);
if (!collection) {
return;
}
@@ -438,7 +453,9 @@ class Document extends ArchivableModel<
}
return this.sequelize!.transaction(async (transaction: Transaction) => {
const collection = await Collection.findByPk(model.collectionId!, {
const collection = await Collection.scope(
"withDocumentStructure"
).findByPk(model.collectionId!, {
transaction,
lock: transaction.LOCK.UPDATE,
});
@@ -926,7 +943,9 @@ class Document extends ArchivableModel<
}
if (!this.template && this.collectionId) {
const collection = await Collection.findByPk(this.collectionId, {
const collection = await Collection.scope(
"withDocumentStructure"
).findByPk(this.collectionId, {
transaction,
lock: Transaction.LOCK.UPDATE,
});
@@ -993,10 +1012,13 @@ class Document extends ArchivableModel<
await this.sequelize.transaction(async (transaction: Transaction) => {
const collection = this.collectionId
? await Collection.findByPk(this.collectionId, {
transaction,
lock: transaction.LOCK.UPDATE,
})
? await Collection.scope("withDocumentStructure").findByPk(
this.collectionId,
{
transaction,
lock: transaction.LOCK.UPDATE,
}
)
: undefined;
if (collection) {
@@ -1027,10 +1049,13 @@ class Document extends ArchivableModel<
archive = async (user: User, options?: FindOptions) => {
const { transaction } = { ...options };
const collection = this.collectionId
? await Collection.findByPk(this.collectionId, {
transaction,
lock: transaction?.LOCK.UPDATE,
})
? await Collection.scope("withDocumentStructure").findByPk(
this.collectionId,
{
transaction,
lock: transaction?.LOCK.UPDATE,
}
)
: undefined;
if (collection) {
@@ -1051,7 +1076,7 @@ class Document extends ArchivableModel<
) => {
const { transaction } = { ...options };
const collection = collectionId
? await Collection.findByPk(collectionId, {
? await Collection.scope("withDocumentStructure").findByPk(collectionId, {
transaction,
lock: transaction?.LOCK.UPDATE,
})
@@ -1103,7 +1128,9 @@ class Document extends ArchivableModel<
let deleted = false;
if (!this.template && this.collectionId) {
const collection = await Collection.findByPk(this.collectionId!, {
const collection = await Collection.scope(
"withDocumentStructure"
).findByPk(this.collectionId!, {
transaction,
lock: transaction.LOCK.UPDATE,
paranoid: false,
@@ -171,7 +171,8 @@ export default abstract class ExportDocumentTreeTask extends ExportTask {
/**
* Generates a map of document urls to their path in the zip file.
*
* @param collections
* @param collections The collections to generate the path map for.
* @param format The format of the exported documents.
*/
private createPathMap(
collections: Collection[],
+7 -5
View File
@@ -44,11 +44,13 @@ export default abstract class ExportTask extends BaseTask<Props> {
? [fileOperation.collectionId]
: await user.collectionIds();
const collections = await Collection.findAll({
where: {
id: collectionIds,
},
});
const collections = await Collection.scope("withDocumentStructure").findAll(
{
where: {
id: collectionIds,
},
}
);
let filePath: string | undefined;
+5 -3
View File
@@ -140,9 +140,11 @@ router.post(
async (ctx: APIContext<T.CollectionsDocumentsReq>) => {
const { id } = ctx.input.body;
const { user } = ctx.state.auth;
const collection = await Collection.scope({
method: ["withMembership", user.id],
}).findByPk(id);
const collection = await Collection.scope([
{
method: ["withMembership", user.id],
},
]).findByPk(id);
authorize(user, "readDocument", collection);
@@ -977,7 +977,7 @@ describe("#documents.list", () => {
const res = await server.post("/api/documents.list", {
body: {
token: user.getJwtToken(),
collection: document.collectionId,
collectionId: document.collectionId,
},
});
const body = await res.json();
@@ -1013,7 +1013,7 @@ describe("#documents.list", () => {
const res = await server.post("/api/documents.list", {
body: {
token: user.getJwtToken(),
collection: collection.id,
collectionId: collection.id,
},
});
const body = await res.json();
+8 -4
View File
@@ -133,15 +133,19 @@ router.post(
// if a specific collection is passed then we need to check auth to view it
if (collectionId) {
where[Op.and].push({ collectionId: [collectionId] });
const collection = await Collection.scope({
method: ["withMembership", user.id],
}).findByPk(collectionId);
const collection = await Collection.scope([
sort === "index" ? "withDocumentStructure" : "defaultScope",
{
method: ["withMembership", user.id],
},
]).findByPk(collectionId);
authorize(user, "readDocument", collection);
// index sort is special because it uses the order of the documents in the
// collection.documentStructure rather than a database column
if (sort === "index") {
documentIds = (collection?.documentStructure || [])
documentIds = (collection.documentStructure || [])
.map((node) => node.id)
.slice(ctx.state.pagination.offset, ctx.state.pagination.limit);
where[Op.and].push({ id: documentIds });
+5 -1
View File
@@ -54,7 +54,11 @@ router.post(
});
authorize(user, "read", document);
const collection = await document.$get("collection");
const collection = document.collectionId
? await Collection.scope("withDocumentStructure").findByPk(
document.collectionId
)
: undefined;
const parentIds = collection?.getDocumentParents(documentId);
const parentShare = parentIds
? await Share.scope({
+4 -1
View File
@@ -1,5 +1,6 @@
import path from "path";
import { InferAttributes, InferCreationAttributes } from "sequelize";
import sequelizeStrictAttributes from "sequelize-strict-attributes";
import { Sequelize } from "sequelize-typescript";
import { Umzug, SequelizeStorage, MigrationError } from "umzug";
import env from "@server/env";
@@ -23,7 +24,7 @@ export function createDatabaseInstance(
}
): Sequelize {
try {
return new Sequelize(databaseUrl, {
const instance = new Sequelize(databaseUrl, {
logging: (msg) =>
process.env.DEBUG?.includes("database") &&
Logger.debug("database", msg),
@@ -47,6 +48,8 @@ export function createDatabaseInstance(
},
schema,
});
sequelizeStrictAttributes(instance);
return instance;
} catch (error) {
Logger.fatal(
"Could not connect to database",
+4 -2
View File
@@ -310,7 +310,7 @@ export async function buildCollection(
overrides.permission = CollectionPermission.ReadWrite;
}
return Collection.create({
return Collection.scope("withDocumentStructure").create({
name: faker.lorem.words(2),
description: faker.lorem.words(4),
createdById: overrides.userId,
@@ -416,7 +416,9 @@ export async function buildDocument(
if (overrides.collectionId && overrides.publishedAt !== null) {
collection = collection
? await Collection.findByPk(overrides.collectionId)
? await Collection.scope("withDocumentStructure").findByPk(
overrides.collectionId
)
: undefined;
await collection?.addDocumentToStructure(document, 0);
-1
View File
@@ -11,7 +11,6 @@ export async function collectionIndexing(
where: {
teamId,
},
attributes: ["id", "index", "name", "teamId"],
transaction,
});
+6
View File
@@ -198,6 +198,12 @@ export const codeLanguages: Record<string, CodeLanguage> = {
label: "Powershell",
loader: () => import("refractor/lang/powershell").then((m) => m.default),
},
promql: {
lang: "promql",
label: "PromQL",
// @ts-expect-error PromQL is not in types but exists
loader: () => import("refractor/lang/promql").then((m) => m.default),
},
protobuf: {
lang: "protobuf",
label: "Protobuf",
+215 -241
View File
@@ -105,35 +105,35 @@
"@smithy/util-utf8" "^2.0.0"
tslib "^2.6.2"
"@aws-sdk/client-s3@3.797.0":
version "3.797.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.797.0.tgz#27d809ddc08b4f026bdf3b01c1c43c5cb5d06e43"
integrity sha512-N7pB94mXi4fCt+rYmR9TzfbbwZsWs6Mnk/jDNX9sAZyWkZQnS3AZ/nRtnUmdCimdnOPOMNVjmAoZ4mW3Ff8LDw==
"@aws-sdk/client-s3@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.803.0.tgz#a1a39be3de26c1e6cc53ca8e5df6aa192b5b15eb"
integrity sha512-Y8gw9Lun2qV5wU2diAqB1qEynV7wiz/oM9rtwhLagMvB6u9uO65+0qIN/gDInReCyI0XQ7sULqW8FjYhfSnWhQ==
dependencies:
"@aws-crypto/sha1-browser" "5.2.0"
"@aws-crypto/sha256-browser" "5.2.0"
"@aws-crypto/sha256-js" "5.2.0"
"@aws-sdk/core" "3.796.0"
"@aws-sdk/credential-provider-node" "3.797.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/credential-provider-node" "3.803.0"
"@aws-sdk/middleware-bucket-endpoint" "3.775.0"
"@aws-sdk/middleware-expect-continue" "3.775.0"
"@aws-sdk/middleware-flexible-checksums" "3.796.0"
"@aws-sdk/middleware-flexible-checksums" "3.799.0"
"@aws-sdk/middleware-host-header" "3.775.0"
"@aws-sdk/middleware-location-constraint" "3.775.0"
"@aws-sdk/middleware-logger" "3.775.0"
"@aws-sdk/middleware-recursion-detection" "3.775.0"
"@aws-sdk/middleware-sdk-s3" "3.796.0"
"@aws-sdk/middleware-sdk-s3" "3.799.0"
"@aws-sdk/middleware-ssec" "3.775.0"
"@aws-sdk/middleware-user-agent" "3.796.0"
"@aws-sdk/middleware-user-agent" "3.799.0"
"@aws-sdk/region-config-resolver" "3.775.0"
"@aws-sdk/signature-v4-multi-region" "3.796.0"
"@aws-sdk/signature-v4-multi-region" "3.803.0"
"@aws-sdk/types" "3.775.0"
"@aws-sdk/util-endpoints" "3.787.0"
"@aws-sdk/util-user-agent-browser" "3.775.0"
"@aws-sdk/util-user-agent-node" "3.796.0"
"@aws-sdk/util-user-agent-node" "3.799.0"
"@aws-sdk/xml-builder" "3.775.0"
"@smithy/config-resolver" "^4.1.0"
"@smithy/core" "^3.2.0"
"@smithy/core" "^3.3.0"
"@smithy/eventstream-serde-browser" "^4.0.2"
"@smithy/eventstream-serde-config-resolver" "^4.1.0"
"@smithy/eventstream-serde-node" "^4.0.2"
@@ -144,129 +144,129 @@
"@smithy/invalid-dependency" "^4.0.2"
"@smithy/md5-js" "^4.0.2"
"@smithy/middleware-content-length" "^4.0.2"
"@smithy/middleware-endpoint" "^4.1.0"
"@smithy/middleware-retry" "^4.1.0"
"@smithy/middleware-endpoint" "^4.1.1"
"@smithy/middleware-retry" "^4.1.2"
"@smithy/middleware-serde" "^4.0.3"
"@smithy/middleware-stack" "^4.0.2"
"@smithy/node-config-provider" "^4.0.2"
"@smithy/node-http-handler" "^4.0.4"
"@smithy/protocol-http" "^5.1.0"
"@smithy/smithy-client" "^4.2.0"
"@smithy/smithy-client" "^4.2.1"
"@smithy/types" "^4.2.0"
"@smithy/url-parser" "^4.0.2"
"@smithy/util-base64" "^4.0.0"
"@smithy/util-body-length-browser" "^4.0.0"
"@smithy/util-body-length-node" "^4.0.0"
"@smithy/util-defaults-mode-browser" "^4.0.8"
"@smithy/util-defaults-mode-node" "^4.0.8"
"@smithy/util-defaults-mode-browser" "^4.0.9"
"@smithy/util-defaults-mode-node" "^4.0.9"
"@smithy/util-endpoints" "^3.0.2"
"@smithy/util-middleware" "^4.0.2"
"@smithy/util-retry" "^4.0.2"
"@smithy/util-retry" "^4.0.3"
"@smithy/util-stream" "^4.2.0"
"@smithy/util-utf8" "^4.0.0"
"@smithy/util-waiter" "^4.0.3"
tslib "^2.6.2"
"@aws-sdk/client-sso@3.797.0":
version "3.797.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.797.0.tgz#94d123568830788980cc8712a94d3b20de735e4c"
integrity sha512-9xuR918p7tShR67ZL+AOSbydpJxSHAOdXcQswxxWR/hKCF7tULX7tyL3gNo3l/ETp0CDcStvorOdH/nCbzEOjw==
"@aws-sdk/client-sso@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.803.0.tgz#16a4611e279694effcbb65d9d65ed1d64c635855"
integrity sha512-TT3BRD1yiL3IGXBKfq560vvEdyOJtJr8bp+R82dD6P0IoS8aFcNtF822BOJy7CqvxksOc3hQKLaPVzE82gE8Ow==
dependencies:
"@aws-crypto/sha256-browser" "5.2.0"
"@aws-crypto/sha256-js" "5.2.0"
"@aws-sdk/core" "3.796.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/middleware-host-header" "3.775.0"
"@aws-sdk/middleware-logger" "3.775.0"
"@aws-sdk/middleware-recursion-detection" "3.775.0"
"@aws-sdk/middleware-user-agent" "3.796.0"
"@aws-sdk/middleware-user-agent" "3.799.0"
"@aws-sdk/region-config-resolver" "3.775.0"
"@aws-sdk/types" "3.775.0"
"@aws-sdk/util-endpoints" "3.787.0"
"@aws-sdk/util-user-agent-browser" "3.775.0"
"@aws-sdk/util-user-agent-node" "3.796.0"
"@aws-sdk/util-user-agent-node" "3.799.0"
"@smithy/config-resolver" "^4.1.0"
"@smithy/core" "^3.2.0"
"@smithy/core" "^3.3.0"
"@smithy/fetch-http-handler" "^5.0.2"
"@smithy/hash-node" "^4.0.2"
"@smithy/invalid-dependency" "^4.0.2"
"@smithy/middleware-content-length" "^4.0.2"
"@smithy/middleware-endpoint" "^4.1.0"
"@smithy/middleware-retry" "^4.1.0"
"@smithy/middleware-endpoint" "^4.1.1"
"@smithy/middleware-retry" "^4.1.2"
"@smithy/middleware-serde" "^4.0.3"
"@smithy/middleware-stack" "^4.0.2"
"@smithy/node-config-provider" "^4.0.2"
"@smithy/node-http-handler" "^4.0.4"
"@smithy/protocol-http" "^5.1.0"
"@smithy/smithy-client" "^4.2.0"
"@smithy/smithy-client" "^4.2.1"
"@smithy/types" "^4.2.0"
"@smithy/url-parser" "^4.0.2"
"@smithy/util-base64" "^4.0.0"
"@smithy/util-body-length-browser" "^4.0.0"
"@smithy/util-body-length-node" "^4.0.0"
"@smithy/util-defaults-mode-browser" "^4.0.8"
"@smithy/util-defaults-mode-node" "^4.0.8"
"@smithy/util-defaults-mode-browser" "^4.0.9"
"@smithy/util-defaults-mode-node" "^4.0.9"
"@smithy/util-endpoints" "^3.0.2"
"@smithy/util-middleware" "^4.0.2"
"@smithy/util-retry" "^4.0.2"
"@smithy/util-retry" "^4.0.3"
"@smithy/util-utf8" "^4.0.0"
tslib "^2.6.2"
"@aws-sdk/core@3.796.0":
version "3.796.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.796.0.tgz#6076b78772c1eb97ec6ea9064c85ce500e0aa889"
integrity sha512-tH8Sp7lCxISVoLnkyv4AouuXs2CDlMhTuesWa0lq2NX1f+DXsMwSBtN37ttZdpFMw3F8mWdsJt27X9h2Oq868A==
"@aws-sdk/core@3.799.0":
version "3.799.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.799.0.tgz#383f903ede137df108dcd5f817074515d2b1242e"
integrity sha512-hkKF3Zpc6+H8GI1rlttYVRh9uEE77cqAzLmLpY3iu7sql8cZgPERRBfaFct8p1SaDyrksLNiboD1vKW58mbsYg==
dependencies:
"@aws-sdk/types" "3.775.0"
"@smithy/core" "^3.2.0"
"@smithy/core" "^3.3.0"
"@smithy/node-config-provider" "^4.0.2"
"@smithy/property-provider" "^4.0.2"
"@smithy/protocol-http" "^5.1.0"
"@smithy/signature-v4" "^5.1.0"
"@smithy/smithy-client" "^4.2.0"
"@smithy/smithy-client" "^4.2.1"
"@smithy/types" "^4.2.0"
"@smithy/util-middleware" "^4.0.2"
fast-xml-parser "4.4.1"
tslib "^2.6.2"
"@aws-sdk/credential-provider-env@3.796.0":
version "3.796.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.796.0.tgz#4ed6903814868b0f9daa8c8db449b1f1adcda041"
integrity sha512-kQzGKm4IOYYO6vUrai2JocNwhJm4Aml2BsAV+tBhFhhkutE7khf9PUucoVjB78b0J48nF+kdSacqzY+gB81/Uw==
"@aws-sdk/credential-provider-env@3.799.0":
version "3.799.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.799.0.tgz#d933265b54b18ef1232762c318ff0d75bc7785f9"
integrity sha512-vT/SSWtbUIOW/U21qgEySmmO44SFWIA7WeQPX1OrI8WJ5n7OEI23JWLHjLvHTkYmuZK6z1rPcv7HzRgmuGRibA==
dependencies:
"@aws-sdk/core" "3.796.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/types" "3.775.0"
"@smithy/property-provider" "^4.0.2"
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/credential-provider-http@3.796.0":
version "3.796.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.796.0.tgz#7f36074021b2605dba4b758b4b0ca98fb5b965ad"
integrity sha512-wWOT6VAHIKOuHdKFGm1iyKvx7f6+Kc/YTzFWJPuT+l+CPlXR6ylP1UMIDsHHLKpMzsrh3CH77QDsjkhQrnKkfg==
"@aws-sdk/credential-provider-http@3.799.0":
version "3.799.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.799.0.tgz#9286235bb30c4f22fbeac0ecf2fe5e5f99aaa282"
integrity sha512-2CjBpOWmhaPAExOgHnIB5nOkS5ef+mfRlJ1JC4nsnjAx0nrK4tk0XRE0LYz11P3+ue+a86cU8WTmBo+qjnGxPQ==
dependencies:
"@aws-sdk/core" "3.796.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/types" "3.775.0"
"@smithy/fetch-http-handler" "^5.0.2"
"@smithy/node-http-handler" "^4.0.4"
"@smithy/property-provider" "^4.0.2"
"@smithy/protocol-http" "^5.1.0"
"@smithy/smithy-client" "^4.2.0"
"@smithy/smithy-client" "^4.2.1"
"@smithy/types" "^4.2.0"
"@smithy/util-stream" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/credential-provider-ini@3.797.0":
version "3.797.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.797.0.tgz#e617edac6dbd761e13826d49092b85a337bf29a2"
integrity sha512-Zpj6pJ2hnebrhLDr+x61ArMUkjHG6mfJRfamHxeVTgZkhLcwHjC5aM4u9pWTVugIaPY+VBtgkKPbi3TRbHlt2g==
"@aws-sdk/credential-provider-ini@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.803.0.tgz#5f831e53cf475756052aba81b128d66d8ba5a52f"
integrity sha512-XtbFftJex18GobpRWJxg5V7stVwvmV2gdBYW+zRM0YW6NZAR4NP/4vcc9ktM3++BWW5OF4Kvl7Nu7N4mAzRHmw==
dependencies:
"@aws-sdk/core" "3.796.0"
"@aws-sdk/credential-provider-env" "3.796.0"
"@aws-sdk/credential-provider-http" "3.796.0"
"@aws-sdk/credential-provider-process" "3.796.0"
"@aws-sdk/credential-provider-sso" "3.797.0"
"@aws-sdk/credential-provider-web-identity" "3.797.0"
"@aws-sdk/nested-clients" "3.797.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/credential-provider-env" "3.799.0"
"@aws-sdk/credential-provider-http" "3.799.0"
"@aws-sdk/credential-provider-process" "3.799.0"
"@aws-sdk/credential-provider-sso" "3.803.0"
"@aws-sdk/credential-provider-web-identity" "3.803.0"
"@aws-sdk/nested-clients" "3.803.0"
"@aws-sdk/types" "3.775.0"
"@smithy/credential-provider-imds" "^4.0.2"
"@smithy/property-provider" "^4.0.2"
@@ -274,17 +274,17 @@
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/credential-provider-node@3.797.0":
version "3.797.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.797.0.tgz#bf82e239b14c8fcc7da660c2bc1ec042123638d9"
integrity sha512-xJSWvvnmzEfHbqbpN4F3E3mI9+zJ/VWLGiKOjzX1Inbspa5WqNn2GoMamolZR2TvvZS4F3Hp73TD1WoBzkIjuw==
"@aws-sdk/credential-provider-node@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.803.0.tgz#bcfd9638f7f8e8a1b78fc2c58346daf7f67389e2"
integrity sha512-lPdRYbjxwmv7gRqbaEe1Y1Yl5fD4c43AuK3P31eKjf1j41hZEQ0dg9a9KLk7i6ehEoVsxewnJrvbC2pVoYrCmQ==
dependencies:
"@aws-sdk/credential-provider-env" "3.796.0"
"@aws-sdk/credential-provider-http" "3.796.0"
"@aws-sdk/credential-provider-ini" "3.797.0"
"@aws-sdk/credential-provider-process" "3.796.0"
"@aws-sdk/credential-provider-sso" "3.797.0"
"@aws-sdk/credential-provider-web-identity" "3.797.0"
"@aws-sdk/credential-provider-env" "3.799.0"
"@aws-sdk/credential-provider-http" "3.799.0"
"@aws-sdk/credential-provider-ini" "3.803.0"
"@aws-sdk/credential-provider-process" "3.799.0"
"@aws-sdk/credential-provider-sso" "3.803.0"
"@aws-sdk/credential-provider-web-identity" "3.803.0"
"@aws-sdk/types" "3.775.0"
"@smithy/credential-provider-imds" "^4.0.2"
"@smithy/property-provider" "^4.0.2"
@@ -292,61 +292,61 @@
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/credential-provider-process@3.796.0":
version "3.796.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.796.0.tgz#d22d8adf73985fb218ff74365cd86b71bbd64513"
integrity sha512-r4e8/4AdKn/qQbRVocW7oXkpoiuXdTv0qty8AASNLnbQnT1vjD1bvmP6kp4fbHPWgwY8I9h0Dqjp49uy9Bqyuw==
"@aws-sdk/credential-provider-process@3.799.0":
version "3.799.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.799.0.tgz#34e8b3d7c889bbb87dfe7c171255a8b99a34df25"
integrity sha512-g8jmNs2k98WNHMYcea1YKA+7ao2Ma4w0P42Dz4YpcI155pQHxHx25RwbOG+rsAKuo3bKwkW53HVE/ZTKhcWFgw==
dependencies:
"@aws-sdk/core" "3.796.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/types" "3.775.0"
"@smithy/property-provider" "^4.0.2"
"@smithy/shared-ini-file-loader" "^4.0.2"
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/credential-provider-sso@3.797.0":
version "3.797.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.797.0.tgz#ea22714498157c937acd3170660b10ae0348366a"
integrity sha512-VlyWnjTsTnBXqXcEW0nw3S7nj00n9fYwF6uU6HPO9t860yIySG01lNPAWTvAt3DfVL5SRS0GANriCZF6ohcMcQ==
"@aws-sdk/credential-provider-sso@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.803.0.tgz#8a0a48a9acaab8f4e5c172427cc476a2f3513aaa"
integrity sha512-HEAcxSHrHxVekGnZqjFrkqdYAf4jFiZIMhuh0jqiqY6A4udEyXy1V623HVcTz/XXj6UBRnyD+zmOmlbzBvkfQg==
dependencies:
"@aws-sdk/client-sso" "3.797.0"
"@aws-sdk/core" "3.796.0"
"@aws-sdk/token-providers" "3.797.0"
"@aws-sdk/client-sso" "3.803.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/token-providers" "3.803.0"
"@aws-sdk/types" "3.775.0"
"@smithy/property-provider" "^4.0.2"
"@smithy/shared-ini-file-loader" "^4.0.2"
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/credential-provider-web-identity@3.797.0":
version "3.797.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.797.0.tgz#e52b5a054a71f83ffafe3461b41851d5008d84de"
integrity sha512-DIb05FEmdOX7bNsqSVEAB3UkaDgrYHonQ2+gcBLqZ7LoDNnovHIlvC5jii93usgEStxITZstnzw+49keNEgVWw==
"@aws-sdk/credential-provider-web-identity@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.803.0.tgz#9612bd4e2a2bdf2d3826f18b2138f8bd996605bb"
integrity sha512-oChnEpwI25OW4GPvhI1VnXM3IQEkDhESGFZd5JHzJDHyvSF2NU58V86jkJyaa4H4X25IbGaThuulNI5xCOngjw==
dependencies:
"@aws-sdk/core" "3.796.0"
"@aws-sdk/nested-clients" "3.797.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/nested-clients" "3.803.0"
"@aws-sdk/types" "3.775.0"
"@smithy/property-provider" "^4.0.2"
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/crt-loader@3.796.0":
version "3.796.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/crt-loader/-/crt-loader-3.796.0.tgz#1cba5b2ea9f50b7a904cb5902a7751b90b65b1b3"
integrity sha512-dfTl4hCDKJSJTq4mPSQsv65p9XlYof+SVWKxQRu6OQBCOuhGPEhr7vN0byONBdwjhiY0WECjCANDi84lDVysdQ==
"@aws-sdk/crt-loader@3.799.0":
version "3.799.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/crt-loader/-/crt-loader-3.799.0.tgz#d9552a6fd7ae533b79de23a6f82f39ebfd752053"
integrity sha512-I35Vu2UdqZso/tm1qcCNRhXEmkzbikeG3zmrcIhtTJajnOIyurZj92N9mcwXfRVQXc3N6WUduv+4pRKc7PAHmw==
dependencies:
"@aws-sdk/util-user-agent-node" "3.796.0"
"@aws-sdk/util-user-agent-node" "3.799.0"
aws-crt "^1.24.0"
tslib "^2.6.2"
"@aws-sdk/lib-storage@3.797.0":
version "3.797.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.797.0.tgz#8947c3f27fcd7b77ce171929b2ee96feed9ba3b7"
integrity sha512-hGacJXiFBnhkDhDuirptViR0ZfpvE6ENt+xJFV76F5OX8RvO7UhEkq9wdq/GzlSwrPB2XBfoYQgdtHJpjHs2zA==
"@aws-sdk/lib-storage@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.803.0.tgz#71f08ffc449f33681a133e3d0a2f0570b7547990"
integrity sha512-MDep7r9jmLzadMgDHsuElmCa1gPv79pAieswqFif6fSyYxTHuuhNH/znJDQceY4JIq4J9k+te+VFhv7/OcmBZg==
dependencies:
"@smithy/abort-controller" "^4.0.2"
"@smithy/middleware-endpoint" "^4.1.0"
"@smithy/smithy-client" "^4.2.0"
"@smithy/middleware-endpoint" "^4.1.1"
"@smithy/smithy-client" "^4.2.1"
buffer "5.6.0"
events "3.3.0"
stream-browserify "3.0.0"
@@ -375,15 +375,15 @@
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/middleware-flexible-checksums@3.796.0":
version "3.796.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.796.0.tgz#c5a13c5dc7fd217e3d3514d3a75ae71c4b0ce5c6"
integrity sha512-JTqnyzGlbvXDcEnBtd5LFNrCFKUHnGyp/V9+BkvzNP02WXABLWzYvj1TCaf5pQySwK/b4kVn5lvbpTi0rXqjZw==
"@aws-sdk/middleware-flexible-checksums@3.799.0":
version "3.799.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.799.0.tgz#218ac9b04e1d0cefcec0634f42523ca977ecbaaa"
integrity sha512-vBIAdDl2neaFiUMxyr7dAtX7m9Iw5c0bz7OirD0JGW0nYn0mBcqKpFZEU75ewA5p2+Cm7RQDdt6099ne3gj0WA==
dependencies:
"@aws-crypto/crc32" "5.2.0"
"@aws-crypto/crc32c" "5.2.0"
"@aws-crypto/util" "5.2.0"
"@aws-sdk/core" "3.796.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/types" "3.775.0"
"@smithy/is-array-buffer" "^4.0.0"
"@smithy/node-config-provider" "^4.0.2"
@@ -432,19 +432,19 @@
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/middleware-sdk-s3@3.796.0":
version "3.796.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.796.0.tgz#f20d77f02f27fd47178500581ae340f012652004"
integrity sha512-5o78oE79sGOtYkL7Up02h2nmr9UhGQZJgxE29EBdTw4dZ1EaA46L+C8oA+fBCmAB5xPQsjQqvhRrsr4Lcp+jZQ==
"@aws-sdk/middleware-sdk-s3@3.799.0":
version "3.799.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.799.0.tgz#ed5a492b2c32ae64f5a8c8b3127a36b0c1ddba90"
integrity sha512-Zwdge5NArgcJwPuGZwgfXY6XXkWEBmMS9dqu5g3DcfHmZUuSjQUqmOsDdSZlE3RFHrDAEbuGQlrFUE8zuwdKQA==
dependencies:
"@aws-sdk/core" "3.796.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/types" "3.775.0"
"@aws-sdk/util-arn-parser" "3.723.0"
"@smithy/core" "^3.2.0"
"@smithy/core" "^3.3.0"
"@smithy/node-config-provider" "^4.0.2"
"@smithy/protocol-http" "^5.1.0"
"@smithy/signature-v4" "^5.1.0"
"@smithy/smithy-client" "^4.2.0"
"@smithy/smithy-client" "^4.2.1"
"@smithy/types" "^4.2.0"
"@smithy/util-config-provider" "^4.0.0"
"@smithy/util-middleware" "^4.0.2"
@@ -461,60 +461,60 @@
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/middleware-user-agent@3.796.0":
version "3.796.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.796.0.tgz#80149d7f9034d41d35de88d96a6b73c1cb06413b"
integrity sha512-IeNg+3jNWT37J45opi5Jx89hGF0lOnZjiNwlMp3rKq7PlOqy8kWq5J1Gxk0W3tIkPpuf68CtBs/QFrRXWOjsZw==
"@aws-sdk/middleware-user-agent@3.799.0":
version "3.799.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.799.0.tgz#e120e6e1341bcba5427cee0385172170e4615186"
integrity sha512-TropQZanbOTxa+p+Nl4fWkzlRhgFwDfW+Wb6TR3jZN7IXHNlPpgGFpdrgvBExhW/RBhqr+94OsR8Ou58lp3hhA==
dependencies:
"@aws-sdk/core" "3.796.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/types" "3.775.0"
"@aws-sdk/util-endpoints" "3.787.0"
"@smithy/core" "^3.2.0"
"@smithy/core" "^3.3.0"
"@smithy/protocol-http" "^5.1.0"
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/nested-clients@3.797.0":
version "3.797.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.797.0.tgz#59699196a9b3fa43b021bdf1715e531d74885f75"
integrity sha512-xCsRKdsv0GAg9E28fvYBdC3JR2xdtZ2o41MVknOs+pSFtMsZm3SsgxObN35p1OTMk/o/V0LORGVLnFQMlc5QiA==
"@aws-sdk/nested-clients@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.803.0.tgz#aa5852a9c8b48bcad903ac841952b93ffd0bd3b3"
integrity sha512-wiWiYaFQxK2u37G9IOXuWkHelEbU8ulLxdHpoPf0TSu/1boqLW7fcofuZATAvFcvigQx3oebwO8G4c/mmixTTw==
dependencies:
"@aws-crypto/sha256-browser" "5.2.0"
"@aws-crypto/sha256-js" "5.2.0"
"@aws-sdk/core" "3.796.0"
"@aws-sdk/core" "3.799.0"
"@aws-sdk/middleware-host-header" "3.775.0"
"@aws-sdk/middleware-logger" "3.775.0"
"@aws-sdk/middleware-recursion-detection" "3.775.0"
"@aws-sdk/middleware-user-agent" "3.796.0"
"@aws-sdk/middleware-user-agent" "3.799.0"
"@aws-sdk/region-config-resolver" "3.775.0"
"@aws-sdk/types" "3.775.0"
"@aws-sdk/util-endpoints" "3.787.0"
"@aws-sdk/util-user-agent-browser" "3.775.0"
"@aws-sdk/util-user-agent-node" "3.796.0"
"@aws-sdk/util-user-agent-node" "3.799.0"
"@smithy/config-resolver" "^4.1.0"
"@smithy/core" "^3.2.0"
"@smithy/core" "^3.3.0"
"@smithy/fetch-http-handler" "^5.0.2"
"@smithy/hash-node" "^4.0.2"
"@smithy/invalid-dependency" "^4.0.2"
"@smithy/middleware-content-length" "^4.0.2"
"@smithy/middleware-endpoint" "^4.1.0"
"@smithy/middleware-retry" "^4.1.0"
"@smithy/middleware-endpoint" "^4.1.1"
"@smithy/middleware-retry" "^4.1.2"
"@smithy/middleware-serde" "^4.0.3"
"@smithy/middleware-stack" "^4.0.2"
"@smithy/node-config-provider" "^4.0.2"
"@smithy/node-http-handler" "^4.0.4"
"@smithy/protocol-http" "^5.1.0"
"@smithy/smithy-client" "^4.2.0"
"@smithy/smithy-client" "^4.2.1"
"@smithy/types" "^4.2.0"
"@smithy/url-parser" "^4.0.2"
"@smithy/util-base64" "^4.0.0"
"@smithy/util-body-length-browser" "^4.0.0"
"@smithy/util-body-length-node" "^4.0.0"
"@smithy/util-defaults-mode-browser" "^4.0.8"
"@smithy/util-defaults-mode-node" "^4.0.8"
"@smithy/util-defaults-mode-browser" "^4.0.9"
"@smithy/util-defaults-mode-node" "^4.0.9"
"@smithy/util-endpoints" "^3.0.2"
"@smithy/util-middleware" "^4.0.2"
"@smithy/util-retry" "^4.0.2"
"@smithy/util-retry" "^4.0.3"
"@smithy/util-utf8" "^4.0.0"
tslib "^2.6.2"
@@ -530,42 +530,42 @@
"@smithy/util-middleware" "^4.0.2"
tslib "^2.6.2"
"@aws-sdk/s3-presigned-post@3.797.0":
version "3.797.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/s3-presigned-post/-/s3-presigned-post-3.797.0.tgz#37f87d205bbb649c82ecd0ce1831755e4ff25d7b"
integrity sha512-imfnmmH4P6hVh7NE51wP5FoBzyzph2dYqzAC/bF2bXjCv+/FaiPEt598K0A1mt4BUB5Y+0J3GcigOwzWHFU/SA==
"@aws-sdk/s3-presigned-post@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/s3-presigned-post/-/s3-presigned-post-3.803.0.tgz#b3909867960a6f2754376626e604516d7a04a35b"
integrity sha512-+KImbVhKglyGE9AoQbpPAntabuLf7kt89Rh3TJYgb+sgoPx51sRYQEBqJYIY2NRuvPY/E3Gm0X7CH+0YTBIVmA==
dependencies:
"@aws-sdk/client-s3" "3.797.0"
"@aws-sdk/client-s3" "3.803.0"
"@aws-sdk/types" "3.775.0"
"@aws-sdk/util-format-url" "3.775.0"
"@smithy/middleware-endpoint" "^4.1.0"
"@smithy/middleware-endpoint" "^4.1.1"
"@smithy/signature-v4" "^5.1.0"
"@smithy/types" "^4.2.0"
"@smithy/util-hex-encoding" "^4.0.0"
"@smithy/util-utf8" "^4.0.0"
tslib "^2.6.2"
"@aws-sdk/s3-request-presigner@3.797.0":
version "3.797.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.797.0.tgz#f375beb8a892f2b8452d0d6da38bd60f46afc4ab"
integrity sha512-ncEsGwmQIkXi3IREbGLC6X5sY38WM1WUAdaU5uQmBPOGEVQHtDyrIObBsIzK99j83SGWi8RqO7/n0jMGZPmeQw==
"@aws-sdk/s3-request-presigner@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.803.0.tgz#6bd579dfafcd547edab2cebdeb6526029c8d8599"
integrity sha512-DsLkGqV3FrnZxTS8Z5ZvmiiTjR/zD/V4piNG1EL5uG3tLEtIDjeTQOEnA8fdQaGl0m/SI6TDW/L3J3BIFfg34g==
dependencies:
"@aws-sdk/signature-v4-multi-region" "3.796.0"
"@aws-sdk/signature-v4-multi-region" "3.803.0"
"@aws-sdk/types" "3.775.0"
"@aws-sdk/util-format-url" "3.775.0"
"@smithy/middleware-endpoint" "^4.1.0"
"@smithy/middleware-endpoint" "^4.1.1"
"@smithy/protocol-http" "^5.1.0"
"@smithy/smithy-client" "^4.2.0"
"@smithy/smithy-client" "^4.2.1"
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/signature-v4-crt@^3.796.0":
version "3.796.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.796.0.tgz#28df0cf702aa7e2c5e50e359776bf0f36b648e0b"
integrity sha512-RCYhLuRE8mhzpE5DzU3Mu11M1KdC480OQ+coB/h0c39VlYkcE8MGTB+eOjGOoYQx3RtFBs/y0RTSR4kj8Oo21Q==
"@aws-sdk/signature-v4-crt@^3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.803.0.tgz#3f817381719fb2ca5bd610bc3e8696ea7a5766c7"
integrity sha512-HjJIBJk7IKPNoTWwxLsVEfBf2kiY5FVZvcS1kOucpfz/J/3In/ZguX+3qs3ASOrbX7bSf/XbUVP2aETgoKCFvQ==
dependencies:
"@aws-sdk/crt-loader" "3.796.0"
"@aws-sdk/signature-v4-multi-region" "3.796.0"
"@aws-sdk/crt-loader" "3.799.0"
"@aws-sdk/signature-v4-multi-region" "3.803.0"
"@aws-sdk/types" "3.775.0"
"@smithy/querystring-parser" "^4.0.2"
"@smithy/signature-v4" "^5.1.0"
@@ -573,24 +573,24 @@
"@smithy/util-middleware" "^4.0.2"
tslib "^2.6.2"
"@aws-sdk/signature-v4-multi-region@3.796.0":
version "3.796.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.796.0.tgz#b32b0ee252c87a7c18c215407b1f189927ef850c"
integrity sha512-JAOLdvazTc9HlTFslSrIOrKRMuOruuM3FeGw0hyfLP/RIbjd9bqe/xLIzDSJr3wpCpJs0sXoofwJgXtgTipvjA==
"@aws-sdk/signature-v4-multi-region@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.803.0.tgz#8eef7dfb2c40e77881a42a9972a70af3f0594156"
integrity sha512-9ZyjR68r5N6meBUSLwus7W+1ojYllD67WrrY8JOMQkiQLMoLty6VzlbFgQtRYaJxJx1IzNWvrdU+SgXRm+L5oQ==
dependencies:
"@aws-sdk/middleware-sdk-s3" "3.796.0"
"@aws-sdk/middleware-sdk-s3" "3.799.0"
"@aws-sdk/types" "3.775.0"
"@smithy/protocol-http" "^5.1.0"
"@smithy/signature-v4" "^5.1.0"
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@aws-sdk/token-providers@3.797.0":
version "3.797.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.797.0.tgz#9f8c316f1adfda592c8dc6e69082879896720696"
integrity sha512-TLFkP4BBdkH2zCXhG3JjaYrRft25MMZ+6/YDz1C/ikq2Zk8krUbVoSmhtYMVz10JtxAPiQ++w0vI/qbz2JSDXg==
"@aws-sdk/token-providers@3.803.0":
version "3.803.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.803.0.tgz#ba0f6b2919521125cf9c280bc3de1135c4e47e25"
integrity sha512-lDbMgVjWWEPT7a6lLaAEPPljwOeLTjPX2sJ7MoDICpQotg4Yd8cQfX3nqScSyLAGSc7Rq/21UPnPoij/E0K3lg==
dependencies:
"@aws-sdk/nested-clients" "3.797.0"
"@aws-sdk/nested-clients" "3.803.0"
"@aws-sdk/types" "3.775.0"
"@smithy/property-provider" "^4.0.2"
"@smithy/shared-ini-file-loader" "^4.0.2"
@@ -649,12 +649,12 @@
bowser "^2.11.0"
tslib "^2.6.2"
"@aws-sdk/util-user-agent-node@3.796.0":
version "3.796.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.796.0.tgz#72c2ea1f32d2eb1200e111f48fd8a3c005f5202c"
integrity sha512-9fQpNcHgVFitf1tbTT8V1xGRoRHSmOAWjrhevo6Tc0WoINMAKz+4JNqfVGWRE5Tmtpq0oHKo1RmvxXQQtJYciA==
"@aws-sdk/util-user-agent-node@3.799.0":
version "3.799.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.799.0.tgz#8d0794add4efc79830143277f5faa27f16531c7a"
integrity sha512-iXBk38RbIWPF5Nq9O4AnktORAzXovSVqWYClvS1qbE7ILsnTLJbagU9HlU25O2iV5COVh1qZkwuP5NHQ2yTEyw==
dependencies:
"@aws-sdk/middleware-user-agent" "3.796.0"
"@aws-sdk/middleware-user-agent" "3.799.0"
"@aws-sdk/types" "3.775.0"
"@smithy/node-config-provider" "^4.0.2"
"@smithy/types" "^4.2.0"
@@ -737,14 +737,7 @@
"@jridgewell/trace-mapping" "^0.3.25"
jsesc "^3.0.2"
"@babel/helper-annotate-as-pure@^7.22.5", "@babel/helper-annotate-as-pure@^7.25.9":
version "7.25.9"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4"
integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==
dependencies:
"@babel/types" "^7.25.9"
"@babel/helper-annotate-as-pure@^7.27.1":
"@babel/helper-annotate-as-pure@^7.22.5", "@babel/helper-annotate-as-pure@^7.25.9", "@babel/helper-annotate-as-pure@^7.27.1":
version "7.27.1"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz#4345d81a9a46a6486e24d069469f13e60445c05d"
integrity sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==
@@ -775,16 +768,7 @@
"@babel/traverse" "^7.27.1"
semver "^6.3.1"
"@babel/helper-create-regexp-features-plugin@^7.18.6":
version "7.26.3"
resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz#5169756ecbe1d95f7866b90bb555b022595302a0"
integrity sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==
dependencies:
"@babel/helper-annotate-as-pure" "^7.25.9"
regexpu-core "^6.2.0"
semver "^6.3.1"
"@babel/helper-create-regexp-features-plugin@^7.27.1":
"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1":
version "7.27.1"
resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53"
integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==
@@ -826,15 +810,7 @@
"@babel/traverse" "^7.27.1"
"@babel/types" "^7.27.1"
"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.22.5":
version "7.25.9"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715"
integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==
dependencies:
"@babel/traverse" "^7.25.9"
"@babel/types" "^7.25.9"
"@babel/helper-module-imports@^7.27.1":
"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.22.5", "@babel/helper-module-imports@^7.27.1":
version "7.27.1"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204"
integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
@@ -1093,20 +1069,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-typescript@^7.27.1":
"@babel/plugin-syntax-typescript@^7.27.1", "@babel/plugin-syntax-typescript@^7.7.2":
version "7.27.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18"
integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==
dependencies:
"@babel/helper-plugin-utils" "^7.27.1"
"@babel/plugin-syntax-typescript@^7.7.2":
version "7.25.9"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399"
integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==
dependencies:
"@babel/helper-plugin-utils" "^7.25.9"
"@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357"
@@ -4152,10 +4121,10 @@
"@smithy/util-middleware" "^4.0.2"
tslib "^2.6.2"
"@smithy/core@^3.2.0":
version "3.2.0"
resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.2.0.tgz#613b15f76eab9a6be396b1d5453b6bc8f22ba99c"
integrity sha512-k17bgQhVZ7YmUvA8at4af1TDpl0NDMBuBKJl8Yg0nrefwmValU+CnA5l/AriVdQNthU/33H3nK71HrLgqOPr1Q==
"@smithy/core@^3.3.0", "@smithy/core@^3.3.1":
version "3.3.1"
resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.3.1.tgz#6119a683f62099158eb193e3745f4ade6de741dd"
integrity sha512-W7AppgQD3fP1aBmo8wWo0id5zeR2/aYRy067vZsDVaa6v/mdhkg6DxXwEVuSPjZl+ZnvWAQbUMCd5ckw38+tHQ==
dependencies:
"@smithy/middleware-serde" "^4.0.3"
"@smithy/protocol-http" "^5.1.0"
@@ -4302,12 +4271,12 @@
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@smithy/middleware-endpoint@^4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.0.tgz#cbfe47c5632942c960dbcf71fb02fd0d9985444d"
integrity sha512-xhLimgNCbCzsUppRTGXWkZywksuTThxaIB0HwbpsVLY5sceac4e1TZ/WKYqufQLaUy+gUSJGNdwD2jo3cXL0iA==
"@smithy/middleware-endpoint@^4.1.1", "@smithy/middleware-endpoint@^4.1.2":
version "4.1.2"
resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.2.tgz#d8ad5e4e439126d7bcc79f0046fc5f9518d8afd8"
integrity sha512-EqOy3xaEGQpsKxLlzYstDRJ8eY90CbyBP4cl+w7r45mE60S8YliyL9AgWsdWcyNiB95E2PMqHBEv67nNl1zLfg==
dependencies:
"@smithy/core" "^3.2.0"
"@smithy/core" "^3.3.1"
"@smithy/middleware-serde" "^4.0.3"
"@smithy/node-config-provider" "^4.0.2"
"@smithy/shared-ini-file-loader" "^4.0.2"
@@ -4316,18 +4285,18 @@
"@smithy/util-middleware" "^4.0.2"
tslib "^2.6.2"
"@smithy/middleware-retry@^4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.1.0.tgz#338ac1e025bbc6fd7b008152c4efa8bc0591acc9"
integrity sha512-2zAagd1s6hAaI/ap6SXi5T3dDwBOczOMCSkkYzktqN1+tzbk1GAsHNAdo/1uzxz3Ky02jvZQwbi/vmDA6z4Oyg==
"@smithy/middleware-retry@^4.1.2":
version "4.1.3"
resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.1.3.tgz#6d22d21321b2089b4caeb79577a9b40bf4ac6ace"
integrity sha512-AsJtI9KiFoEGAhcEKZyzzPfrszAQGcf4HSYKmenz0WGx/6YNvoPPv4OSGfZTCsDmgPHv4pXzxE+7QV7jcGWNKw==
dependencies:
"@smithy/node-config-provider" "^4.0.2"
"@smithy/protocol-http" "^5.1.0"
"@smithy/service-error-classification" "^4.0.2"
"@smithy/smithy-client" "^4.2.0"
"@smithy/service-error-classification" "^4.0.3"
"@smithy/smithy-client" "^4.2.2"
"@smithy/types" "^4.2.0"
"@smithy/util-middleware" "^4.0.2"
"@smithy/util-retry" "^4.0.2"
"@smithy/util-retry" "^4.0.3"
tslib "^2.6.2"
uuid "^9.0.1"
@@ -4401,10 +4370,10 @@
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@smithy/service-error-classification@^4.0.2":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-4.0.2.tgz#96740ed8be7ac5ad7d6f296d4ddf3f66444b8dcc"
integrity sha512-LA86xeFpTKn270Hbkixqs5n73S+LVM0/VZco8dqd+JT75Dyx3Lcw/MraL7ybjmz786+160K8rPOmhsq0SocoJQ==
"@smithy/service-error-classification@^4.0.3":
version "4.0.3"
resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-4.0.3.tgz#df43e3ec00a9f2d15415185561d98cd602c8bc67"
integrity sha512-FTbcajmltovWMjj3tksDQdD23b2w6gH+A0DYA1Yz3iSpjDj8fmkwy62UnXcWMy4d5YoMoSyLFHMfkEVEzbiN8Q==
dependencies:
"@smithy/types" "^4.2.0"
@@ -4430,13 +4399,13 @@
"@smithy/util-utf8" "^4.0.0"
tslib "^2.6.2"
"@smithy/smithy-client@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.2.0.tgz#0c64cae4fb5bb4f26386e9b2c33fc9a3c24c9df3"
integrity sha512-Qs65/w30pWV7LSFAez9DKy0Koaoh3iHhpcpCCJ4waj/iqwsuSzJna2+vYwq46yBaqO5ZbP9TjUsATUNxrKeBdw==
"@smithy/smithy-client@^4.2.1", "@smithy/smithy-client@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.2.2.tgz#b599c841c376994a3b3019942b1d3f1ecfaf964b"
integrity sha512-3AnHfsMdq9Wg7+3BeR1HuLWI9+DMA/SoHVpCWq6xSsa52ikNd6nlF/wFzdpHyGtVa+Aji6lMgvwOF4sGcVA7SA==
dependencies:
"@smithy/core" "^3.2.0"
"@smithy/middleware-endpoint" "^4.1.0"
"@smithy/core" "^3.3.1"
"@smithy/middleware-endpoint" "^4.1.2"
"@smithy/middleware-stack" "^4.0.2"
"@smithy/protocol-http" "^5.1.0"
"@smithy/types" "^4.2.0"
@@ -4505,27 +4474,27 @@
dependencies:
tslib "^2.6.2"
"@smithy/util-defaults-mode-browser@^4.0.8":
version "4.0.8"
resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.8.tgz#77bc4590cdc928901b80f3482e79607a2cbcb150"
integrity sha512-ZTypzBra+lI/LfTYZeop9UjoJhhGRTg3pxrNpfSTQLd3AJ37r2z4AXTKpq1rFXiiUIJsYyFgNJdjWRGP/cbBaQ==
"@smithy/util-defaults-mode-browser@^4.0.9":
version "4.0.10"
resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.10.tgz#50cc8aff3e1881848d574ea777439ff74a465550"
integrity sha512-2k6fgUNOZ1Rn0gEjvGPGrDEINLG8qSBHsN7xlkkbO+fnHJ36BQPDzhFfMmYSDS8AgzoygqQiDOQ+6Hp2vBTUdA==
dependencies:
"@smithy/property-provider" "^4.0.2"
"@smithy/smithy-client" "^4.2.0"
"@smithy/smithy-client" "^4.2.2"
"@smithy/types" "^4.2.0"
bowser "^2.11.0"
tslib "^2.6.2"
"@smithy/util-defaults-mode-node@^4.0.8":
version "4.0.8"
resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.8.tgz#123b517efe6434977139b341d1f64b5f1e743aac"
integrity sha512-Rgk0Jc/UDfRTzVthye/k2dDsz5Xxs9LZaKCNPgJTRyoyBoeiNCnHsYGOyu1PKN+sDyPnJzMOz22JbwxzBp9NNA==
"@smithy/util-defaults-mode-node@^4.0.9":
version "4.0.10"
resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.10.tgz#f85b0a12fe3d1bc63e776ee8100d14055a211526"
integrity sha512-2XR1WRglLVmoIFts7bODUTgBdVyvkfKNkydHrlsI5VxW9q3s1hnJCuY+f1OHzvj5ue23q4vydM2fjrMjf2HSdQ==
dependencies:
"@smithy/config-resolver" "^4.1.0"
"@smithy/credential-provider-imds" "^4.0.2"
"@smithy/node-config-provider" "^4.0.2"
"@smithy/property-provider" "^4.0.2"
"@smithy/smithy-client" "^4.2.0"
"@smithy/smithy-client" "^4.2.2"
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
@@ -4553,12 +4522,12 @@
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
"@smithy/util-retry@^4.0.2":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.0.2.tgz#9b64cf460d63555884e641721d19e3c0abff8ee6"
integrity sha512-Qryc+QG+7BCpvjloFLQrmlSd0RsVRHejRXd78jNO3+oREueCjwG1CCEH1vduw/ZkM1U9TztwIKVIi3+8MJScGg==
"@smithy/util-retry@^4.0.3":
version "4.0.3"
resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.0.3.tgz#42d54b3a100915b61c6f9bee43c966e96139584d"
integrity sha512-DPuYjZQDXmKr/sNvy9Spu8R/ESa2e22wXZzSAY6NkjOLj6spbIje/Aq8rT97iUMdDj0qHMRIe+bTxvlU74d9Ng==
dependencies:
"@smithy/service-error-classification" "^4.0.2"
"@smithy/service-error-classification" "^4.0.3"
"@smithy/types" "^4.2.0"
tslib "^2.6.2"
@@ -14294,6 +14263,11 @@ sequelize-pool@^7.1.0:
resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-7.1.0.tgz#210b391af4002762f823188fd6ecfc7413020768"
integrity "sha1-IQs5GvQAJ2L4IxiP1uz8dBMCB2g= sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg=="
sequelize-strict-attributes@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/sequelize-strict-attributes/-/sequelize-strict-attributes-1.0.2.tgz#d51c5322551abe59e95249011fdb335c513ade53"
integrity sha512-FAzGrB4BAQzLD0xkGvAhWQf0Y8IRSn8ydaG6j8D8eMxT2z8iKIMzDdxtm9YFhHrTkLd+ILRktQLhEmGm921QvA==
sequelize-typescript@^2.1.6:
version "2.1.6"
resolved "https://registry.yarnpkg.com/sequelize-typescript/-/sequelize-typescript-2.1.6.tgz#9476c8a2510114ed1c3a26b424c47e05c2e6284e"