@things-factory/board-service 9.0.0-beta.24 → 9.0.0-beta.27
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/package.json +6 -6
- package/dist-server/constants/error-code.d.ts +0 -2
- package/dist-server/constants/error-code.js +0 -6
- package/dist-server/constants/error-code.js.map +0 -1
- package/dist-server/controllers/analyzer/analyze-integration.d.ts +0 -5
- package/dist-server/controllers/analyzer/analyze-integration.js +0 -117
- package/dist-server/controllers/analyzer/analyze-integration.js.map +0 -1
- package/dist-server/controllers/fonts.d.ts +0 -9
- package/dist-server/controllers/fonts.js +0 -76
- package/dist-server/controllers/fonts.js.map +0 -1
- package/dist-server/controllers/headless-model.d.ts +0 -6
- package/dist-server/controllers/headless-model.js +0 -55
- package/dist-server/controllers/headless-model.js.map +0 -1
- package/dist-server/controllers/headless-pdf-to-image.d.ts +0 -12
- package/dist-server/controllers/headless-pdf-to-image.js +0 -106
- package/dist-server/controllers/headless-pdf-to-image.js.map +0 -1
- package/dist-server/controllers/headless-playlist.d.ts +0 -5
- package/dist-server/controllers/headless-playlist.js +0 -71
- package/dist-server/controllers/headless-playlist.js.map +0 -1
- package/dist-server/controllers/headless-pool-for-board.d.ts +0 -1
- package/dist-server/controllers/headless-pool-for-board.js +0 -64
- package/dist-server/controllers/headless-pool-for-board.js.map +0 -1
- package/dist-server/controllers/headless-pool-for-label.d.ts +0 -1
- package/dist-server/controllers/headless-pool-for-label.js +0 -133
- package/dist-server/controllers/headless-pool-for-label.js.map +0 -1
- package/dist-server/controllers/index.d.ts +0 -34
- package/dist-server/controllers/index.js +0 -14
- package/dist-server/controllers/index.js.map +0 -1
- package/dist-server/controllers/label-command.d.ts +0 -19
- package/dist-server/controllers/label-command.js +0 -52
- package/dist-server/controllers/label-command.js.map +0 -1
- package/dist-server/controllers/pdf.d.ts +0 -9
- package/dist-server/controllers/pdf.js +0 -102
- package/dist-server/controllers/pdf.js.map +0 -1
- package/dist-server/controllers/screenshot.d.ts +0 -11
- package/dist-server/controllers/screenshot.js +0 -101
- package/dist-server/controllers/screenshot.js.map +0 -1
- package/dist-server/controllers/thumbnail.d.ts +0 -7
- package/dist-server/controllers/thumbnail.js +0 -16
- package/dist-server/controllers/thumbnail.js.map +0 -1
- package/dist-server/errors/index.d.ts +0 -1
- package/dist-server/errors/index.js +0 -5
- package/dist-server/errors/index.js.map +0 -1
- package/dist-server/errors/license-error.d.ts +0 -11
- package/dist-server/errors/license-error.js +0 -18
- package/dist-server/errors/license-error.js.map +0 -1
- package/dist-server/index.d.ts +0 -5
- package/dist-server/index.js +0 -35
- package/dist-server/index.js.map +0 -1
- package/dist-server/migrations/1556862253000-SeedGroup.d.ts +0 -5
- package/dist-server/migrations/1556862253000-SeedGroup.js +0 -43
- package/dist-server/migrations/1556862253000-SeedGroup.js.map +0 -1
- package/dist-server/migrations/index.d.ts +0 -1
- package/dist-server/migrations/index.js +0 -12
- package/dist-server/migrations/index.js.map +0 -1
- package/dist-server/routers/internal-board-view-router.d.ts +0 -1
- package/dist-server/routers/internal-board-view-router.js +0 -32
- package/dist-server/routers/internal-board-view-router.js.map +0 -1
- package/dist-server/routers/standalone-board-service-router.d.ts +0 -1
- package/dist-server/routers/standalone-board-service-router.js +0 -250
- package/dist-server/routers/standalone-board-service-router.js.map +0 -1
- package/dist-server/routes.d.ts +0 -1
- package/dist-server/routes.js +0 -23
- package/dist-server/routes.js.map +0 -1
- package/dist-server/service/analysis/analysis-query.d.ts +0 -3
- package/dist-server/service/analysis/analysis-query.js +0 -25
- package/dist-server/service/analysis/analysis-query.js.map +0 -1
- package/dist-server/service/analysis/index.d.ts +0 -2
- package/dist-server/service/analysis/index.js +0 -6
- package/dist-server/service/analysis/index.js.map +0 -1
- package/dist-server/service/board/board-history.d.ts +0 -28
- package/dist-server/service/board/board-history.js +0 -155
- package/dist-server/service/board/board-history.js.map +0 -1
- package/dist-server/service/board/board-mutation.d.ts +0 -12
- package/dist-server/service/board/board-mutation.js +0 -377
- package/dist-server/service/board/board-mutation.js.map +0 -1
- package/dist-server/service/board/board-query.d.ts +0 -20
- package/dist-server/service/board/board-query.js +0 -220
- package/dist-server/service/board/board-query.js.map +0 -1
- package/dist-server/service/board/board-subscription.d.ts +0 -6
- package/dist-server/service/board/board-subscription.js +0 -49
- package/dist-server/service/board/board-subscription.js.map +0 -1
- package/dist-server/service/board/board-type.d.ts +0 -24
- package/dist-server/service/board/board-type.js +0 -88
- package/dist-server/service/board/board-type.js.map +0 -1
- package/dist-server/service/board/board.d.ts +0 -25
- package/dist-server/service/board/board.js +0 -140
- package/dist-server/service/board/board.js.map +0 -1
- package/dist-server/service/board/event-subscriber.d.ts +0 -15
- package/dist-server/service/board/event-subscriber.js +0 -63
- package/dist-server/service/board/event-subscriber.js.map +0 -1
- package/dist-server/service/board/index.d.ts +0 -9
- package/dist-server/service/board/index.js +0 -13
- package/dist-server/service/board/index.js.map +0 -1
- package/dist-server/service/board-favorite/board-favorite-query.d.ts +0 -5
- package/dist-server/service/board-favorite/board-favorite-query.js +0 -56
- package/dist-server/service/board-favorite/board-favorite-query.js.map +0 -1
- package/dist-server/service/board-favorite/board-favorite-type.d.ts +0 -8
- package/dist-server/service/board-favorite/board-favorite-type.js +0 -31
- package/dist-server/service/board-favorite/board-favorite-type.js.map +0 -1
- package/dist-server/service/board-favorite/index.d.ts +0 -3
- package/dist-server/service/board-favorite/index.js +0 -7
- package/dist-server/service/board-favorite/index.js.map +0 -1
- package/dist-server/service/board-template/board-template-mutation.d.ts +0 -8
- package/dist-server/service/board-template/board-template-mutation.js +0 -146
- package/dist-server/service/board-template/board-template-mutation.js.map +0 -1
- package/dist-server/service/board-template/board-template-query.d.ts +0 -13
- package/dist-server/service/board-template/board-template-query.js +0 -147
- package/dist-server/service/board-template/board-template-query.js.map +0 -1
- package/dist-server/service/board-template/board-template-type.d.ts +0 -21
- package/dist-server/service/board-template/board-template-type.js +0 -81
- package/dist-server/service/board-template/board-template-type.js.map +0 -1
- package/dist-server/service/board-template/board-template.d.ts +0 -23
- package/dist-server/service/board-template/board-template.js +0 -123
- package/dist-server/service/board-template/board-template.js.map +0 -1
- package/dist-server/service/board-template/index.d.ts +0 -6
- package/dist-server/service/board-template/index.js +0 -10
- package/dist-server/service/board-template/index.js.map +0 -1
- package/dist-server/service/group/group-mutation.d.ts +0 -8
- package/dist-server/service/group/group-mutation.js +0 -89
- package/dist-server/service/group/group-mutation.js.map +0 -1
- package/dist-server/service/group/group-query.d.ts +0 -13
- package/dist-server/service/group/group-query.js +0 -92
- package/dist-server/service/group/group-query.js.map +0 -1
- package/dist-server/service/group/group-type.d.ts +0 -13
- package/dist-server/service/group/group-type.js +0 -49
- package/dist-server/service/group/group-type.js.map +0 -1
- package/dist-server/service/group/group.d.ts +0 -17
- package/dist-server/service/group/group.js +0 -77
- package/dist-server/service/group/group.js.map +0 -1
- package/dist-server/service/group/index.d.ts +0 -5
- package/dist-server/service/group/index.js +0 -9
- package/dist-server/service/group/index.js.map +0 -1
- package/dist-server/service/index.d.ts +0 -10
- package/dist-server/service/index.js +0 -49
- package/dist-server/service/index.js.map +0 -1
- package/dist-server/service/permission/domain-permission-subscriber.d.ts +0 -9
- package/dist-server/service/permission/domain-permission-subscriber.js +0 -30
- package/dist-server/service/permission/domain-permission-subscriber.js.map +0 -1
- package/dist-server/service/permission/index.d.ts +0 -2
- package/dist-server/service/permission/index.js +0 -6
- package/dist-server/service/permission/index.js.map +0 -1
- package/dist-server/service/play-group/event-subscriber.d.ts +0 -6
- package/dist-server/service/play-group/event-subscriber.js +0 -58
- package/dist-server/service/play-group/event-subscriber.js.map +0 -1
- package/dist-server/service/play-group/index.d.ts +0 -8
- package/dist-server/service/play-group/index.js +0 -12
- package/dist-server/service/play-group/index.js.map +0 -1
- package/dist-server/service/play-group/play-group-mutation.d.ts +0 -10
- package/dist-server/service/play-group/play-group-mutation.js +0 -146
- package/dist-server/service/play-group/play-group-mutation.js.map +0 -1
- package/dist-server/service/play-group/play-group-query.d.ts +0 -14
- package/dist-server/service/play-group/play-group-query.js +0 -129
- package/dist-server/service/play-group/play-group-query.js.map +0 -1
- package/dist-server/service/play-group/play-group-subscription.d.ts +0 -6
- package/dist-server/service/play-group/play-group-subscription.js +0 -49
- package/dist-server/service/play-group/play-group-subscription.js.map +0 -1
- package/dist-server/service/play-group/play-group-type.d.ts +0 -13
- package/dist-server/service/play-group/play-group-type.js +0 -49
- package/dist-server/service/play-group/play-group-type.js.map +0 -1
- package/dist-server/service/play-group/play-group.d.ts +0 -18
- package/dist-server/service/play-group/play-group.js +0 -82
- package/dist-server/service/play-group/play-group.js.map +0 -1
- package/dist-server/service/theme/index.d.ts +0 -6
- package/dist-server/service/theme/index.js +0 -10
- package/dist-server/service/theme/index.js.map +0 -1
- package/dist-server/service/theme/theme-mutation.d.ts +0 -10
- package/dist-server/service/theme/theme-mutation.js +0 -125
- package/dist-server/service/theme/theme-mutation.js.map +0 -1
- package/dist-server/service/theme/theme-query.d.ts +0 -11
- package/dist-server/service/theme/theme-query.js +0 -79
- package/dist-server/service/theme/theme-query.js.map +0 -1
- package/dist-server/service/theme/theme-type.d.ts +0 -21
- package/dist-server/service/theme/theme-type.js +0 -82
- package/dist-server/service/theme/theme-type.js.map +0 -1
- package/dist-server/service/theme/theme.d.ts +0 -25
- package/dist-server/service/theme/theme.js +0 -101
- package/dist-server/service/theme/theme.js.map +0 -1
- package/dist-server/tsconfig.tsbuildinfo +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"board-mutation.js","sourceRoot":"","sources":["../../../server/service/board/board-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Mutation, Resolver, Directive } from 'type-graphql'\nimport { EntityManager, In } from 'typeorm'\nimport type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Domain, getDataSource, getRedirectSubdomainPath, getRepository } from '@things-factory/shell'\n\nimport { thumbnail } from '../../controllers/thumbnail.js'\nimport { Group } from '../group/group.js'\nimport { Board } from './board.js'\nimport { BoardHistory } from './board-history.js'\nimport { BoardPatch, NewBoard } from './board-type.js'\n\nasync function parseJSONFile(uploadedFile: FileUpload): Promise<any> {\n var { createReadStream } = await uploadedFile\n\n return new Promise((resolve, reject) => {\n const chunks: Uint8Array[] = []\n\n createReadStream()\n .on('data', (chunk: Uint8Array) => {\n chunks.push(chunk)\n })\n .on('end', () => {\n try {\n const fileContents = Buffer.concat(chunks).toString('utf-8')\n const jsonData = JSON.parse(fileContents)\n resolve(jsonData)\n } catch (error) {\n reject(error)\n }\n })\n .on('error', (error: Error) => {\n reject(error)\n })\n })\n}\n\n@Resolver(Board)\nexport class BoardMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"board\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Board, { description: 'To create new Board' })\n async createBoard(@Arg('board') board: NewBoard, @Ctx() context: ResolverContext): Promise<Board> {\n const { domain, user, notify, tx } = context.state\n const repository = getRepository(Board, tx)\n const groupRepository = getRepository(Group, tx)\n\n const oldBoard: Board = await repository.findOneBy({\n name: board.name,\n domain: { id: domain.id }\n })\n\n if (oldBoard) {\n throw new Error(context.t('error.board name is already taken', { name: board.name }))\n }\n\n const newBoard: Board = {\n ...board\n }\n\n newBoard.thumbnail ||=\n 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' /* empty thumbnail */\n\n if (board.groupId) {\n newBoard.group = await groupRepository.findOneBy({\n id: board.groupId\n })\n }\n\n const created = await repository.save({\n domain,\n ...newBoard,\n state: 'draft',\n creator: user,\n updater: user\n })\n\n notify &&\n notify({\n mode: 'in-app',\n title: `Board '${created.name}' created`,\n body: `Board '${created.name}' created by ${user.name}\\n${created.description}`,\n url: getRedirectSubdomainPath(context, domain, `/board-viewer/${created.id}`)\n })\n\n return created\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"board\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Board, { description: 'To clone a Board from existing Board' })\n async cloneBoard(\n @Arg('id') id: string,\n @Arg('patch') patch: BoardPatch,\n @Arg('targetSubdomain') targetSubdomain: string,\n @Arg('targetGroupId', { nullable: true }) targetGroupId: string,\n @Ctx() context: ResolverContext\n ): Promise<Board> {\n const { domain, user, notify, tx } = context.state\n const { t } = context\n const repository = getRepository(Board, tx)\n\n const board = await repository.findOneBy({ domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id })\n\n if (!patch.name || (patch.name == board.name && targetSubdomain == domain.subdomain)) {\n throw t('error.name must be unique from the original board', { name: patch.name })\n }\n\n if (targetSubdomain != domain.subdomain) {\n if ((await repository.count({ where: { domain: { subdomain: targetSubdomain }, name: patch.name } })) > 0) {\n throw t('error.name must be unique from the original board', { name: patch.name })\n }\n }\n\n var targetDomain = domain\n if (targetDomain && domain.subdomain != targetSubdomain) {\n targetDomain = await getRepository(Domain, tx).findOneBy({ subdomain: targetSubdomain })\n if (!targetDomain) {\n throw `given subdomain(${targetSubdomain}) not found`\n }\n }\n\n var targetGroup = null\n if (targetGroupId) {\n targetGroup = await getRepository(Group, tx).findOneBy({ domain: { id: targetDomain.id }, id: targetGroupId })\n if (!targetGroup) {\n throw `given group(${targetGroupId}) in domain(${targetSubdomain}) not found`\n }\n }\n\n const { id: excluded, ...clone } = board\n\n const cloned = await repository.save({\n domain: targetDomain,\n ...clone,\n ...patch,\n group: targetGroup,\n version: 0,\n state: 'draft',\n updater: user,\n creator: user\n })\n\n notify &&\n notify({\n mode: 'in-app',\n title: `Board '${cloned.name}' cloned`,\n body: `Board '${cloned.name}' cloned by ${user.name}\\n${cloned.description}`,\n image: getRedirectSubdomainPath(context, targetDomain, `/thumbnail/${cloned.id}`),\n url: getRedirectSubdomainPath(context, targetDomain, `/board-viewer/${cloned.id}`)\n })\n\n return cloned\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"board\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Board, { description: 'To modify Board information' })\n async updateBoard(\n @Arg('id') id: string,\n @Arg('patch') patch: BoardPatch,\n @Ctx() context: ResolverContext\n ): Promise<Board> {\n const { domain, user, notify, tx } = context.state\n const repository = getRepository(Board, tx)\n\n const board = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['creator']\n })\n\n if (patch.model) {\n const thumbnailPromise = thumbnail({\n model: patch.model,\n context\n })\n\n try {\n const thumbnailBase64 = await Promise.race([\n thumbnailPromise,\n new Promise((_, reject) => setTimeout(() => reject(new Error('5 seconds timeout')), 5000))\n ])\n\n patch.thumbnail = 'data:image/png;base64,' + thumbnailBase64.toString('base64')\n } catch (e) {\n console.warn(`Failed to get thumbnail for '${board.name}' in first 5 seconds`)\n // 5초 안에 썸네일이 생성되지 않았으므로 모델만 저장합니다.\n patch.thumbnail =\n 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' /* empty thumbnail */\n\n Promise.race([\n thumbnailPromise,\n new Promise((_, reject) => setTimeout(() => reject(new Error('Thumbnail extended timeout')), 5000))\n ])\n .then(async thumbnailBase64 => {\n /* use new resource manager */\n await getDataSource().transaction(async (tx: EntityManager) => {\n await getRepository(Board, tx).save({\n id: updated.id,\n thumbnail: 'data:image/png;base64,' + thumbnailBase64.toString('base64')\n })\n })\n })\n .catch(error => {\n console.error(`Failed to save thumbnail for '${board.name}' even after extended time:`, error)\n })\n }\n }\n\n const { groupId, ...patched } = patch\n\n if (groupId !== undefined) {\n const groupRepository = getRepository(Group, tx)\n board.group = groupId\n ? (await groupRepository.findOneBy({\n domain: { id: domain.id },\n id: groupId\n })) || null\n : null\n }\n\n const updated = await repository.save({\n domain,\n ...board,\n ...patched,\n state: 'draft',\n updater: user\n })\n\n notify &&\n notify({\n mode: 'in-app',\n title: `Board '${updated.name}' updated`,\n body: `Board '${updated.name}' updated by ${user.name}\\n${updated.description}`,\n image: getRedirectSubdomainPath(context, domain, `/thumbnail/${updated.id}`),\n url: getRedirectSubdomainPath(context, domain, `/board-viewer/${updated.id}`)\n })\n\n return updated\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"board\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Board, { description: 'To release a Board' })\n async releaseBoard(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Board> {\n const { domain, user, notify, tx } = context.state\n const repository = getRepository(Board, tx)\n\n const board = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['creator']\n })\n\n if (!board) {\n throw `Board given id(${id}) is not found`\n }\n\n if (board.state == 'released') {\n throw `Board given id(${id}) is already released`\n }\n\n const updated = await repository.save({\n domain,\n ...board,\n version: (board.version || 0) + 1,\n state: 'released',\n updater: user\n })\n\n notify &&\n notify({\n mode: 'in-app',\n title: `Board '${updated.name}' released`,\n body: `Board '${updated.name}' released by ${user.name}\\n${updated.description}`,\n image: getRedirectSubdomainPath(context, domain, `/thumbnail/${updated.id}`),\n url: getRedirectSubdomainPath(context, domain, `/board-viewer/${updated.id}`)\n })\n\n return updated\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"board\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Board, { description: 'To revert Board version' })\n async revertBoardVersion(\n @Arg('id') id: string,\n @Arg('version') version: number,\n @Ctx() context: ResolverContext\n ): Promise<Board> {\n const { domain, user, notify, tx } = context.state\n const repository = getRepository(Board, tx)\n\n const board = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['creator']\n })\n\n if (!board) {\n throw `Board with id(${id}) is not found`\n }\n\n const historyRepository = getRepository(BoardHistory, tx)\n\n const boardHistory = await historyRepository.findOne({\n where: { domain: { id: domain.id }, originalId: id, version },\n order: { version: 'DESC' }\n })\n\n if (!boardHistory) {\n throw `Board with id:version(${id}:${version}) is not found`\n }\n\n const updated = await repository.save({\n domain,\n ...board,\n model: boardHistory.model,\n thumbnail: boardHistory.thumbnail,\n state: 'draft',\n updater: user\n })\n\n notify &&\n notify({\n mode: 'in-app',\n title: `Board '${updated.name}' updated`,\n body: `Board '${updated.name}' updated by ${user.name}\\n${updated.description}`,\n image: getRedirectSubdomainPath(context, domain, `/thumbnail/${updated.id}`),\n url: getRedirectSubdomainPath(context, domain, `/board-viewer/${updated.id}`)\n })\n\n return updated\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"board\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete Board' })\n async deleteBoard(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, user, notify, tx } = context.state\n const repository = getRepository(Board, tx)\n const board = await repository.findOneBy({ domain: { id: domain.id }, id })\n\n const deleted = await repository.softDelete(id)\n\n notify &&\n notify({\n mode: 'in-app',\n title: `Board '${board.name}' deleted`,\n body: `Board '${board.name}' deleted by ${user.name}\\n${board.description}`\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"board\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [Board], { description: 'To import some Boards' })\n async importBoards(\n @Arg('groupId') groupId: string,\n @Arg('files', () => [GraphQLUpload]) files: FileUpload[],\n @Arg('overwrite') overwrite: boolean,\n @Ctx() context: ResolverContext\n ): Promise<Board[]> {\n const { domain, user, notify, tx } = context.state\n const groupRepository = getRepository(Group, tx)\n const boardRepository = getRepository(Board, tx)\n const group = await groupRepository.findOneBy({ domain: { id: domain.id }, id: groupId })\n\n if (!group) {\n throw `Group with id(${groupId}) is not found`\n }\n\n const boards = []\n\n for (const file of files) {\n const { id, name, description, model, thumbnail } = await parseJSONFile(file)\n\n var sameNameBoard = await boardRepository.findOneBy({ domain: { id: domain.id }, name })\n var sameIdBoard = await boardRepository.findOneBy({ id })\n\n if (overwrite) {\n var board = {} as any\n\n if (sameIdBoard) {\n if (overwrite && sameIdBoard.domainId != domain.id) {\n throw `Board with id(${id}) is already taken in another domain`\n }\n\n board = {\n ...sameIdBoard,\n name\n }\n\n if (sameNameBoard && sameIdBoard.id != sameNameBoard.id) {\n /* 이름 충돌 회피 */\n board.name = `${board.name}(${Date.now()})`\n }\n } else {\n board = {\n id,\n name: sameNameBoard ? `${name}(${Date.now()})` : name,\n version: 0,\n creator: user\n }\n }\n } else {\n board = {\n name,\n version: 0,\n creator: user\n }\n\n /* ID가 없으면, 사용해도 됨 */\n if (!sameIdBoard) {\n board.id = id\n }\n\n /* 이름 충돌 회피 */\n if (sameNameBoard) {\n board.name = `${board.name}(${Date.now()})`\n }\n }\n\n boards.push(\n await boardRepository.save({\n ...board,\n domain,\n description,\n model: typeof model != 'string' ? JSON.stringify(model) : model,\n thumbnail,\n group,\n state: 'draft',\n updater: user\n })\n )\n }\n\n notify &&\n notify({\n mode: 'in-app',\n title: `${boards.length} Board(s) are imported`,\n body: `${boards.length} Board(s) are imported into group ${group.name} by ${user.name}`\n })\n\n return boards\n }\n}\n"]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { User } from '@things-factory/auth-base';
|
|
2
|
-
import { Domain, ListParam } from '@things-factory/shell';
|
|
3
|
-
import { Group } from '../group/group.js';
|
|
4
|
-
import { PlayGroup } from '../play-group/play-group.js';
|
|
5
|
-
import { Board } from './board.js';
|
|
6
|
-
import { BoardList } from './board-type.js';
|
|
7
|
-
import { BoardHistory } from './board-history.js';
|
|
8
|
-
export declare class BoardQuery {
|
|
9
|
-
board(id: string, context: ResolverContext): Promise<Board>;
|
|
10
|
-
boardByName(name: string, context: ResolverContext): Promise<Board>;
|
|
11
|
-
boardsCreatedByMe(params: ListParam, context: ResolverContext): Promise<BoardList>;
|
|
12
|
-
boardVersions(id: string, context: ResolverContext): Promise<BoardHistory[]>;
|
|
13
|
-
boardPublished(id: string, context: ResolverContext): Promise<BoardHistory>;
|
|
14
|
-
boards(params: ListParam, context: ResolverContext): Promise<BoardList>;
|
|
15
|
-
group(board: Board): Promise<Group>;
|
|
16
|
-
playGroups(board: Board): Promise<PlayGroup[]>;
|
|
17
|
-
domain(board: Board): Promise<Domain>;
|
|
18
|
-
updater(board: Board): Promise<User>;
|
|
19
|
-
creator(board: Board): Promise<User>;
|
|
20
|
-
}
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BoardQuery = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const typeorm_1 = require("typeorm");
|
|
6
|
-
const type_graphql_1 = require("type-graphql");
|
|
7
|
-
const auth_base_1 = require("@things-factory/auth-base");
|
|
8
|
-
const shell_1 = require("@things-factory/shell");
|
|
9
|
-
const operato_license_checker_1 = require("@things-factory/operato-license-checker");
|
|
10
|
-
const group_js_1 = require("../group/group.js");
|
|
11
|
-
const play_group_js_1 = require("../play-group/play-group.js");
|
|
12
|
-
const board_js_1 = require("./board.js");
|
|
13
|
-
const board_type_js_1 = require("./board-type.js");
|
|
14
|
-
const board_history_js_1 = require("./board-history.js");
|
|
15
|
-
const license_error_js_1 = require("../../errors/license-error.js");
|
|
16
|
-
let BoardQuery = class BoardQuery {
|
|
17
|
-
async board(id, context) {
|
|
18
|
-
const { domain } = context.state;
|
|
19
|
-
var board = await (0, shell_1.getRepository)(board_js_1.Board).findOne({
|
|
20
|
-
where: { domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) }, id }
|
|
21
|
-
});
|
|
22
|
-
if (domain) {
|
|
23
|
-
// 1. check domainSecret is over limit quantity or not
|
|
24
|
-
var count = await (0, shell_1.getRepository)(shell_1.Domain)
|
|
25
|
-
.manager.createQueryBuilder()
|
|
26
|
-
.select('id')
|
|
27
|
-
.from(shell_1.Domain, 'domain')
|
|
28
|
-
.getCount();
|
|
29
|
-
if (!(0, operato_license_checker_1.checkDomain)(count)) {
|
|
30
|
-
throw new license_error_js_1.LicenseError({
|
|
31
|
-
errorCode: context.t(license_error_js_1.LicenseError.ERROR_CODES.OVER_LIMIT)
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
if (board) {
|
|
36
|
-
// 1. check boardSecret is over limit quantity or not
|
|
37
|
-
var count = await (0, shell_1.getRepository)(board_js_1.Board)
|
|
38
|
-
.manager.createQueryBuilder()
|
|
39
|
-
.select('id')
|
|
40
|
-
.from(board_js_1.Board, 'board')
|
|
41
|
-
.where('"domain_id" = :domainId', { domainId: domain.id })
|
|
42
|
-
.getCount();
|
|
43
|
-
if (!(0, operato_license_checker_1.checkTarget)(count)) {
|
|
44
|
-
throw new license_error_js_1.LicenseError({
|
|
45
|
-
errorCode: context.t(license_error_js_1.LicenseError.ERROR_CODES.OVER_LIMIT)
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return board;
|
|
50
|
-
}
|
|
51
|
-
async boardByName(name, context) {
|
|
52
|
-
const { domain } = context.state;
|
|
53
|
-
return await (0, shell_1.getRepository)(board_js_1.Board).findOne({
|
|
54
|
-
where: { domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) }, name }
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
async boardsCreatedByMe(params, context) {
|
|
58
|
-
const { domain, user } = context.state;
|
|
59
|
-
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
60
|
-
repository: (0, shell_1.getRepository)(board_js_1.Board),
|
|
61
|
-
params,
|
|
62
|
-
domain,
|
|
63
|
-
alias: 'board',
|
|
64
|
-
searchables: ['name', 'description']
|
|
65
|
-
}).andWhere('board.creator = :user', { user: user.id });
|
|
66
|
-
const [items, total] = await queryBuilder.getManyAndCount();
|
|
67
|
-
return { items, total };
|
|
68
|
-
}
|
|
69
|
-
async boardVersions(id, context) {
|
|
70
|
-
const { domain } = context.state;
|
|
71
|
-
return await (0, shell_1.getRepository)(board_history_js_1.BoardHistory).find({
|
|
72
|
-
where: { domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) }, originalId: id },
|
|
73
|
-
relations: ['updater'],
|
|
74
|
-
order: { version: 'DESC' },
|
|
75
|
-
take: 10
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
async boardPublished(id, context) {
|
|
79
|
-
const { domain } = context.state;
|
|
80
|
-
return await (0, shell_1.getRepository)(board_history_js_1.BoardHistory).findOne({
|
|
81
|
-
where: { domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) }, originalId: id },
|
|
82
|
-
order: { version: 'DESC' }
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
async boards(params, context) {
|
|
86
|
-
const { domain } = context.state;
|
|
87
|
-
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
88
|
-
repository: (0, shell_1.getRepository)(board_js_1.Board),
|
|
89
|
-
params,
|
|
90
|
-
domain,
|
|
91
|
-
searchables: ['name', 'description']
|
|
92
|
-
});
|
|
93
|
-
const [items, total] = await queryBuilder.getManyAndCount();
|
|
94
|
-
return { items, total };
|
|
95
|
-
}
|
|
96
|
-
async group(board) {
|
|
97
|
-
return (board.groupId &&
|
|
98
|
-
(await (0, shell_1.getRepository)(group_js_1.Group).findOneBy({
|
|
99
|
-
id: board.groupId
|
|
100
|
-
})));
|
|
101
|
-
}
|
|
102
|
-
async playGroups(board) {
|
|
103
|
-
var _a;
|
|
104
|
-
return (_a = (await (0, shell_1.getRepository)(board_js_1.Board).findOne({
|
|
105
|
-
where: { id: board.id },
|
|
106
|
-
relations: ['playGroups']
|
|
107
|
-
}))) === null || _a === void 0 ? void 0 : _a.playGroups;
|
|
108
|
-
}
|
|
109
|
-
async domain(board) {
|
|
110
|
-
return (board.domainId &&
|
|
111
|
-
(await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({
|
|
112
|
-
id: board.domainId
|
|
113
|
-
})));
|
|
114
|
-
}
|
|
115
|
-
async updater(board) {
|
|
116
|
-
return (board.updaterId &&
|
|
117
|
-
(await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({
|
|
118
|
-
id: board.updaterId
|
|
119
|
-
})));
|
|
120
|
-
}
|
|
121
|
-
async creator(board) {
|
|
122
|
-
return (board.creatorId &&
|
|
123
|
-
(await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({
|
|
124
|
-
id: board.creatorId
|
|
125
|
-
})));
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
exports.BoardQuery = BoardQuery;
|
|
129
|
-
tslib_1.__decorate([
|
|
130
|
-
(0, type_graphql_1.Directive)('@privilege(category: "board", privilege: "query", domainOwnerGranted: true)'),
|
|
131
|
-
(0, type_graphql_1.Query)(returns => board_js_1.Board, { description: 'To fetch a board' }),
|
|
132
|
-
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
133
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
134
|
-
tslib_1.__metadata("design:type", Function),
|
|
135
|
-
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
136
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
137
|
-
], BoardQuery.prototype, "board", null);
|
|
138
|
-
tslib_1.__decorate([
|
|
139
|
-
(0, type_graphql_1.Query)(returns => board_js_1.Board, { nullable: true, description: 'To fetch a Board Model by name' }),
|
|
140
|
-
(0, type_graphql_1.Directive)('@privilege(category: "board", privilege: "query", domainOwnerGranted: true)'),
|
|
141
|
-
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
142
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
143
|
-
tslib_1.__metadata("design:type", Function),
|
|
144
|
-
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
145
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
146
|
-
], BoardQuery.prototype, "boardByName", null);
|
|
147
|
-
tslib_1.__decorate([
|
|
148
|
-
(0, type_graphql_1.Query)(returns => board_type_js_1.BoardList, { description: 'To fetch Boards created by me' }),
|
|
149
|
-
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
150
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
151
|
-
tslib_1.__metadata("design:type", Function),
|
|
152
|
-
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
153
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
154
|
-
], BoardQuery.prototype, "boardsCreatedByMe", null);
|
|
155
|
-
tslib_1.__decorate([
|
|
156
|
-
(0, type_graphql_1.Query)(returns => [board_history_js_1.BoardHistory], { description: 'To fetch a Board Versions' }),
|
|
157
|
-
(0, type_graphql_1.Directive)('@privilege(category: "board", privilege: "query", domainOwnerGranted: true)'),
|
|
158
|
-
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
159
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
160
|
-
tslib_1.__metadata("design:type", Function),
|
|
161
|
-
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
162
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
163
|
-
], BoardQuery.prototype, "boardVersions", null);
|
|
164
|
-
tslib_1.__decorate([
|
|
165
|
-
(0, type_graphql_1.Query)(returns => board_history_js_1.BoardHistory, { description: 'To fetch the latest Board published' }),
|
|
166
|
-
(0, type_graphql_1.Directive)('@privilege(category: "board", privilege: "query", domainOwnerGranted: true)'),
|
|
167
|
-
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
168
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
169
|
-
tslib_1.__metadata("design:type", Function),
|
|
170
|
-
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
171
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
172
|
-
], BoardQuery.prototype, "boardPublished", null);
|
|
173
|
-
tslib_1.__decorate([
|
|
174
|
-
(0, type_graphql_1.Query)(returns => board_type_js_1.BoardList, { description: 'To fetch multiple Boards' }),
|
|
175
|
-
(0, type_graphql_1.Directive)('@privilege(category: "board", privilege: "query", domainOwnerGranted: true)'),
|
|
176
|
-
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
177
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
178
|
-
tslib_1.__metadata("design:type", Function),
|
|
179
|
-
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
180
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
181
|
-
], BoardQuery.prototype, "boards", null);
|
|
182
|
-
tslib_1.__decorate([
|
|
183
|
-
(0, type_graphql_1.FieldResolver)(type => group_js_1.Group),
|
|
184
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
185
|
-
tslib_1.__metadata("design:type", Function),
|
|
186
|
-
tslib_1.__metadata("design:paramtypes", [board_js_1.Board]),
|
|
187
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
188
|
-
], BoardQuery.prototype, "group", null);
|
|
189
|
-
tslib_1.__decorate([
|
|
190
|
-
(0, type_graphql_1.FieldResolver)(type => [play_group_js_1.PlayGroup]),
|
|
191
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
192
|
-
tslib_1.__metadata("design:type", Function),
|
|
193
|
-
tslib_1.__metadata("design:paramtypes", [board_js_1.Board]),
|
|
194
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
195
|
-
], BoardQuery.prototype, "playGroups", null);
|
|
196
|
-
tslib_1.__decorate([
|
|
197
|
-
(0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
|
|
198
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
199
|
-
tslib_1.__metadata("design:type", Function),
|
|
200
|
-
tslib_1.__metadata("design:paramtypes", [board_js_1.Board]),
|
|
201
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
202
|
-
], BoardQuery.prototype, "domain", null);
|
|
203
|
-
tslib_1.__decorate([
|
|
204
|
-
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
205
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
206
|
-
tslib_1.__metadata("design:type", Function),
|
|
207
|
-
tslib_1.__metadata("design:paramtypes", [board_js_1.Board]),
|
|
208
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
209
|
-
], BoardQuery.prototype, "updater", null);
|
|
210
|
-
tslib_1.__decorate([
|
|
211
|
-
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
212
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
213
|
-
tslib_1.__metadata("design:type", Function),
|
|
214
|
-
tslib_1.__metadata("design:paramtypes", [board_js_1.Board]),
|
|
215
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
216
|
-
], BoardQuery.prototype, "creator", null);
|
|
217
|
-
exports.BoardQuery = BoardQuery = tslib_1.__decorate([
|
|
218
|
-
(0, type_graphql_1.Resolver)(board_js_1.Board)
|
|
219
|
-
], BoardQuery);
|
|
220
|
-
//# sourceMappingURL=board-query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"board-query.js","sourceRoot":"","sources":["../../../server/service/board/board-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\nimport { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root, Directive } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { checkTarget, checkDomain, getPermission } from '@things-factory/operato-license-checker'\n\nimport { Group } from '../group/group.js'\nimport { PlayGroup } from '../play-group/play-group.js'\nimport { Board } from './board.js'\nimport { BoardList } from './board-type.js'\nimport { BoardHistory } from './board-history.js'\n\nimport { LicenseError } from '../../errors/license-error.js'\n@Resolver(Board)\nexport class BoardQuery {\n @Directive('@privilege(category: \"board\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Board, { description: 'To fetch a board' })\n async board(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Board> {\n const { domain } = context.state\n\n var board = await getRepository(Board).findOne({\n where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id }\n })\n\n if (domain) {\n // 1. check domainSecret is over limit quantity or not\n var count = await getRepository(Domain)\n .manager.createQueryBuilder()\n .select('id')\n .from(Domain, 'domain')\n .getCount()\n\n if (!checkDomain(count)) {\n throw new LicenseError({\n errorCode: context.t(LicenseError.ERROR_CODES.OVER_LIMIT)\n })\n }\n }\n\n if (board) {\n // 1. check boardSecret is over limit quantity or not\n var count = await getRepository(Board)\n .manager.createQueryBuilder()\n .select('id')\n .from(Board, 'board')\n .where('\"domain_id\" = :domainId', { domainId: domain.id })\n .getCount()\n\n if (!checkTarget(count)) {\n throw new LicenseError({\n errorCode: context.t(LicenseError.ERROR_CODES.OVER_LIMIT)\n })\n }\n }\n\n return board\n }\n\n @Query(returns => Board, { nullable: true, description: 'To fetch a Board Model by name' })\n @Directive('@privilege(category: \"board\", privilege: \"query\", domainOwnerGranted: true)')\n async boardByName(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Board> {\n const { domain } = context.state\n\n return await getRepository(Board).findOne({\n where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, name }\n })\n }\n\n @Query(returns => BoardList, { description: 'To fetch Boards created by me' })\n async boardsCreatedByMe(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<BoardList> {\n const { domain, user } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(Board),\n params,\n domain,\n alias: 'board',\n searchables: ['name', 'description']\n }).andWhere('board.creator = :user', { user: user.id })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => [BoardHistory], { description: 'To fetch a Board Versions' })\n @Directive('@privilege(category: \"board\", privilege: \"query\", domainOwnerGranted: true)')\n async boardVersions(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<BoardHistory[]> {\n const { domain } = context.state\n\n return await getRepository(BoardHistory).find({\n where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, originalId: id },\n relations: ['updater'],\n order: { version: 'DESC' },\n take: 10\n })\n }\n\n @Query(returns => BoardHistory, { description: 'To fetch the latest Board published' })\n @Directive('@privilege(category: \"board\", privilege: \"query\", domainOwnerGranted: true)')\n async boardPublished(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<BoardHistory> {\n const { domain } = context.state\n\n return await getRepository(BoardHistory).findOne({\n where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, originalId: id },\n order: { version: 'DESC' }\n })\n }\n\n @Query(returns => BoardList, { description: 'To fetch multiple Boards' })\n @Directive('@privilege(category: \"board\", privilege: \"query\", domainOwnerGranted: true)')\n async boards(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<BoardList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(Board),\n params,\n domain,\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Group)\n async group(@Root() board: Board) {\n return (\n board.groupId &&\n (await getRepository(Group).findOneBy({\n id: board.groupId\n }))\n )\n }\n\n @FieldResolver(type => [PlayGroup])\n async playGroups(@Root() board: Board) {\n return (\n await getRepository(Board).findOne({\n where: { id: board.id },\n relations: ['playGroups']\n })\n )?.playGroups\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() board: Board) {\n return (\n board.domainId &&\n (await getRepository(Domain).findOneBy({\n id: board.domainId\n }))\n )\n }\n\n @FieldResolver(type => User)\n async updater(@Root() board: Board): Promise<User> {\n return (\n board.updaterId &&\n (await getRepository(User).findOneBy({\n id: board.updaterId\n }))\n )\n }\n\n @FieldResolver(type => User)\n async creator(@Root() board: Board): Promise<User> {\n return (\n board.creatorId &&\n (await getRepository(User).findOneBy({\n id: board.creatorId\n }))\n )\n }\n}\n"]}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BoardSubscription = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const type_graphql_1 = require("type-graphql");
|
|
6
|
-
const graphql_yoga_1 = require("graphql-yoga");
|
|
7
|
-
const shell_1 = require("@things-factory/shell");
|
|
8
|
-
const board_js_1 = require("./board.js");
|
|
9
|
-
let BoardSubscription = class BoardSubscription {
|
|
10
|
-
board(payload, id) {
|
|
11
|
-
return payload.board;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
exports.BoardSubscription = BoardSubscription;
|
|
15
|
-
tslib_1.__decorate([
|
|
16
|
-
(0, type_graphql_1.Subscription)({
|
|
17
|
-
subscribe: ({ args, context, info }) => {
|
|
18
|
-
var _a;
|
|
19
|
-
const { domain, user } = context.state;
|
|
20
|
-
const { id } = args;
|
|
21
|
-
const subdomain = domain === null || domain === void 0 ? void 0 : domain.subdomain;
|
|
22
|
-
if (!domain) {
|
|
23
|
-
throw new Error('domain required');
|
|
24
|
-
}
|
|
25
|
-
if (!((_a = user.domains) === null || _a === void 0 ? void 0 : _a.find(d => d.subdomain === subdomain)) && !process.superUserGranted(domain, user)) {
|
|
26
|
-
throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
|
|
27
|
-
}
|
|
28
|
-
return (0, graphql_yoga_1.pipe)(shell_1.pubsub.subscribe('board'), (0, graphql_yoga_1.filter)((payload) => {
|
|
29
|
-
const { domainId, id: boardId } = payload.board;
|
|
30
|
-
if (domainId !== domain.id) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
if (id !== boardId) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
return true;
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
}),
|
|
40
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
41
|
-
tslib_1.__param(1, (0, type_graphql_1.Arg)('id')),
|
|
42
|
-
tslib_1.__metadata("design:type", Function),
|
|
43
|
-
tslib_1.__metadata("design:paramtypes", [Object, String]),
|
|
44
|
-
tslib_1.__metadata("design:returntype", board_js_1.Board)
|
|
45
|
-
], BoardSubscription.prototype, "board", null);
|
|
46
|
-
exports.BoardSubscription = BoardSubscription = tslib_1.__decorate([
|
|
47
|
-
(0, type_graphql_1.Resolver)(board_js_1.Board)
|
|
48
|
-
], BoardSubscription);
|
|
49
|
-
//# sourceMappingURL=board-subscription.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"board-subscription.js","sourceRoot":"","sources":["../../../server/service/board/board-subscription.ts"],"names":[],"mappings":";;;;AAAA,+CAAgE;AAChE,+CAA2C;AAC3C,iDAA8C;AAC9C,yCAAkC;AAG3B,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAiC5B,KAAK,CAAS,OAAyB,EAAa,EAAU;QAC5D,OAAO,OAAO,CAAC,KAAK,CAAA;IACtB,CAAC;CACF,CAAA;AApCY,8CAAiB;AAiC5B;IAhCC,IAAA,2BAAY,EAAC;QACZ,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;;YACrC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACtC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAA;YACnB,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;YACjF,CAAC;YAED,OAAO,IAAA,mBAAI,EACT,cAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EACzB,IAAA,qBAAM,EAAC,CAAC,OAAyB,EAAE,EAAE;gBACnC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;gBAE/C,IAAI,QAAQ,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;oBAC3B,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CACH,CAAA;QACH,CAAC;KACF,CAAC;IACK,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAA6B,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;;;4CAAc,gBAAK;8CAErE;4BAnCU,iBAAiB;IAD7B,IAAA,uBAAQ,EAAC,gBAAK,CAAC;GACH,iBAAiB,CAoC7B","sourcesContent":["import { Resolver, Subscription, Root, Arg } from 'type-graphql'\nimport { filter, pipe } from 'graphql-yoga'\nimport { pubsub } from '@things-factory/shell'\nimport { Board } from './board.js'\n\n@Resolver(Board)\nexport class BoardSubscription {\n @Subscription({\n subscribe: ({ args, context, info }) => {\n const { domain, user } = context.state\n const { id } = args\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n return pipe(\n pubsub.subscribe('board'),\n filter((payload: { board: Board }) => {\n const { domainId, id: boardId } = payload.board\n\n if (domainId !== domain.id) {\n return false\n }\n\n if (id !== boardId) {\n return false\n }\n\n return true\n })\n )\n }\n })\n board(@Root() payload: { board: Board }, @Arg('id') id: string): Board {\n return payload.board\n }\n}\n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Board } from './board.js';
|
|
2
|
-
import { BoardHistory } from './board-history.js';
|
|
3
|
-
export declare class NewBoard {
|
|
4
|
-
name: string;
|
|
5
|
-
description?: string;
|
|
6
|
-
model: string;
|
|
7
|
-
groupId?: string;
|
|
8
|
-
thumbnail?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare class BoardPatch {
|
|
11
|
-
name?: string;
|
|
12
|
-
description?: string;
|
|
13
|
-
model?: string;
|
|
14
|
-
groupId?: string;
|
|
15
|
-
thumbnail?: string;
|
|
16
|
-
}
|
|
17
|
-
export declare class BoardList {
|
|
18
|
-
items: Board[];
|
|
19
|
-
total: number;
|
|
20
|
-
}
|
|
21
|
-
export declare class BoardHistoryList {
|
|
22
|
-
items: BoardHistory[];
|
|
23
|
-
total: number;
|
|
24
|
-
}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BoardHistoryList = exports.BoardList = exports.BoardPatch = exports.NewBoard = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const type_graphql_1 = require("type-graphql");
|
|
6
|
-
const board_js_1 = require("./board.js");
|
|
7
|
-
const board_history_js_1 = require("./board-history.js");
|
|
8
|
-
let NewBoard = class NewBoard {
|
|
9
|
-
};
|
|
10
|
-
exports.NewBoard = NewBoard;
|
|
11
|
-
tslib_1.__decorate([
|
|
12
|
-
(0, type_graphql_1.Field)(),
|
|
13
|
-
tslib_1.__metadata("design:type", String)
|
|
14
|
-
], NewBoard.prototype, "name", void 0);
|
|
15
|
-
tslib_1.__decorate([
|
|
16
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
|
17
|
-
tslib_1.__metadata("design:type", String)
|
|
18
|
-
], NewBoard.prototype, "description", void 0);
|
|
19
|
-
tslib_1.__decorate([
|
|
20
|
-
(0, type_graphql_1.Field)(),
|
|
21
|
-
tslib_1.__metadata("design:type", String)
|
|
22
|
-
], NewBoard.prototype, "model", void 0);
|
|
23
|
-
tslib_1.__decorate([
|
|
24
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
|
25
|
-
tslib_1.__metadata("design:type", String)
|
|
26
|
-
], NewBoard.prototype, "groupId", void 0);
|
|
27
|
-
tslib_1.__decorate([
|
|
28
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
|
29
|
-
tslib_1.__metadata("design:type", String)
|
|
30
|
-
], NewBoard.prototype, "thumbnail", void 0);
|
|
31
|
-
exports.NewBoard = NewBoard = tslib_1.__decorate([
|
|
32
|
-
(0, type_graphql_1.InputType)()
|
|
33
|
-
], NewBoard);
|
|
34
|
-
let BoardPatch = class BoardPatch {
|
|
35
|
-
};
|
|
36
|
-
exports.BoardPatch = BoardPatch;
|
|
37
|
-
tslib_1.__decorate([
|
|
38
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
|
39
|
-
tslib_1.__metadata("design:type", String)
|
|
40
|
-
], BoardPatch.prototype, "name", void 0);
|
|
41
|
-
tslib_1.__decorate([
|
|
42
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
|
43
|
-
tslib_1.__metadata("design:type", String)
|
|
44
|
-
], BoardPatch.prototype, "description", void 0);
|
|
45
|
-
tslib_1.__decorate([
|
|
46
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
|
47
|
-
tslib_1.__metadata("design:type", String)
|
|
48
|
-
], BoardPatch.prototype, "model", void 0);
|
|
49
|
-
tslib_1.__decorate([
|
|
50
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
|
51
|
-
tslib_1.__metadata("design:type", String)
|
|
52
|
-
], BoardPatch.prototype, "groupId", void 0);
|
|
53
|
-
tslib_1.__decorate([
|
|
54
|
-
(0, type_graphql_1.Field)({ nullable: true }),
|
|
55
|
-
tslib_1.__metadata("design:type", String)
|
|
56
|
-
], BoardPatch.prototype, "thumbnail", void 0);
|
|
57
|
-
exports.BoardPatch = BoardPatch = tslib_1.__decorate([
|
|
58
|
-
(0, type_graphql_1.InputType)()
|
|
59
|
-
], BoardPatch);
|
|
60
|
-
let BoardList = class BoardList {
|
|
61
|
-
};
|
|
62
|
-
exports.BoardList = BoardList;
|
|
63
|
-
tslib_1.__decorate([
|
|
64
|
-
(0, type_graphql_1.Field)(type => [board_js_1.Board]),
|
|
65
|
-
tslib_1.__metadata("design:type", Array)
|
|
66
|
-
], BoardList.prototype, "items", void 0);
|
|
67
|
-
tslib_1.__decorate([
|
|
68
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
|
69
|
-
tslib_1.__metadata("design:type", Number)
|
|
70
|
-
], BoardList.prototype, "total", void 0);
|
|
71
|
-
exports.BoardList = BoardList = tslib_1.__decorate([
|
|
72
|
-
(0, type_graphql_1.ObjectType)()
|
|
73
|
-
], BoardList);
|
|
74
|
-
let BoardHistoryList = class BoardHistoryList {
|
|
75
|
-
};
|
|
76
|
-
exports.BoardHistoryList = BoardHistoryList;
|
|
77
|
-
tslib_1.__decorate([
|
|
78
|
-
(0, type_graphql_1.Field)(type => [board_history_js_1.BoardHistory]),
|
|
79
|
-
tslib_1.__metadata("design:type", Array)
|
|
80
|
-
], BoardHistoryList.prototype, "items", void 0);
|
|
81
|
-
tslib_1.__decorate([
|
|
82
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
|
83
|
-
tslib_1.__metadata("design:type", Number)
|
|
84
|
-
], BoardHistoryList.prototype, "total", void 0);
|
|
85
|
-
exports.BoardHistoryList = BoardHistoryList = tslib_1.__decorate([
|
|
86
|
-
(0, type_graphql_1.ObjectType)()
|
|
87
|
-
], BoardHistoryList);
|
|
88
|
-
//# sourceMappingURL=board-type.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"board-type.js","sourceRoot":"","sources":["../../../server/service/board/board-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAsF;AAEtF,yCAAkC;AAClC,yDAAiD;AAG1C,IAAM,QAAQ,GAAd,MAAM,QAAQ;CAepB,CAAA;AAfY,4BAAQ;AAEnB;IADC,IAAA,oBAAK,GAAE;;sCACI;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACN;AAGpB;IADC,IAAA,oBAAK,GAAE;;uCACK;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACV;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACR;mBAdP,QAAQ;IADpB,IAAA,wBAAS,GAAE;GACC,QAAQ,CAepB;AAGM,IAAM,UAAU,GAAhB,MAAM,UAAU;CAetB,CAAA;AAfY,gCAAU;AAErB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACZ;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACV;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACR;qBAdP,UAAU;IADtB,IAAA,wBAAS,GAAE;GACC,UAAU,CAetB;AAGM,IAAM,SAAS,GAAf,MAAM,SAAS;CAMrB,CAAA;AANY,8BAAS;AAEpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gBAAK,CAAC,CAAC;;wCACT;AAGd;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;wCACN;oBALF,SAAS;IADrB,IAAA,yBAAU,GAAE;GACA,SAAS,CAMrB;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAM5B,CAAA;AANY,4CAAgB;AAE3B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,+BAAY,CAAC,CAAC;;+CACT;AAGrB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;+CACN;2BALF,gBAAgB;IAD5B,IAAA,yBAAU,GAAE;GACA,gBAAgB,CAM5B","sourcesContent":["import { ObjectType, Field, InputType, Int, ID, registerEnumType } from 'type-graphql'\n\nimport { Board } from './board.js'\nimport { BoardHistory } from './board-history.js'\n\n@InputType()\nexport class NewBoard {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field()\n model: string\n\n @Field({ nullable: true })\n groupId?: string\n\n @Field({ nullable: true })\n thumbnail?: string\n}\n\n@InputType()\nexport class BoardPatch {\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n model?: string\n\n @Field({ nullable: true })\n groupId?: string\n\n @Field({ nullable: true })\n thumbnail?: string\n}\n\n@ObjectType()\nexport class BoardList {\n @Field(type => [Board])\n items: Board[]\n\n @Field(type => Int)\n total: number\n}\n\n@ObjectType()\nexport class BoardHistoryList {\n @Field(type => [BoardHistory])\n items: BoardHistory[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Domain } from '@things-factory/shell';
|
|
2
|
-
import { Group } from '../group/group.js';
|
|
3
|
-
import { PlayGroup } from '../play-group/play-group.js';
|
|
4
|
-
import { User } from '@things-factory/auth-base';
|
|
5
|
-
export declare class Board {
|
|
6
|
-
readonly id?: string;
|
|
7
|
-
version?: number;
|
|
8
|
-
domain?: Domain;
|
|
9
|
-
domainId?: string;
|
|
10
|
-
name?: string;
|
|
11
|
-
description?: string;
|
|
12
|
-
state?: 'draft' | 'released';
|
|
13
|
-
model?: string;
|
|
14
|
-
thumbnail?: string;
|
|
15
|
-
group?: Group;
|
|
16
|
-
groupId?: string;
|
|
17
|
-
playGroups?: PlayGroup[];
|
|
18
|
-
createdAt?: Date;
|
|
19
|
-
updatedAt?: Date;
|
|
20
|
-
creator?: User;
|
|
21
|
-
creatorId?: string;
|
|
22
|
-
updater?: User;
|
|
23
|
-
updaterId?: string;
|
|
24
|
-
deletedAt?: Date;
|
|
25
|
-
}
|