@powerhousedao/vetra-builder-package 0.0.32 → 0.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/editors/builder-team-editor/components/ProfileSection.d.ts +4 -10
- package/dist/editors/builder-team-editor/components/ProfileSection.js +66 -2
- package/dist/editors/builder-team-editor/config.js +10 -10
- package/dist/editors/builder-team-editor/editor.js +1 -1
- package/dist/scripts/upload-to-drive.d.ts +13 -0
- package/dist/scripts/upload-to-drive.js +261 -0
- package/dist/style.css +1 -1
- package/package.json +4 -1
- package/dist/document-models/builder-account/gen/actions.d.ts +0 -9
- package/dist/document-models/builder-account/gen/actions.js +0 -4
- package/dist/document-models/builder-account/gen/creators.d.ts +0 -4
- package/dist/document-models/builder-account/gen/creators.js +0 -4
- package/dist/document-models/builder-account/gen/document-model.d.ts +0 -2
- package/dist/document-models/builder-account/gen/document-model.js +0 -253
- package/dist/document-models/builder-account/gen/index.d.ts +0 -7
- package/dist/document-models/builder-account/gen/index.js +0 -6
- package/dist/document-models/builder-account/gen/members/actions.d.ts +0 -11
- package/dist/document-models/builder-account/gen/members/actions.js +0 -1
- package/dist/document-models/builder-account/gen/members/creators.d.ts +0 -4
- package/dist/document-models/builder-account/gen/members/creators.js +0 -4
- package/dist/document-models/builder-account/gen/members/error.d.ts +0 -1
- package/dist/document-models/builder-account/gen/members/error.js +0 -1
- package/dist/document-models/builder-account/gen/members/object.d.ts +0 -7
- package/dist/document-models/builder-account/gen/members/object.js +0 -10
- package/dist/document-models/builder-account/gen/members/operations.d.ts +0 -7
- package/dist/document-models/builder-account/gen/members/operations.js +0 -1
- package/dist/document-models/builder-account/gen/object.d.ts +0 -20
- package/dist/document-models/builder-account/gen/object.js +0 -36
- package/dist/document-models/builder-account/gen/packages/actions.d.ts +0 -23
- package/dist/document-models/builder-account/gen/packages/actions.js +0 -1
- package/dist/document-models/builder-account/gen/packages/creators.d.ts +0 -7
- package/dist/document-models/builder-account/gen/packages/creators.js +0 -7
- package/dist/document-models/builder-account/gen/packages/error.d.ts +0 -1
- package/dist/document-models/builder-account/gen/packages/error.js +0 -1
- package/dist/document-models/builder-account/gen/packages/object.d.ts +0 -10
- package/dist/document-models/builder-account/gen/packages/object.js +0 -19
- package/dist/document-models/builder-account/gen/packages/operations.d.ts +0 -10
- package/dist/document-models/builder-account/gen/packages/operations.js +0 -1
- package/dist/document-models/builder-account/gen/ph-factories.d.ts +0 -26
- package/dist/document-models/builder-account/gen/ph-factories.js +0 -62
- package/dist/document-models/builder-account/gen/profile/actions.d.ts +0 -23
- package/dist/document-models/builder-account/gen/profile/actions.js +0 -1
- package/dist/document-models/builder-account/gen/profile/creators.d.ts +0 -7
- package/dist/document-models/builder-account/gen/profile/creators.js +0 -7
- package/dist/document-models/builder-account/gen/profile/error.d.ts +0 -1
- package/dist/document-models/builder-account/gen/profile/error.js +0 -1
- package/dist/document-models/builder-account/gen/profile/object.d.ts +0 -10
- package/dist/document-models/builder-account/gen/profile/object.js +0 -19
- package/dist/document-models/builder-account/gen/profile/operations.d.ts +0 -10
- package/dist/document-models/builder-account/gen/profile/operations.js +0 -1
- package/dist/document-models/builder-account/gen/reducer.d.ts +0 -4
- package/dist/document-models/builder-account/gen/reducer.js +0 -87
- package/dist/document-models/builder-account/gen/schema/index.d.ts +0 -2
- package/dist/document-models/builder-account/gen/schema/index.js +0 -2
- package/dist/document-models/builder-account/gen/schema/types.d.ts +0 -269
- package/dist/document-models/builder-account/gen/schema/types.js +0 -1
- package/dist/document-models/builder-account/gen/schema/zod.d.ts +0 -34
- package/dist/document-models/builder-account/gen/schema/zod.js +0 -192
- package/dist/document-models/builder-account/gen/spaces/actions.d.ts +0 -23
- package/dist/document-models/builder-account/gen/spaces/actions.js +0 -1
- package/dist/document-models/builder-account/gen/spaces/creators.d.ts +0 -7
- package/dist/document-models/builder-account/gen/spaces/creators.js +0 -7
- package/dist/document-models/builder-account/gen/spaces/error.d.ts +0 -13
- package/dist/document-models/builder-account/gen/spaces/error.js +0 -11
- package/dist/document-models/builder-account/gen/spaces/object.d.ts +0 -10
- package/dist/document-models/builder-account/gen/spaces/object.js +0 -19
- package/dist/document-models/builder-account/gen/spaces/operations.d.ts +0 -10
- package/dist/document-models/builder-account/gen/spaces/operations.js +0 -1
- package/dist/document-models/builder-account/gen/types.d.ts +0 -9
- package/dist/document-models/builder-account/gen/types.js +0 -1
- package/dist/document-models/builder-account/gen/utils.d.ts +0 -21
- package/dist/document-models/builder-account/gen/utils.js +0 -54
- package/dist/document-models/builder-account/index.d.ts +0 -40
- package/dist/document-models/builder-account/index.js +0 -21
- package/dist/document-models/builder-account/src/reducers/members.d.ts +0 -2
- package/dist/document-models/builder-account/src/reducers/members.js +0 -11
- package/dist/document-models/builder-account/src/reducers/packages.d.ts +0 -2
- package/dist/document-models/builder-account/src/reducers/packages.js +0 -108
- package/dist/document-models/builder-account/src/reducers/profile.d.ts +0 -2
- package/dist/document-models/builder-account/src/reducers/profile.js +0 -43
- package/dist/document-models/builder-account/src/reducers/spaces.d.ts +0 -2
- package/dist/document-models/builder-account/src/reducers/spaces.js +0 -52
- package/dist/document-models/builder-account/src/tests/document-model.test.d.ts +0 -5
- package/dist/document-models/builder-account/src/tests/document-model.test.js +0 -18
- package/dist/document-models/builder-account/src/tests/members.test.d.ts +0 -5
- package/dist/document-models/builder-account/src/tests/members.test.js +0 -32
- package/dist/document-models/builder-account/src/tests/packages.test.d.ts +0 -5
- package/dist/document-models/builder-account/src/tests/packages.test.js +0 -56
- package/dist/document-models/builder-account/src/tests/profile.test.d.ts +0 -5
- package/dist/document-models/builder-account/src/tests/profile.test.js +0 -56
- package/dist/document-models/builder-account/src/tests/spaces.test.d.ts +0 -5
- package/dist/document-models/builder-account/src/tests/spaces.test.js +0 -56
- package/dist/document-models/builder-account/src/utils.d.ts +0 -1
- package/dist/document-models/builder-account/src/utils.js +0 -1
- package/dist/document-models/renown-profile/gen/actions.d.ts +0 -5
- package/dist/document-models/renown-profile/gen/actions.js +0 -2
- package/dist/document-models/renown-profile/gen/authorization/actions.d.ts +0 -11
- package/dist/document-models/renown-profile/gen/authorization/actions.js +0 -1
- package/dist/document-models/renown-profile/gen/authorization/creators.d.ts +0 -4
- package/dist/document-models/renown-profile/gen/authorization/creators.js +0 -4
- package/dist/document-models/renown-profile/gen/authorization/error.d.ts +0 -1
- package/dist/document-models/renown-profile/gen/authorization/error.js +0 -1
- package/dist/document-models/renown-profile/gen/authorization/object.d.ts +0 -7
- package/dist/document-models/renown-profile/gen/authorization/object.js +0 -10
- package/dist/document-models/renown-profile/gen/authorization/operations.d.ts +0 -7
- package/dist/document-models/renown-profile/gen/authorization/operations.js +0 -1
- package/dist/document-models/renown-profile/gen/creators.d.ts +0 -2
- package/dist/document-models/renown-profile/gen/creators.js +0 -2
- package/dist/document-models/renown-profile/gen/document-model.d.ts +0 -2
- package/dist/document-models/renown-profile/gen/document-model.js +0 -99
- package/dist/document-models/renown-profile/gen/index.d.ts +0 -7
- package/dist/document-models/renown-profile/gen/index.js +0 -6
- package/dist/document-models/renown-profile/gen/object.d.ts +0 -16
- package/dist/document-models/renown-profile/gen/object.js +0 -30
- package/dist/document-models/renown-profile/gen/ph-factories.d.ts +0 -26
- package/dist/document-models/renown-profile/gen/ph-factories.js +0 -53
- package/dist/document-models/renown-profile/gen/profile/actions.d.ts +0 -15
- package/dist/document-models/renown-profile/gen/profile/actions.js +0 -1
- package/dist/document-models/renown-profile/gen/profile/creators.d.ts +0 -5
- package/dist/document-models/renown-profile/gen/profile/creators.js +0 -5
- package/dist/document-models/renown-profile/gen/profile/error.d.ts +0 -1
- package/dist/document-models/renown-profile/gen/profile/error.js +0 -1
- package/dist/document-models/renown-profile/gen/profile/object.d.ts +0 -8
- package/dist/document-models/renown-profile/gen/profile/object.js +0 -13
- package/dist/document-models/renown-profile/gen/profile/operations.d.ts +0 -8
- package/dist/document-models/renown-profile/gen/profile/operations.js +0 -1
- package/dist/document-models/renown-profile/gen/reducer.d.ts +0 -4
- package/dist/document-models/renown-profile/gen/reducer.js +0 -37
- package/dist/document-models/renown-profile/gen/schema/index.d.ts +0 -2
- package/dist/document-models/renown-profile/gen/schema/index.js +0 -2
- package/dist/document-models/renown-profile/gen/schema/types.d.ts +0 -174
- package/dist/document-models/renown-profile/gen/schema/types.js +0 -1
- package/dist/document-models/renown-profile/gen/schema/zod.d.ts +0 -16
- package/dist/document-models/renown-profile/gen/schema/zod.js +0 -62
- package/dist/document-models/renown-profile/gen/types.d.ts +0 -9
- package/dist/document-models/renown-profile/gen/types.js +0 -1
- package/dist/document-models/renown-profile/gen/utils.d.ts +0 -21
- package/dist/document-models/renown-profile/gen/utils.js +0 -45
- package/dist/document-models/renown-profile/index.d.ts +0 -28
- package/dist/document-models/renown-profile/index.js +0 -21
- package/dist/document-models/renown-profile/src/reducers/authorization.d.ts +0 -2
- package/dist/document-models/renown-profile/src/reducers/authorization.js +0 -8
- package/dist/document-models/renown-profile/src/reducers/profile.d.ts +0 -2
- package/dist/document-models/renown-profile/src/reducers/profile.js +0 -11
- package/dist/document-models/renown-profile/src/tests/authorization.test.d.ts +0 -5
- package/dist/document-models/renown-profile/src/tests/authorization.test.js +0 -24
- package/dist/document-models/renown-profile/src/tests/document-model.test.d.ts +0 -5
- package/dist/document-models/renown-profile/src/tests/document-model.test.js +0 -18
- package/dist/document-models/renown-profile/src/tests/profile.test.d.ts +0 -5
- package/dist/document-models/renown-profile/src/tests/profile.test.js +0 -24
- package/dist/document-models/renown-profile/src/utils.d.ts +0 -1
- package/dist/document-models/renown-profile/src/utils.js +0 -1
- package/dist/document-models/vetra-package/gen/actions.d.ts +0 -3
- package/dist/document-models/vetra-package/gen/actions.js +0 -1
- package/dist/document-models/vetra-package/gen/creators.d.ts +0 -1
- package/dist/document-models/vetra-package/gen/creators.js +0 -1
- package/dist/document-models/vetra-package/gen/document-model.d.ts +0 -2
- package/dist/document-models/vetra-package/gen/document-model.js +0 -125
- package/dist/document-models/vetra-package/gen/index.d.ts +0 -7
- package/dist/document-models/vetra-package/gen/index.js +0 -6
- package/dist/document-models/vetra-package/gen/meta/actions.d.ts +0 -35
- package/dist/document-models/vetra-package/gen/meta/actions.js +0 -1
- package/dist/document-models/vetra-package/gen/meta/creators.d.ts +0 -10
- package/dist/document-models/vetra-package/gen/meta/creators.js +0 -10
- package/dist/document-models/vetra-package/gen/meta/error.d.ts +0 -1
- package/dist/document-models/vetra-package/gen/meta/error.js +0 -1
- package/dist/document-models/vetra-package/gen/meta/object.d.ts +0 -13
- package/dist/document-models/vetra-package/gen/meta/object.js +0 -28
- package/dist/document-models/vetra-package/gen/meta/operations.d.ts +0 -13
- package/dist/document-models/vetra-package/gen/meta/operations.js +0 -1
- package/dist/document-models/vetra-package/gen/object.d.ts +0 -14
- package/dist/document-models/vetra-package/gen/object.js +0 -25
- package/dist/document-models/vetra-package/gen/ph-factories.d.ts +0 -26
- package/dist/document-models/vetra-package/gen/ph-factories.js +0 -59
- package/dist/document-models/vetra-package/gen/reducer.d.ts +0 -4
- package/dist/document-models/vetra-package/gen/reducer.js +0 -48
- package/dist/document-models/vetra-package/gen/schema/index.d.ts +0 -2
- package/dist/document-models/vetra-package/gen/schema/index.js +0 -2
- package/dist/document-models/vetra-package/gen/schema/types.d.ts +0 -187
- package/dist/document-models/vetra-package/gen/schema/types.js +0 -1
- package/dist/document-models/vetra-package/gen/schema/zod.d.ts +0 -20
- package/dist/document-models/vetra-package/gen/schema/zod.js +0 -73
- package/dist/document-models/vetra-package/gen/types.d.ts +0 -9
- package/dist/document-models/vetra-package/gen/types.js +0 -1
- package/dist/document-models/vetra-package/gen/utils.d.ts +0 -21
- package/dist/document-models/vetra-package/gen/utils.js +0 -51
- package/dist/document-models/vetra-package/index.d.ts +0 -31
- package/dist/document-models/vetra-package/index.js +0 -21
- package/dist/document-models/vetra-package/src/reducers/meta.d.ts +0 -2
- package/dist/document-models/vetra-package/src/reducers/meta.js +0 -34
- package/dist/document-models/vetra-package/src/tests/document-model.test.d.ts +0 -5
- package/dist/document-models/vetra-package/src/tests/document-model.test.js +0 -18
- package/dist/document-models/vetra-package/src/tests/meta.test.d.ts +0 -5
- package/dist/document-models/vetra-package/src/tests/meta.test.js +0 -80
- package/dist/document-models/vetra-package/src/utils.d.ts +0 -1
- package/dist/document-models/vetra-package/src/utils.js +0 -1
- package/dist/editors/builder-account-editor/editor.d.ts +0 -3
- package/dist/editors/builder-account-editor/editor.js +0 -195
- package/dist/editors/builder-account-editor/index.d.ts +0 -3
- package/dist/editors/builder-account-editor/index.js +0 -12
- package/dist/editors/hooks/useRenownProfileDocument.d.ts +0 -3
- package/dist/editors/hooks/useRenownProfileDocument.js +0 -8
- package/dist/editors/renown-profile-editor/editor.d.ts +0 -3
- package/dist/editors/renown-profile-editor/editor.js +0 -33
- package/dist/editors/renown-profile-editor/index.d.ts +0 -2
- package/dist/editors/renown-profile-editor/index.js +0 -11
- package/dist/processors/old_vetra-builder-relational-db-processor/factory.d.ts +0 -3
- package/dist/processors/old_vetra-builder-relational-db-processor/factory.js +0 -22
- package/dist/processors/old_vetra-builder-relational-db-processor/index.d.ts +0 -9
- package/dist/processors/old_vetra-builder-relational-db-processor/index.js +0 -32
- package/dist/processors/old_vetra-builder-relational-db-processor/migrations.d.ts +0 -3
- package/dist/processors/old_vetra-builder-relational-db-processor/migrations.js +0 -14
- package/dist/processors/old_vetra-builder-relational-db-processor/schema.d.ts +0 -7
- package/dist/processors/old_vetra-builder-relational-db-processor/schema.js +0 -1
- package/dist/processors/renown-profile/factory.d.ts +0 -3
- package/dist/processors/renown-profile/factory.js +0 -22
- package/dist/processors/renown-profile/index.d.ts +0 -9
- package/dist/processors/renown-profile/index.js +0 -81
- package/dist/processors/renown-profile/migrations.d.ts +0 -3
- package/dist/processors/renown-profile/migrations.js +0 -39
- package/dist/processors/renown-profile/schema.d.ts +0 -14
- package/dist/processors/renown-profile/schema.js +0 -1
- package/dist/processors/renown-read-model/migrations.d.ts +0 -3
- package/dist/processors/renown-read-model/migrations.js +0 -55
- package/dist/processors/renown-read-model/schema.d.ts +0 -21
- package/dist/processors/renown-read-model/schema.js +0 -1
- package/dist/processors/vetra-builder-read-model/builder-account-handlers.d.ts +0 -27
- package/dist/processors/vetra-builder-read-model/builder-account-handlers.js +0 -249
- package/dist/processors/vetra-builder-read-model/database-helpers.d.ts +0 -39
- package/dist/processors/vetra-builder-read-model/database-helpers.js +0 -144
- package/dist/processors/vetra-builder-read-model/factory.d.ts +0 -3
- package/dist/processors/vetra-builder-read-model/factory.js +0 -25
- package/dist/processors/vetra-builder-read-model/index.d.ts +0 -29
- package/dist/processors/vetra-builder-read-model/index.js +0 -370
- package/dist/processors/vetra-builder-read-model/migrations.d.ts +0 -3
- package/dist/processors/vetra-builder-read-model/migrations.js +0 -152
- package/dist/processors/vetra-builder-read-model/package-handlers.d.ts +0 -20
- package/dist/processors/vetra-builder-read-model/package-handlers.js +0 -116
- package/dist/processors/vetra-builder-read-model/schema.d.ts +0 -66
- package/dist/processors/vetra-builder-read-model/schema.js +0 -1
- package/dist/processors/vetra-builder-read-model/types.d.ts +0 -32
- package/dist/processors/vetra-builder-read-model/types.js +0 -1
- package/dist/processors/vetra-read-model/builder-account-handlers.d.ts +0 -27
- package/dist/processors/vetra-read-model/builder-account-handlers.js +0 -249
- package/dist/processors/vetra-read-model/database-helpers.d.ts +0 -39
- package/dist/processors/vetra-read-model/database-helpers.js +0 -144
- package/dist/processors/vetra-read-model/document-drive-handlers.d.ts +0 -21
- package/dist/processors/vetra-read-model/document-drive-handlers.js +0 -77
- package/dist/processors/vetra-read-model/factory.d.ts +0 -3
- package/dist/processors/vetra-read-model/factory.js +0 -25
- package/dist/processors/vetra-read-model/index.d.ts +0 -29
- package/dist/processors/vetra-read-model/index.js +0 -370
- package/dist/processors/vetra-read-model/migrations.d.ts +0 -3
- package/dist/processors/vetra-read-model/migrations.js +0 -152
- package/dist/processors/vetra-read-model/package-handlers.d.ts +0 -20
- package/dist/processors/vetra-read-model/package-handlers.js +0 -116
- package/dist/processors/vetra-read-model/schema.d.ts +0 -66
- package/dist/processors/vetra-read-model/schema.js +0 -1
- package/dist/processors/vetra-read-model/types.d.ts +0 -32
- package/dist/processors/vetra-read-model/types.js +0 -1
- package/dist/subgraphs/builder-account/index.d.ts +0 -10
- package/dist/subgraphs/builder-account/index.js +0 -11
- package/dist/subgraphs/builder-account/resolvers.d.ts +0 -2
- package/dist/subgraphs/builder-account/resolvers.js +0 -276
- package/dist/subgraphs/builder-account/schema.d.ts +0 -2
- package/dist/subgraphs/builder-account/schema.js +0 -267
- package/dist/subgraphs/renown-profile/index.d.ts +0 -10
- package/dist/subgraphs/renown-profile/index.js +0 -11
- package/dist/subgraphs/renown-profile/resolvers.d.ts +0 -2
- package/dist/subgraphs/renown-profile/resolvers.js +0 -151
- package/dist/subgraphs/renown-profile/schema.d.ts +0 -2
- package/dist/subgraphs/renown-profile/schema.js +0 -104
- package/dist/subgraphs/renown-read-model/index.d.ts +0 -10
- package/dist/subgraphs/renown-read-model/index.js +0 -11
- package/dist/subgraphs/renown-read-model/resolvers.d.ts +0 -2
- package/dist/subgraphs/renown-read-model/resolvers.js +0 -25
- package/dist/subgraphs/renown-read-model/schema.d.ts +0 -2
- package/dist/subgraphs/renown-read-model/schema.js +0 -16
- package/dist/subgraphs/vetra/index.d.ts +0 -10
- package/dist/subgraphs/vetra/index.js +0 -11
- package/dist/subgraphs/vetra/resolvers.d.ts +0 -2
- package/dist/subgraphs/vetra/resolvers.js +0 -10
- package/dist/subgraphs/vetra/schema.d.ts +0 -2
- package/dist/subgraphs/vetra/schema.js +0 -9
- package/dist/subgraphs/vetra-builder-read-model/index.d.ts +0 -10
- package/dist/subgraphs/vetra-builder-read-model/index.js +0 -11
- package/dist/subgraphs/vetra-builder-read-model/resolvers.d.ts +0 -2
- package/dist/subgraphs/vetra-builder-read-model/resolvers.js +0 -174
- package/dist/subgraphs/vetra-builder-read-model/schema.d.ts +0 -2
- package/dist/subgraphs/vetra-builder-read-model/schema.js +0 -79
- package/dist/subgraphs/vetra-builders-bkp/index.d.ts +0 -10
- package/dist/subgraphs/vetra-builders-bkp/index.js +0 -11
- package/dist/subgraphs/vetra-builders-bkp/resolvers.d.ts +0 -2
- package/dist/subgraphs/vetra-builders-bkp/resolvers.js +0 -10
- package/dist/subgraphs/vetra-builders-bkp/schema.d.ts +0 -2
- package/dist/subgraphs/vetra-builders-bkp/schema.js +0 -9
- package/dist/subgraphs/vetra-package/index.d.ts +0 -10
- package/dist/subgraphs/vetra-package/index.js +0 -11
- package/dist/subgraphs/vetra-package/resolvers.d.ts +0 -2
- package/dist/subgraphs/vetra-package/resolvers.js +0 -168
- package/dist/subgraphs/vetra-package/schema.d.ts +0 -2
- package/dist/subgraphs/vetra-package/schema.js +0 -123
- package/dist/subgraphs/vetra-read-model/index.d.ts +0 -10
- package/dist/subgraphs/vetra-read-model/index.js +0 -11
- package/dist/subgraphs/vetra-read-model/resolvers.d.ts +0 -2
- package/dist/subgraphs/vetra-read-model/resolvers.js +0 -174
- package/dist/subgraphs/vetra-read-model/schema.d.ts +0 -2
- package/dist/subgraphs/vetra-read-model/schema.js +0 -79
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { IRelationalDb } from "document-drive";
|
|
2
|
-
import type { DB } from "./schema.js";
|
|
3
|
-
export declare class DatabaseHelpers {
|
|
4
|
-
private db;
|
|
5
|
-
constructor(db: IRelationalDb<DB>);
|
|
6
|
-
/**
|
|
7
|
-
* Ensures a package exists in the database, creating it if it doesn't
|
|
8
|
-
*/
|
|
9
|
-
ensurePackageExists(documentId: string, driveId: string): Promise<void>;
|
|
10
|
-
/**
|
|
11
|
-
* Check if a document ID is marked as deleted
|
|
12
|
-
*/
|
|
13
|
-
private isDocumentDeleted;
|
|
14
|
-
/**
|
|
15
|
-
* Ensures a builder account exists in the database, creating it if it doesn't
|
|
16
|
-
* Throws an error if the document was previously deleted
|
|
17
|
-
*/
|
|
18
|
-
ensureBuilderAccountExistsAndIsNotdeleted(documentId: string): Promise<void>;
|
|
19
|
-
/**
|
|
20
|
-
* Updates a package with the provided data
|
|
21
|
-
*/
|
|
22
|
-
updatePackage(documentId: string, updates: Record<string, any>): Promise<void>;
|
|
23
|
-
/**
|
|
24
|
-
* Updates a builder account with the provided data
|
|
25
|
-
*/
|
|
26
|
-
updateBuilderAccount(documentId: string, updates: Record<string, any>): Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* Updates a builder space with the provided data
|
|
29
|
-
*/
|
|
30
|
-
updateBuilderSpace(spaceId: string, documentId: string, updates: Record<string, any>): Promise<void>;
|
|
31
|
-
/**
|
|
32
|
-
* Updates a builder package with the provided data
|
|
33
|
-
*/
|
|
34
|
-
updateBuilderPackage(packageId: string, updates: Record<string, any>): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* Checks if a member already exists for a builder account
|
|
37
|
-
*/
|
|
38
|
-
memberExists(documentId: string, ethAddress: string): Promise<boolean>;
|
|
39
|
-
}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
export class DatabaseHelpers {
|
|
2
|
-
db;
|
|
3
|
-
constructor(db) {
|
|
4
|
-
this.db = db;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Ensures a package exists in the database, creating it if it doesn't
|
|
8
|
-
*/
|
|
9
|
-
async ensurePackageExists(documentId, driveId) {
|
|
10
|
-
const existing = await this.db
|
|
11
|
-
.selectFrom("builder_packages")
|
|
12
|
-
.select("id")
|
|
13
|
-
.where("id", "=", documentId)
|
|
14
|
-
.executeTakeFirst();
|
|
15
|
-
if (!existing) {
|
|
16
|
-
await this.db
|
|
17
|
-
.insertInto("builder_packages")
|
|
18
|
-
.values({
|
|
19
|
-
id: documentId,
|
|
20
|
-
drive_id: driveId,
|
|
21
|
-
author_name: "",
|
|
22
|
-
name: "",
|
|
23
|
-
space_id: "",
|
|
24
|
-
})
|
|
25
|
-
.execute();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Check if a document ID is marked as deleted
|
|
30
|
-
*/
|
|
31
|
-
async isDocumentDeleted(documentId) {
|
|
32
|
-
try {
|
|
33
|
-
const result = await this.db
|
|
34
|
-
.selectFrom("deleted_files")
|
|
35
|
-
.select("id")
|
|
36
|
-
.where("document_id", "=", documentId)
|
|
37
|
-
.executeTakeFirst();
|
|
38
|
-
return !!result;
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
console.error("Error checking if document is deleted:", error);
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Ensures a builder account exists in the database, creating it if it doesn't
|
|
47
|
-
* Throws an error if the document was previously deleted
|
|
48
|
-
*/
|
|
49
|
-
async ensureBuilderAccountExistsAndIsNotdeleted(documentId) {
|
|
50
|
-
// Check if the document was deleted
|
|
51
|
-
const isDeleted = await this.isDocumentDeleted(documentId);
|
|
52
|
-
if (isDeleted) {
|
|
53
|
-
throw new Error(`Builder account with document ID ${documentId} was previously deleted and cannot be accessed`);
|
|
54
|
-
}
|
|
55
|
-
const existing = await this.db
|
|
56
|
-
.selectFrom("builder_accounts")
|
|
57
|
-
.select("id")
|
|
58
|
-
.where("id", "=", documentId)
|
|
59
|
-
.executeTakeFirst();
|
|
60
|
-
if (!existing) {
|
|
61
|
-
await this.db
|
|
62
|
-
.insertInto("builder_accounts")
|
|
63
|
-
.values({
|
|
64
|
-
id: documentId,
|
|
65
|
-
profile_name: "",
|
|
66
|
-
profile_slug: "",
|
|
67
|
-
profile_logo: null,
|
|
68
|
-
profile_description: null,
|
|
69
|
-
profile_socials_x: null,
|
|
70
|
-
profile_socials_github: null,
|
|
71
|
-
profile_socials_website: null,
|
|
72
|
-
created_at: new Date(),
|
|
73
|
-
updated_at: new Date(),
|
|
74
|
-
})
|
|
75
|
-
.onConflict((oc) => oc.column("id").doNothing())
|
|
76
|
-
.execute();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Updates a package with the provided data
|
|
81
|
-
*/
|
|
82
|
-
async updatePackage(documentId, updates) {
|
|
83
|
-
await this.db
|
|
84
|
-
.updateTable("builder_packages")
|
|
85
|
-
.set({
|
|
86
|
-
...updates,
|
|
87
|
-
updated_at: new Date(),
|
|
88
|
-
})
|
|
89
|
-
.where("id", "=", documentId)
|
|
90
|
-
.execute();
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Updates a builder account with the provided data
|
|
94
|
-
*/
|
|
95
|
-
async updateBuilderAccount(documentId, updates) {
|
|
96
|
-
await this.db
|
|
97
|
-
.updateTable("builder_accounts")
|
|
98
|
-
.set({
|
|
99
|
-
...updates,
|
|
100
|
-
updated_at: new Date(),
|
|
101
|
-
})
|
|
102
|
-
.where("id", "=", documentId)
|
|
103
|
-
.execute();
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Updates a builder space with the provided data
|
|
107
|
-
*/
|
|
108
|
-
async updateBuilderSpace(spaceId, documentId, updates) {
|
|
109
|
-
await this.db
|
|
110
|
-
.updateTable("builder_spaces")
|
|
111
|
-
.set({
|
|
112
|
-
...updates,
|
|
113
|
-
updated_at: new Date(),
|
|
114
|
-
})
|
|
115
|
-
.where("id", "=", spaceId)
|
|
116
|
-
.where("builder_account_id", "=", documentId)
|
|
117
|
-
.execute();
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Updates a builder package with the provided data
|
|
121
|
-
*/
|
|
122
|
-
async updateBuilderPackage(packageId, updates) {
|
|
123
|
-
await this.db
|
|
124
|
-
.updateTable("builder_packages")
|
|
125
|
-
.set({
|
|
126
|
-
...updates,
|
|
127
|
-
updated_at: new Date(),
|
|
128
|
-
})
|
|
129
|
-
.where("id", "=", packageId)
|
|
130
|
-
.execute();
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Checks if a member already exists for a builder account
|
|
134
|
-
*/
|
|
135
|
-
async memberExists(documentId, ethAddress) {
|
|
136
|
-
const existing = await this.db
|
|
137
|
-
.selectFrom("builder_account_members")
|
|
138
|
-
.select("id")
|
|
139
|
-
.where("builder_account_id", "=", documentId)
|
|
140
|
-
.where("eth_address", "=", ethAddress)
|
|
141
|
-
.executeTakeFirst();
|
|
142
|
-
return !!existing;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { type IProcessorHostModule, type ProcessorRecord } from "document-drive/processors/types";
|
|
2
|
-
import { type PHDocumentHeader } from "document-model";
|
|
3
|
-
export declare const vetraBuilderReadModelProcessorFactory: (module: IProcessorHostModule) => (driveHeader: PHDocumentHeader) => Promise<ProcessorRecord[]>;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { VetraBuilderReadModelProcessor } from "./index.js";
|
|
2
|
-
export const vetraBuilderReadModelProcessorFactory = (module) => async (driveHeader) => {
|
|
3
|
-
// Create a namespace for the processor and the provided drive id
|
|
4
|
-
const namespace = VetraBuilderReadModelProcessor.getNamespace(driveHeader.id);
|
|
5
|
-
// Create a namespaced db for the processor
|
|
6
|
-
const store = await module.relationalDb.createNamespace(namespace);
|
|
7
|
-
// Create a filter for the processor
|
|
8
|
-
const filter = {
|
|
9
|
-
branch: ["main"],
|
|
10
|
-
documentId: ["*"],
|
|
11
|
-
documentType: [
|
|
12
|
-
"powerhouse/vetra/builder-account",
|
|
13
|
-
"powerhouse/document-drive",
|
|
14
|
-
],
|
|
15
|
-
scope: ["global"],
|
|
16
|
-
};
|
|
17
|
-
// Create the processor
|
|
18
|
-
const processor = new VetraBuilderReadModelProcessor(namespace, filter, store);
|
|
19
|
-
return [
|
|
20
|
-
{
|
|
21
|
-
processor,
|
|
22
|
-
filter,
|
|
23
|
-
},
|
|
24
|
-
];
|
|
25
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { RelationalDbProcessor } from "document-drive/processors/relational";
|
|
2
|
-
import { type InternalTransmitterUpdate } from "document-drive/server/listener/transmitter/internal";
|
|
3
|
-
import { type DB } from "./schema.js";
|
|
4
|
-
export declare class VetraBuilderReadModelProcessor extends RelationalDbProcessor<DB> {
|
|
5
|
-
static getNamespace(driveId: string): string;
|
|
6
|
-
initAndUpgrade(): Promise<void>;
|
|
7
|
-
onStrands(strands: InternalTransmitterUpdate[]): Promise<void>;
|
|
8
|
-
private handleDocumentDriveOperation;
|
|
9
|
-
private handlePackageOperation;
|
|
10
|
-
private handleSetLogo;
|
|
11
|
-
private handleSetProfileName;
|
|
12
|
-
private handleSetSlug;
|
|
13
|
-
private handleSetProfileDescription;
|
|
14
|
-
private handleUpdateSocials;
|
|
15
|
-
private handleAddMember;
|
|
16
|
-
private handleRemoveMember;
|
|
17
|
-
private handleAddSpace;
|
|
18
|
-
private handleDeleteSpace;
|
|
19
|
-
private handleSetSpaceTitle;
|
|
20
|
-
private handleSetSpaceDescription;
|
|
21
|
-
private handleReorderSpaces;
|
|
22
|
-
private handleAddPackage;
|
|
23
|
-
private handleSetPackageDriveId;
|
|
24
|
-
private handleUpdatePackage;
|
|
25
|
-
private handleReorderPackages;
|
|
26
|
-
private handleDeletePackage;
|
|
27
|
-
private ensureBuilderAccount;
|
|
28
|
-
onDisconnect(): Promise<void>;
|
|
29
|
-
}
|
|
@@ -1,370 +0,0 @@
|
|
|
1
|
-
import { RelationalDbProcessor } from "document-drive/processors/relational";
|
|
2
|
-
import { up } from "./migrations.js";
|
|
3
|
-
import { toPascalCase } from "document-drive/utils/misc";
|
|
4
|
-
export class VetraBuilderReadModelProcessor extends RelationalDbProcessor {
|
|
5
|
-
static getNamespace(driveId) {
|
|
6
|
-
// Default namespace: `${this.name}_${driveId.replaceAll("-", "_")}`
|
|
7
|
-
return super.getNamespace(driveId);
|
|
8
|
-
}
|
|
9
|
-
async initAndUpgrade() {
|
|
10
|
-
await up(this.relationalDb);
|
|
11
|
-
}
|
|
12
|
-
async onStrands(strands) {
|
|
13
|
-
if (strands.length === 0) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
for (const strand of strands) {
|
|
17
|
-
if (strand.operations.length === 0) {
|
|
18
|
-
continue;
|
|
19
|
-
}
|
|
20
|
-
for (const operation of strand.operations) {
|
|
21
|
-
if (strand.documentType.includes("powerhouse/document-drive")) {
|
|
22
|
-
await this.handleDocumentDriveOperation(strand.documentId, strand.driveId, operation.action, operation.state);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
await this.handlePackageOperation(strand.documentId, operation.action, operation.state);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
async handleDocumentDriveOperation(documentId, driveId = "", action, state) {
|
|
31
|
-
switch (action.type) {
|
|
32
|
-
case "DELETE_NODE":
|
|
33
|
-
await this.relationalDb
|
|
34
|
-
.insertInto("deleted_files")
|
|
35
|
-
.values({
|
|
36
|
-
id: documentId + "-" + action.input.id,
|
|
37
|
-
document_id: action.input.id,
|
|
38
|
-
drive_id: driveId,
|
|
39
|
-
deleted_at: new Date(),
|
|
40
|
-
})
|
|
41
|
-
.onConflict((oc) => oc.column("id").doNothing())
|
|
42
|
-
.execute();
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
async handlePackageOperation(documentId, action, state) {
|
|
47
|
-
switch (action.type) {
|
|
48
|
-
// Profile operations
|
|
49
|
-
case "SET_LOGO":
|
|
50
|
-
await this.handleSetLogo(documentId, action, state);
|
|
51
|
-
break;
|
|
52
|
-
case "SET_PROFILE_NAME":
|
|
53
|
-
await this.handleSetProfileName(documentId, action, state);
|
|
54
|
-
break;
|
|
55
|
-
case "SET_SLUG":
|
|
56
|
-
await this.handleSetSlug(documentId, action, state);
|
|
57
|
-
break;
|
|
58
|
-
case "SET_PROFILE_DESCRIPTION":
|
|
59
|
-
await this.handleSetProfileDescription(documentId, action, state);
|
|
60
|
-
break;
|
|
61
|
-
case "UPDATE_SOCIALS":
|
|
62
|
-
await this.handleUpdateSocials(documentId, action, state);
|
|
63
|
-
break;
|
|
64
|
-
// Members operations
|
|
65
|
-
case "ADD_MEMBER":
|
|
66
|
-
await this.handleAddMember(documentId, action, state);
|
|
67
|
-
break;
|
|
68
|
-
case "REMOVE_MEMBER":
|
|
69
|
-
await this.handleRemoveMember(documentId, action, state);
|
|
70
|
-
break;
|
|
71
|
-
// Spaces operations
|
|
72
|
-
case "ADD_SPACE":
|
|
73
|
-
await this.handleAddSpace(documentId, action, state);
|
|
74
|
-
break;
|
|
75
|
-
case "DELETE_SPACE":
|
|
76
|
-
await this.handleDeleteSpace(documentId, action, state);
|
|
77
|
-
break;
|
|
78
|
-
case "SET_SPACE_TITLE":
|
|
79
|
-
await this.handleSetSpaceTitle(documentId, action, state);
|
|
80
|
-
break;
|
|
81
|
-
case "SET_SPACE_DESCRIPTION":
|
|
82
|
-
await this.handleSetSpaceDescription(documentId, action, state);
|
|
83
|
-
break;
|
|
84
|
-
case "REORDER_SPACES":
|
|
85
|
-
await this.handleReorderSpaces(documentId, action, state);
|
|
86
|
-
break;
|
|
87
|
-
// Packages operations
|
|
88
|
-
case "ADD_PACKAGE":
|
|
89
|
-
await this.handleAddPackage(documentId, action, state);
|
|
90
|
-
break;
|
|
91
|
-
case "SET_PACKAGE_DRIVE_ID":
|
|
92
|
-
await this.handleSetPackageDriveId(documentId, action, state);
|
|
93
|
-
break;
|
|
94
|
-
case "UPDATE_PACKAGE":
|
|
95
|
-
await this.handleUpdatePackage(documentId, action, state);
|
|
96
|
-
break;
|
|
97
|
-
case "REORDER_PACKAGES":
|
|
98
|
-
await this.handleReorderPackages(documentId, action, state);
|
|
99
|
-
break;
|
|
100
|
-
case "DELETE_PACKAGE":
|
|
101
|
-
await this.handleDeletePackage(documentId, action, state);
|
|
102
|
-
break;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
// Profile operations
|
|
106
|
-
async handleSetLogo(documentId, action, state) {
|
|
107
|
-
await this.ensureBuilderAccount(documentId);
|
|
108
|
-
await this.relationalDb
|
|
109
|
-
.updateTable("builder_accounts")
|
|
110
|
-
.set({
|
|
111
|
-
profile_logo: action.input.logoUrl,
|
|
112
|
-
updated_at: new Date(),
|
|
113
|
-
})
|
|
114
|
-
.where("id", "=", documentId)
|
|
115
|
-
.execute();
|
|
116
|
-
}
|
|
117
|
-
async handleSetProfileName(documentId, action, state) {
|
|
118
|
-
await this.ensureBuilderAccount(documentId);
|
|
119
|
-
await this.relationalDb
|
|
120
|
-
.updateTable("builder_accounts")
|
|
121
|
-
.set({
|
|
122
|
-
profile_name: action.input.name,
|
|
123
|
-
updated_at: new Date(),
|
|
124
|
-
})
|
|
125
|
-
.where("id", "=", documentId)
|
|
126
|
-
.execute();
|
|
127
|
-
}
|
|
128
|
-
async handleSetSlug(documentId, action, state) {
|
|
129
|
-
await this.ensureBuilderAccount(documentId);
|
|
130
|
-
await this.relationalDb
|
|
131
|
-
.updateTable("builder_accounts")
|
|
132
|
-
.set({
|
|
133
|
-
profile_slug: action.input.slug,
|
|
134
|
-
updated_at: new Date(),
|
|
135
|
-
})
|
|
136
|
-
.where("id", "=", documentId)
|
|
137
|
-
.execute();
|
|
138
|
-
}
|
|
139
|
-
async handleSetProfileDescription(documentId, action, state) {
|
|
140
|
-
await this.ensureBuilderAccount(documentId);
|
|
141
|
-
await this.relationalDb
|
|
142
|
-
.updateTable("builder_accounts")
|
|
143
|
-
.set({
|
|
144
|
-
profile_description: action.input.description,
|
|
145
|
-
updated_at: new Date(),
|
|
146
|
-
})
|
|
147
|
-
.where("id", "=", documentId)
|
|
148
|
-
.execute();
|
|
149
|
-
}
|
|
150
|
-
async handleUpdateSocials(documentId, action, state) {
|
|
151
|
-
await this.ensureBuilderAccount(documentId);
|
|
152
|
-
await this.relationalDb
|
|
153
|
-
.updateTable("builder_accounts")
|
|
154
|
-
.set({
|
|
155
|
-
profile_socials_x: action.input.x,
|
|
156
|
-
profile_socials_github: action.input.github,
|
|
157
|
-
profile_socials_website: action.input.website,
|
|
158
|
-
updated_at: new Date(),
|
|
159
|
-
})
|
|
160
|
-
.where("id", "=", documentId)
|
|
161
|
-
.execute();
|
|
162
|
-
}
|
|
163
|
-
// Members operations
|
|
164
|
-
async handleAddMember(documentId, action, state) {
|
|
165
|
-
await this.ensureBuilderAccount(documentId);
|
|
166
|
-
if (!action.input.ethAddress)
|
|
167
|
-
return;
|
|
168
|
-
// Check if member already exists
|
|
169
|
-
const existingMember = await this.relationalDb
|
|
170
|
-
.selectFrom("builder_account_members")
|
|
171
|
-
.select("id")
|
|
172
|
-
.where("builder_account_id", "=", documentId)
|
|
173
|
-
.where("eth_address", "=", action.input.ethAddress)
|
|
174
|
-
.executeTakeFirst();
|
|
175
|
-
if (!existingMember) {
|
|
176
|
-
await this.relationalDb
|
|
177
|
-
.insertInto("builder_account_members")
|
|
178
|
-
.values({
|
|
179
|
-
id: action.input.ethAddress,
|
|
180
|
-
builder_account_id: documentId,
|
|
181
|
-
eth_address: action.input.ethAddress,
|
|
182
|
-
created_at: new Date(),
|
|
183
|
-
})
|
|
184
|
-
.execute();
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
async handleRemoveMember(documentId, action, state) {
|
|
188
|
-
if (!action.input.ethAddress)
|
|
189
|
-
return;
|
|
190
|
-
await this.relationalDb
|
|
191
|
-
.deleteFrom("builder_account_members")
|
|
192
|
-
.where("builder_account_id", "=", documentId)
|
|
193
|
-
.where("eth_address", "=", action.input.ethAddress)
|
|
194
|
-
.execute();
|
|
195
|
-
}
|
|
196
|
-
// Spaces operations
|
|
197
|
-
async handleAddSpace(documentId, action, state) {
|
|
198
|
-
await this.ensureBuilderAccount(documentId);
|
|
199
|
-
const spaceId = toPascalCase(action.input.title);
|
|
200
|
-
await this.relationalDb
|
|
201
|
-
.insertInto("builder_spaces")
|
|
202
|
-
.values({
|
|
203
|
-
id: spaceId,
|
|
204
|
-
builder_account_id: documentId,
|
|
205
|
-
title: action.input.title,
|
|
206
|
-
description: action.input.description || null,
|
|
207
|
-
sort_order: 0,
|
|
208
|
-
created_at: new Date(),
|
|
209
|
-
updated_at: new Date(),
|
|
210
|
-
})
|
|
211
|
-
.onConflict((oc) => oc.column("id").doNothing())
|
|
212
|
-
.execute();
|
|
213
|
-
}
|
|
214
|
-
async handleDeleteSpace(documentId, action, state) {
|
|
215
|
-
await this.relationalDb
|
|
216
|
-
.deleteFrom("builder_spaces")
|
|
217
|
-
.where("id", "=", action.input.id)
|
|
218
|
-
.where("builder_account_id", "=", documentId)
|
|
219
|
-
.execute();
|
|
220
|
-
}
|
|
221
|
-
async handleSetSpaceTitle(documentId, action, state) {
|
|
222
|
-
await this.relationalDb
|
|
223
|
-
.updateTable("builder_spaces")
|
|
224
|
-
.set({
|
|
225
|
-
title: action.input.newTitle,
|
|
226
|
-
updated_at: new Date(),
|
|
227
|
-
})
|
|
228
|
-
.where("id", "=", action.input.id)
|
|
229
|
-
.where("builder_account_id", "=", documentId)
|
|
230
|
-
.execute();
|
|
231
|
-
}
|
|
232
|
-
async handleSetSpaceDescription(documentId, action, state) {
|
|
233
|
-
await this.relationalDb
|
|
234
|
-
.updateTable("builder_spaces")
|
|
235
|
-
.set({
|
|
236
|
-
description: action.input.description,
|
|
237
|
-
updated_at: new Date(),
|
|
238
|
-
})
|
|
239
|
-
.where("id", "=", action.input.id)
|
|
240
|
-
.where("builder_account_id", "=", documentId)
|
|
241
|
-
.execute();
|
|
242
|
-
}
|
|
243
|
-
async handleReorderSpaces(documentId, action, state) {
|
|
244
|
-
const { ids, insertAfter } = action.input;
|
|
245
|
-
for (let i = 0; i < ids.length; i++) {
|
|
246
|
-
const spaceId = ids[i];
|
|
247
|
-
const sortOrder = insertAfter !== null ? Number(insertAfter) + i + 1 : i;
|
|
248
|
-
await this.relationalDb
|
|
249
|
-
.updateTable("builder_spaces")
|
|
250
|
-
.set({
|
|
251
|
-
sort_order: sortOrder,
|
|
252
|
-
updated_at: new Date(),
|
|
253
|
-
})
|
|
254
|
-
.where("id", "=", spaceId)
|
|
255
|
-
.where("builder_account_id", "=", documentId)
|
|
256
|
-
.execute();
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
// Packages operations
|
|
260
|
-
async handleAddPackage(documentId, action, state) {
|
|
261
|
-
const packageId = action.input.spaceId + "-" + toPascalCase(action.input.name);
|
|
262
|
-
await this.relationalDb
|
|
263
|
-
.insertInto("builder_packages")
|
|
264
|
-
.values({
|
|
265
|
-
id: `${packageId}`,
|
|
266
|
-
space_id: action.input.spaceId,
|
|
267
|
-
name: action.input.name,
|
|
268
|
-
description: action.input.description || null,
|
|
269
|
-
category: action.input.category || null,
|
|
270
|
-
author_name: action.input.author?.name || "",
|
|
271
|
-
author_website: action.input.author?.website || null,
|
|
272
|
-
github_url: action.input.github || null,
|
|
273
|
-
npm_url: action.input.npm || null,
|
|
274
|
-
vetra_drive_url: action.input.vetraDriveUrl || null,
|
|
275
|
-
drive_id: null,
|
|
276
|
-
sort_order: 0,
|
|
277
|
-
created_at: new Date(),
|
|
278
|
-
updated_at: new Date(),
|
|
279
|
-
})
|
|
280
|
-
.onConflict((oc) => oc.column("id").doNothing())
|
|
281
|
-
.execute();
|
|
282
|
-
// Add keywords if provided
|
|
283
|
-
if (action.input.keywords && action.input.keywords.length > 0) {
|
|
284
|
-
for (const keyword of action.input.keywords) {
|
|
285
|
-
await this.relationalDb
|
|
286
|
-
.insertInto("builder_package_keywords")
|
|
287
|
-
.values({
|
|
288
|
-
id: `${packageId}-${keyword}`,
|
|
289
|
-
package_id: packageId,
|
|
290
|
-
label: keyword,
|
|
291
|
-
created_at: new Date(),
|
|
292
|
-
})
|
|
293
|
-
.execute();
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
async handleSetPackageDriveId(documentId, action, state) {
|
|
298
|
-
await this.relationalDb
|
|
299
|
-
.updateTable("builder_packages")
|
|
300
|
-
.set({
|
|
301
|
-
drive_id: action.input.driveId,
|
|
302
|
-
updated_at: new Date(),
|
|
303
|
-
})
|
|
304
|
-
.where("id", "=", action.input.packageId)
|
|
305
|
-
.execute();
|
|
306
|
-
}
|
|
307
|
-
async handleUpdatePackage(documentId, action, state) {
|
|
308
|
-
const updates = { updated_at: new Date() };
|
|
309
|
-
if (action.input.title !== undefined) {
|
|
310
|
-
updates.name = action.input.title;
|
|
311
|
-
}
|
|
312
|
-
if (action.input.description !== undefined) {
|
|
313
|
-
updates.description = action.input.description;
|
|
314
|
-
}
|
|
315
|
-
await this.relationalDb
|
|
316
|
-
.updateTable("builder_packages")
|
|
317
|
-
.set(updates)
|
|
318
|
-
.where("id", "=", action.input.id)
|
|
319
|
-
.execute();
|
|
320
|
-
}
|
|
321
|
-
async handleReorderPackages(documentId, action, state) {
|
|
322
|
-
const { ids, insertAfter, spaceId } = action.input;
|
|
323
|
-
for (let i = 0; i < ids.length; i++) {
|
|
324
|
-
const packageId = ids[i];
|
|
325
|
-
const sortOrder = insertAfter !== null ? Number(insertAfter) + i + 1 : i;
|
|
326
|
-
await this.relationalDb
|
|
327
|
-
.updateTable("builder_packages")
|
|
328
|
-
.set({
|
|
329
|
-
sort_order: sortOrder,
|
|
330
|
-
updated_at: new Date(),
|
|
331
|
-
})
|
|
332
|
-
.where("id", "=", packageId)
|
|
333
|
-
.where("space_id", "=", spaceId)
|
|
334
|
-
.execute();
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
async handleDeletePackage(documentId, action, state) {
|
|
338
|
-
await this.relationalDb
|
|
339
|
-
.deleteFrom("builder_packages")
|
|
340
|
-
.where("id", "=", action.input.id)
|
|
341
|
-
.execute();
|
|
342
|
-
}
|
|
343
|
-
// Helper method to ensure builder account exists
|
|
344
|
-
async ensureBuilderAccount(documentId) {
|
|
345
|
-
const existing = await this.relationalDb
|
|
346
|
-
.selectFrom("builder_accounts")
|
|
347
|
-
.select("id")
|
|
348
|
-
.where("id", "=", documentId)
|
|
349
|
-
.executeTakeFirst();
|
|
350
|
-
if (!existing) {
|
|
351
|
-
await this.relationalDb
|
|
352
|
-
.insertInto("builder_accounts")
|
|
353
|
-
.values({
|
|
354
|
-
id: documentId,
|
|
355
|
-
profile_name: "",
|
|
356
|
-
profile_slug: "",
|
|
357
|
-
profile_logo: null,
|
|
358
|
-
profile_description: null,
|
|
359
|
-
profile_socials_x: null,
|
|
360
|
-
profile_socials_github: null,
|
|
361
|
-
profile_socials_website: null,
|
|
362
|
-
created_at: new Date(),
|
|
363
|
-
updated_at: new Date(),
|
|
364
|
-
})
|
|
365
|
-
.onConflict((oc) => oc.column("id").doNothing())
|
|
366
|
-
.execute();
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
async onDisconnect() { }
|
|
370
|
-
}
|