@things-factory/board-service 6.2.82 → 6.2.84
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-server/controllers/headless-model.js +29 -14
- package/dist-server/controllers/headless-model.js.map +1 -1
- package/dist-server/controllers/headless-playlist.js +18 -1
- package/dist-server/controllers/headless-playlist.js.map +1 -1
- package/dist-server/service/group/group.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/server/controllers/headless-model.ts +31 -12
- package/server/controllers/headless-playlist.ts +21 -1
- package/server/service/group/group.ts +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/board-service",
|
|
3
|
-
"version": "6.2.
|
|
3
|
+
"version": "6.2.84",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
"migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@things-factory/auth-base": "^6.2.
|
|
27
|
+
"@things-factory/auth-base": "^6.2.84",
|
|
28
28
|
"@things-factory/env": "^6.2.33",
|
|
29
|
-
"@things-factory/fav-base": "^6.2.
|
|
30
|
-
"@things-factory/font-base": "^6.2.
|
|
31
|
-
"@things-factory/integration-base": "^6.2.
|
|
29
|
+
"@things-factory/fav-base": "^6.2.84",
|
|
30
|
+
"@things-factory/font-base": "^6.2.84",
|
|
31
|
+
"@things-factory/integration-base": "^6.2.84",
|
|
32
32
|
"@things-factory/operato-license-checker": "^4.0.4",
|
|
33
33
|
"content-disposition": "^0.5.3",
|
|
34
34
|
"generic-pool": "^3.8.2"
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"@thiagoelg/node-printer": "0.6.2",
|
|
38
38
|
"puppeteer": "^20.7.3"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "3c272e989acc14bbd02f4ec79624dfd7dc4e6acd"
|
|
41
41
|
}
|
|
@@ -2,8 +2,9 @@ import { In } from 'typeorm'
|
|
|
2
2
|
import { getContextPath, getRepository } from '@things-factory/shell'
|
|
3
3
|
|
|
4
4
|
import { Board } from '../service/board/board'
|
|
5
|
+
import { BoardHistory } from '../service/board/board-history'
|
|
5
6
|
|
|
6
|
-
export const headlessModel = async target => {
|
|
7
|
+
export const headlessModel = async (target, devmode: boolean = false) => {
|
|
7
8
|
var { domain, id, model, name } = target || {}
|
|
8
9
|
|
|
9
10
|
if (model) {
|
|
@@ -12,18 +13,36 @@ export const headlessModel = async target => {
|
|
|
12
13
|
} else if (typeof model !== 'object') {
|
|
13
14
|
throw 'model should be a string or object'
|
|
14
15
|
}
|
|
15
|
-
} else if (id) {
|
|
16
|
-
var board = await getRepository(Board).findOne({
|
|
17
|
-
where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id }
|
|
18
|
-
})
|
|
19
|
-
model = JSON.parse(board.model)
|
|
20
|
-
} else if (name) {
|
|
21
|
-
var board = await getRepository(Board).findOne({
|
|
22
|
-
where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, name }
|
|
23
|
-
})
|
|
24
|
-
model = JSON.parse(board.model)
|
|
25
16
|
} else {
|
|
26
|
-
|
|
17
|
+
if (id) {
|
|
18
|
+
var board = await getRepository(Board).findOne({
|
|
19
|
+
where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id }
|
|
20
|
+
})
|
|
21
|
+
} else if (name) {
|
|
22
|
+
var board = await getRepository(Board).findOne({
|
|
23
|
+
where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, name }
|
|
24
|
+
})
|
|
25
|
+
} else {
|
|
26
|
+
throw 'parameter model or id mandatory'
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (!devmode && board) {
|
|
30
|
+
const latestReleased =
|
|
31
|
+
board.state == 'released'
|
|
32
|
+
? board
|
|
33
|
+
: await getRepository(BoardHistory)
|
|
34
|
+
.createQueryBuilder('history')
|
|
35
|
+
.where('history.originalId = :originalId', { originalId: board.id })
|
|
36
|
+
.orderBy('history.version', 'DESC')
|
|
37
|
+
.limit(1)
|
|
38
|
+
.getOne()
|
|
39
|
+
|
|
40
|
+
if (latestReleased) {
|
|
41
|
+
model = latestReleased.model
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
model = JSON.parse(board.model)
|
|
27
46
|
}
|
|
28
47
|
|
|
29
48
|
return {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { getContextPath, getRepository } from '@things-factory/shell'
|
|
2
2
|
|
|
3
3
|
import { PlayGroup } from '../service/play-group/play-group'
|
|
4
|
+
import { BoardHistory } from '../service/board/board-history'
|
|
4
5
|
|
|
5
|
-
export const headlessPlaylist = async target => {
|
|
6
|
+
export const headlessPlaylist = async (target, devmode: boolean = false) => {
|
|
6
7
|
var { domain, id, name } = target || {}
|
|
7
8
|
|
|
8
9
|
if (id || name) {
|
|
@@ -20,6 +21,25 @@ export const headlessPlaylist = async target => {
|
|
|
20
21
|
})
|
|
21
22
|
}
|
|
22
23
|
|
|
24
|
+
if (!devmode && playGroup) {
|
|
25
|
+
const { boards } = playGroup
|
|
26
|
+
for (let board of boards) {
|
|
27
|
+
const latestReleased =
|
|
28
|
+
board.state == 'released'
|
|
29
|
+
? board
|
|
30
|
+
: await getRepository(BoardHistory)
|
|
31
|
+
.createQueryBuilder('history')
|
|
32
|
+
.where('history.originalId = :originalId', { originalId: board.id })
|
|
33
|
+
.orderBy('history.version', 'DESC')
|
|
34
|
+
.limit(1)
|
|
35
|
+
.getOne()
|
|
36
|
+
|
|
37
|
+
if (latestReleased) {
|
|
38
|
+
board.model = latestReleased.model
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
23
43
|
playGroup.boards = playGroup.boards.sort((a, b) => {
|
|
24
44
|
// 배열 A에 포함된 아이디의 순서를 가져옵니다.
|
|
25
45
|
const indexOfOrder = (playGroup.order || []).indexOf(a.id)
|
|
@@ -14,6 +14,7 @@ import { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'
|
|
|
14
14
|
import { Domain } from '@things-factory/shell'
|
|
15
15
|
import { User } from '@things-factory/auth-base'
|
|
16
16
|
import { Board } from '../board/board'
|
|
17
|
+
import { BoardHistory } from '../board/board-history'
|
|
17
18
|
|
|
18
19
|
@Entity()
|
|
19
20
|
@Index('ix_group_0', (group: Group) => [group.domain, group.name], { unique: true })
|