Skip to content

Commit

Permalink
Merge pull request #1348 from undb-xyz/release/v0.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
nichenqin committed Jul 20, 2023
2 parents 2374f7c + a48f755 commit ad6a1df
Show file tree
Hide file tree
Showing 139 changed files with 3,156 additions and 1,825 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
## v0.6.0

## v0.5.18

## v0.5.17
Expand Down
54 changes: 27 additions & 27 deletions apps/backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,30 @@
"name": "@undb/backend",
"version": "0.0.0",
"dependencies": {
"@aws-sdk/client-s3": "^3.363.0",
"@aws-sdk/client-s3": "^3.370.0",
"@json2csv/plainjs": "^7.0.1",
"@liaoliaots/nestjs-redis-health": "^9.0.4",
"@mikro-orm/better-sqlite": "^5.7.12",
"@mikro-orm/core": "^5.7.12",
"@mikro-orm/migrations": "^5.7.12",
"@mikro-orm/better-sqlite": "^5.7.13",
"@mikro-orm/core": "^5.7.13",
"@mikro-orm/migrations": "^5.7.13",
"@mikro-orm/nestjs": "^5.2.0",
"@nestjs/common": "^10.0.4",
"@nestjs/common": "^10.1.0",
"@nestjs/config": "^3.0.0",
"@nestjs/core": "^10.0.4",
"@nestjs/core": "^10.1.0",
"@nestjs/cqrs": "^10.0.1",
"@nestjs/jwt": "^10.1.0",
"@nestjs/mongoose": "^10.0.0",
"@nestjs/passport": "^10.0.0",
"@nestjs/platform-express": "^10.0.4",
"@nestjs/platform-express": "^10.1.0",
"@nestjs/schedule": "^3.0.1",
"@nestjs/serve-static": "^4.0.0",
"@nestjs/terminus": "^10.0.1",
"@temporalio/activity": "^1.8.0",
"@temporalio/client": "^1.8.0",
"@temporalio/common": "^1.8.0",
"@temporalio/worker": "^1.8.0",
"@temporalio/workflow": "^1.8.0",
"@trpc/server": "^10.33.0",
"@temporalio/activity": "^1.8.1",
"@temporalio/client": "^1.8.1",
"@temporalio/common": "^1.8.1",
"@temporalio/worker": "^1.8.1",
"@temporalio/workflow": "^1.8.1",
"@trpc/server": "^10.34.0",
"@undb/cache": "^0.0.0",
"@undb/core": "^0.0.0",
"@undb/cqrs": "^0.0.0",
Expand All @@ -49,8 +49,8 @@
"i18next-http-middleware": "^3.3.2",
"ioredis": "^5.3.2",
"joi": "^17.9.2",
"mongodb": "^5.6.0",
"mongoose": "^7.3.1",
"mongodb": "^5.7.0",
"mongoose": "^7.4.0",
"nestjs-cls": "^3.5.0",
"nestjs-pino": "^3.3.0",
"oxide.ts": "^1.1.0",
Expand All @@ -59,41 +59,41 @@
"passport-jwt": "^4.0.1",
"passport-local": "^1.0.0",
"pino-http": "^8.3.3",
"pino-pretty": "^10.0.0",
"pino-pretty": "^10.0.1",
"reflect-metadata": "^0.1.13",
"rimraf": "^5.0.1",
"rxjs": "^7.8.1",
"ts-pattern": "^5.0.1",
"ts-pattern": "^5.0.3",
"ufo": "^1.1.2",
"unstorage": "^1.7.0",
"unstorage": "^1.8.0",
"uuid": "^9.0.0",
"xlsx": "^0.18.5"
},
"devDependencies": {
"@nestjs/cli": "^10.1.0",
"@nestjs/cli": "^10.1.10",
"@nestjs/schematics": "^10.0.1",
"@nestjs/testing": "^10.0.4",
"@nestjs/testing": "^10.1.0",
"@swc/cli": "^0.1.62",
"@swc/core": "^1.3.67",
"@swc/core": "^1.3.70",
"@types/bcrypt": "^5.0.0",
"@types/compression": "^1.7.2",
"@types/cookie-parser": "^1.4.3",
"@types/cron": "^2.0.1",
"@types/express": "^4.17.17",
"@types/jest": "^29.5.2",
"@types/jest": "^29.5.3",
"@types/multer": "^1.4.7",
"@types/node": "^20.3.3",
"@types/node": "^20.4.2",
"@types/passport": "^1.0.12",
"@types/passport-jwt": "^3.0.8",
"@types/passport-jwt": "^3.0.9",
"@types/passport-local": "^1.0.35",
"@types/supertest": "^2.0.12",
"@types/uuid": "^9.0.2",
"@undb/eslint-config": "^0.0.0",
"eslint": "^8.44.0",
"eslint": "^8.45.0",
"esm": "^3.2.25",
"express": "^4.18.2",
"jest": "^29.5.0",
"nodemon": "^3.0.0",
"jest": "^29.6.1",
"nodemon": "^3.0.1",
"npm-run-all": "^4.1.5",
"openapi3-ts": "^4.1.2",
"supertest": "^6.3.3",
Expand Down
2 changes: 2 additions & 0 deletions apps/backend/src/core/table/commands/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import { SetFiltersCommandHandler } from './set-filters.command.handler.js'
import { SetFormFieldRequirementsCommandHandler } from './set-form-field-requirements.command.handler.js'
import { SetFormFieldVisibilityCommandHandler } from './set-form-field-visibility.command.handler.js'
import { SetFormFieldsOrderCommandHandler } from './set-form-fields-order.command.handler.js'
import { SetGalleryFieldCommandHandler } from './set-gallery-field.command.handler.js'
import { SetGanttFieldCommandHandler } from './set-gantt-field.command.handler.js'
import { SetKanbanFieldCommandHandler } from './set-kanban-field.command.handler.js'
import { SetPinnedFieldsCommandHandler } from './set-pinned-fields.command.handler.js'
Expand Down Expand Up @@ -99,5 +100,6 @@ export const commandHandlers = [
SetFormFieldVisibilityCommandHandler,
SetFormFieldRequirementsCommandHandler,
SetFormFieldsOrderCommandHandler,
SetGalleryFieldCommandHandler,
UpdateFormCommandHandler,
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import type { ICommandHandler } from '@nestjs/cqrs'
import { CommandHandler } from '@nestjs/cqrs'
import { type ITableRepository } from '@undb/core'
import { SetGalleryFieldCommandHandler as DomainHandler, SetGalleryFieldCommand } from '@undb/cqrs'
import { InjectTableRepository } from '../adapters/sqlite/table-sqlite.repository.js'

@CommandHandler(SetGalleryFieldCommand)
export class SetGalleryFieldCommandHandler extends DomainHandler implements ICommandHandler<SetGalleryFieldCommand> {
constructor(
@InjectTableRepository()
protected readonly repo: ITableRepository,
) {
super(repo)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ export class NestUserSqliteQueryModel extends UserSqliteQueryModel {
}

@UseRequestContext()
override find() {
return super.find()
override find(spec: Option<UserSpecification>) {
return super.find(spec)
}

@UseRequestContext()
Expand Down
4 changes: 2 additions & 2 deletions apps/desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
"@types/detect-port": "^1.3.3",
"@undb/eslint-config": "^0.0.0",
"detect-port": "^1.5.1",
"electron": "^25.2.0",
"electron": "^25.3.0",
"electron-builder": "^24.4.0",
"electron-is-dev": "^2.0.0",
"typescript": "^5.1.6",
"vite": "^4.3.9",
"vite": "^4.4.4",
"vite-plugin-electron": "^0.12.0",
"vite-plugin-electron-renderer": "^0.14.5",
"wait-port": "^1.0.4"
Expand Down
46 changes: 23 additions & 23 deletions apps/frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,26 @@
"@event-calendar/day-grid": "^1.5.0",
"@event-calendar/interaction": "^1.5.0",
"@event-calendar/time-grid": "^1.5.0",
"@playwright/test": "^1.35.1",
"@playwright/test": "^1.36.1",
"@popperjs/core": "^2.11.8",
"@revolist/revogrid": "^3.6.5",
"@revolist/svelte-datagrid": "^3.2.16",
"@rgossiaux/svelte-headlessui": "^2.0.0",
"@sveltejs/adapter-auto": "^2.1.0",
"@sveltejs/adapter-static": "^2.0.2",
"@sveltejs/kit": "^1.21.0",
"@tailwindcss/forms": "^0.5.3",
"@tanstack/svelte-query": "^4.29.19",
"@trpc/client": "^10.33.0",
"@trpc/server": "^10.33.0",
"@sveltejs/kit": "^1.22.3",
"@tailwindcss/forms": "^0.5.4",
"@tanstack/svelte-query": "^4.29.25",
"@trpc/client": "^10.34.0",
"@trpc/server": "^10.34.0",
"@types/js-cookie": "^3.0.3",
"@types/lodash-es": "^4.17.7",
"@types/lodash-es": "^4.17.8",
"@types/nprogress": "^0.2.0",
"@types/papaparse": "^5.3.7",
"@types/safe-flat": "^2.0.0",
"@types/sortablejs": "^1.15.1",
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^6.0.0",
"@typescript-eslint/eslint-plugin": "^6.1.0",
"@typescript-eslint/parser": "^6.1.0",
"@undb/core": "^0.0.0",
"@undb/i18n": "^0.0.0",
"@undb/integrations": "^0.0.0",
Expand All @@ -45,11 +45,11 @@
"classnames": "^2.3.2",
"date-fns": "^2.30.0",
"delay": "^6.0.0",
"eslint": "^8.44.0",
"eslint": "^8.45.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-svelte": "^2.32.2",
"flowbite": "^1.6.6",
"flowbite-svelte": "^0.39.1",
"flowbite": "^1.7.0",
"flowbite-svelte": "^0.40.1",
"htm": "^3.1.1",
"i18next": "^23.0.0",
"i18next-browser-languagedetector": "^7.1.0",
Expand All @@ -60,17 +60,17 @@
"nprogress": "^0.2.0",
"papaparse": "^5.4.1",
"plausible-tracker": "^0.3.8",
"postcss": "^8.4.24",
"postcss": "^8.4.26",
"postcss-load-config": "^4.0.1",
"prettier": "^2.8.8",
"prettier-plugin-svelte": "^2.10.1",
"prettier": "^3.0.0",
"prettier-plugin-svelte": "^3.0.0",
"safe-flat": "^2.0.2",
"sortablejs": "^1.15.0",
"svelte": "^4.0.1",
"svelte": "^4.0.5",
"svelte-chartjs": "^3.1.2",
"svelte-check": "^3.4.4",
"svelte-check": "^3.4.6",
"svelte-copy": "^1.4.1",
"svelte-dnd-action": "^0.9.22",
"svelte-dnd-action": "^0.9.24",
"svelte-gantt": "4.0.9-beta",
"svelte-grid": "^5.1.1",
"svelte-i18next": "^2.0.0",
Expand All @@ -81,14 +81,14 @@
"svelte-previous": "^2.1.3",
"svelte-tiny-virtual-list": "^2.0.5",
"sveltekit-superforms": "^0.8.7",
"svelvet": "^8.0.8",
"tailwindcss": "^3.3.2",
"trpc-svelte-query": "^1.0.1",
"ts-pattern": "^5.0.1",
"svelvet": "^8.1.0",
"tailwindcss": "^3.3.3",
"trpc-svelte-query": "^1.0.2",
"ts-pattern": "^5.0.3",
"tslib": "^2.6.0",
"type-fest": "^4.0.0",
"typescript": "^5.1.6",
"vite": "^4.3.9",
"vite": "^4.4.4",
"vitest": "^0.33.0",
"xlsx": "^0.18.5",
"zod": "^3.21.4"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@
{/each}
</Button>
<Portal target="body">
<Dropdown triggeredBy=".extension_picker" class="z-[99999] w-48" bind:open>
<Dropdown style="z-index: 50;" triggeredBy=".extension_picker" class="z-[99999] w-48" bind:open>
{#each types as type (type.value)}
{@const selected = value.includes(type.value)}
<Checkbox value={type.value} bind:group={value} custom on:change={() => (open = false)}>
<div
role="listitem"
class="w-full p-2 pr-4 flex justify-between hover:bg-gray-100 transition cursor-pointer"
class="w-full pr-4 flex justify-between hover:bg-gray-100 transition cursor-pointer"
class:bg-gray-100={selected}
>
<span class="text-xs">
Expand Down
4 changes: 2 additions & 2 deletions apps/frontend/src/lib/cell/CellInput/FilterTypePicker.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@
</span>
</Button>
<Portal target="body">
<Dropdown triggeredBy=".attachment_type_picker" class="z-[99999]" bind:open>
<Dropdown style="z-index: 50;" triggeredBy=".attachment_type_picker" class="z-[99999]" bind:open>
{#each types as type (type.value)}
<Radio value={type.value} bind:group={value} custom on:change={() => (open = false)}>
<div
role="listitem"
class="w-full p-2 pr-4 flex justify-between hover:bg-gray-100 transition cursor-pointer"
class="w-full pr-4 flex justify-between hover:bg-gray-100 transition cursor-pointer"
class:bg-gray-100={value === type.value}
>
<div class="inline-flex gap-2 items-center text-gray-600">
Expand Down
10 changes: 8 additions & 2 deletions apps/frontend/src/lib/cell/CellInput/UserPicker.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import CollaboratorComponent from '../CellComponents/CollaboratorComponent.svelte'
import { trpc } from '$lib/trpc/client'
import { t } from '$lib/i18n'
import type { IQueryUser } from '@undb/core'
export let value: string | undefined
Expand All @@ -18,7 +19,12 @@
$: members = $query.data?.users ?? []
$: membersMap = new Map(members.map((m) => [m.userId, m]))
$: selected = value ? membersMap.get(value) : undefined
$: selectedQuery = trpc().user.users.query({ id: value }, { enabled: !!value && !opened && !selected })
$: selectedMembers = $selectedQuery?.data?.users ?? []
let selected: IQueryUser | undefined
$: if (value) selected = membersMap.get(value) || selectedMembers.find((u) => u.userId === value)
</script>

<Button color="alternative" class={cx('inline-flex gap-3 max-h-10 max-w-max', $$restProps.class)} {...$$restProps}>
Expand All @@ -28,7 +34,7 @@
{$t('Select Collaborator')}
{/if}
</Button>
<Dropdown bind:open>
<Dropdown style="z-index: 50;" bind:open class="w-[400px] border-2">
{#each members as member}
<Radio bind:group={value} value={member.userId} custom on:change={() => (open = false)}>
<span
Expand Down
41 changes: 25 additions & 16 deletions apps/frontend/src/lib/cell/CellInput/UsersPicker.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import CollaboratorComponent from '../CellComponents/CollaboratorComponent.svelte'
import { trpc } from '$lib/trpc/client'
import { t } from '$lib/i18n'
import type { ICollaboratorProfile } from '@undb/core'
import type { ICollaboratorProfile, IQueryUser } from '@undb/core'
export let value: string[] | undefined
export let initialMembers: Map<string, ICollaboratorProfile & { userId: string }> = new Map()
Expand All @@ -24,8 +24,14 @@
$: query = trpc().user.users.query({}, { enabled: opened })
$: members = $query.data?.users ?? []
$: selectedQuery = trpc().user.users.query(
{ ids: value },
{ enabled: !!value?.length && !opened && !selected.length },
)
$: selectedMembers = $selectedQuery?.data?.users ?? []
$: {
for (const member of members) {
for (const member of [...members, ...selectedMembers]) {
membersMap.set(member.userId, {
userId: member.userId,
avatar: member.avatar ?? null,
Expand All @@ -35,10 +41,11 @@
}
}
$: selected = value?.map((userId) => membersMap.get(userId)!).filter(Boolean) ?? []
let selected: ICollaboratorProfile[] = []
$: if (value) selected = value?.map((userId) => membersMap.get(userId)!).filter(Boolean) ?? []
</script>

<Button color="alternative" class="inline-flex gap-3 max-h-10 max-w-max">
<Button color="alternative" class="inline-flex gap-3 max-h-10">
{#if selected.length}
{#each selected as member}
<CollaboratorComponent username={member.username} avatar={member.avatar} color={member.color} />
Expand All @@ -47,16 +54,18 @@
{$t('Select Collaborator')}
{/if}
</Button>
<Dropdown bind:open>
{#each members as member}
{@const isSelected = selected.some((s) => s.userId === member.userId)}
<Checkbox bind:group={value} value={member.userId} custom>
<span class="inline-flex items-center justify-between px-4 py-2 cursor-pointer w-full hover:bg-gray-100">
<CollaboratorComponent username={member.username} avatar={member.avatar} color={member.color} />
{#if isSelected}
<i class="ti ti-check" />
{/if}
</span>
</Checkbox>
{/each}
<Dropdown style="z-index: 50" bind:open placement="bottom-start" class="w-[400px] border z-[99999]">
<div class="w-full">
{#each members as member}
{@const isSelected = selected.some((s) => s.userId === member.userId)}
<Checkbox bind:group={value} value={member.userId} custom class="flex w-full">
<span class="inline-flex items-center justify-between px-4 py-2 cursor-pointer w-full hover:bg-gray-100">
<CollaboratorComponent username={member.username} avatar={member.avatar} color={member.color} />
{#if isSelected}
<i class="ti ti-check" />
{/if}
</span>
</Checkbox>
{/each}
</div>
</Dropdown>
Loading

0 comments on commit ad6a1df

Please sign in to comment.