@fmsim/fmsim 2.0.0-beta.8 → 2.0.0-beta.80
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/_index.html +1 -5
- package/assets/manifest.json +2 -0
- package/assets/playback-test-board.json +8440 -0
- package/dist-client/board-list/board-tile-list.js +196 -12
- package/dist-client/board-list/board-tile-list.js.map +1 -1
- package/dist-client/pages/board-list-page.js +22 -1
- package/dist-client/pages/board-list-page.js.map +1 -1
- package/dist-client/themes/board-app-menu-tools-theme.css +0 -2
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/viewparts/menu-tools.js +1 -2
- package/dist-client/viewparts/menu-tools.js.map +1 -1
- package/dist-server/service/index.js +5 -2
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/playback/index.js +167 -0
- package/dist-server/service/playback/index.js.map +1 -0
- package/dist-server/service/playback/mock-data.js +531 -0
- package/dist-server/service/playback/mock-data.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/schema.graphql +129 -2
- package/views/internal-board-full-feature-view.html +0 -1
- package/views/internal-board-service-view.html +0 -1
- package/views/internal-label-command-view.html +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fmsim/fmsim",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.80",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "dist-client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
19
|
"serve": "things-factory fmsim",
|
|
20
|
-
"serve:dev": "npm run build:server && things-factory-dev fmsim --webpack @fmsim/builder/webpack.config.dev.js",
|
|
20
|
+
"serve:dev": "npm run build:server && concurrently -k -n api,board,machine,lv,webpack \"tsc -w --preserveWatchOutput -p ../api/tsconfig.json\" \"tsc -w --preserveWatchOutput -p ../board/tsconfig.json\" \"tsc -w --preserveWatchOutput -p ../machine/tsconfig.json\" \"tsc -w --preserveWatchOutput -p ../layout-view/client/tsconfig.json\" \"things-factory-dev fmsim --webpack @fmsim/builder/webpack.config.dev.js\"",
|
|
21
21
|
"build": "npm run build:server && npm run build:client",
|
|
22
22
|
"build:client": "npm run clean:client && npm run copy:files && (tsc --p ./client/tsconfig.json; exit 0)",
|
|
23
23
|
"build:server": "npm run clean:server && (tsc --p ./server/tsconfig.json; exit 0)",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"docker:push": "docker image push hatiolab/fmsim:latest && docker image push hatiolab/fmsim:$npm_package_version"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@fmsim/layout-view": "^2.0.0-beta.
|
|
44
|
-
"@fmsim/machine": "^2.0.0-beta.
|
|
43
|
+
"@fmsim/layout-view": "^2.0.0-beta.79",
|
|
44
|
+
"@fmsim/machine": "^2.0.0-beta.80",
|
|
45
45
|
"@operato/attachment": "^10.0.0-beta.1",
|
|
46
46
|
"@operato/font": "^10.0.0-beta.1",
|
|
47
47
|
"@operato/i18n": "^10.0.0-beta.1",
|
|
@@ -71,12 +71,12 @@
|
|
|
71
71
|
"pretendard": "^1.3.9"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
|
-
"@fmsim/builder": "^2.0.0-beta.
|
|
74
|
+
"@fmsim/builder": "^2.0.0-beta.75",
|
|
75
75
|
"copyfiles": "^2.4.1",
|
|
76
76
|
"typescript": "^5.8.2"
|
|
77
77
|
},
|
|
78
78
|
"resolutions": {
|
|
79
79
|
"lit": "^3.0.0"
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "154b52d88246116ee030f14a0d399f6172640318"
|
|
82
82
|
}
|
package/schema.graphql
CHANGED
|
@@ -347,6 +347,7 @@ type Attachment {
|
|
|
347
347
|
refType: String
|
|
348
348
|
size: String!
|
|
349
349
|
tags: Object
|
|
350
|
+
thumbnail: String
|
|
350
351
|
updatedAt: DateTimeISO!
|
|
351
352
|
updater: User
|
|
352
353
|
}
|
|
@@ -655,6 +656,16 @@ type Board {
|
|
|
655
656
|
"""A list of play groups that this board is a part of."""
|
|
656
657
|
playGroups: [PlayGroup!]
|
|
657
658
|
|
|
659
|
+
"""
|
|
660
|
+
Sort order for display. Lower values appear first. Supports fractional values for insertion.
|
|
661
|
+
"""
|
|
662
|
+
sortOrder: Float
|
|
663
|
+
|
|
664
|
+
"""
|
|
665
|
+
Source ImportSession id (board-import) when this board was generated from a drawing/image import.
|
|
666
|
+
"""
|
|
667
|
+
sourceImportSessionId: String
|
|
668
|
+
|
|
658
669
|
"""The state of the board, can be 'draft' or 'released'."""
|
|
659
670
|
state: String
|
|
660
671
|
|
|
@@ -706,6 +717,16 @@ type BoardFavorite {
|
|
|
706
717
|
"""A list of play groups that this board is a part of."""
|
|
707
718
|
playGroups: [PlayGroup!]
|
|
708
719
|
|
|
720
|
+
"""
|
|
721
|
+
Sort order for display. Lower values appear first. Supports fractional values for insertion.
|
|
722
|
+
"""
|
|
723
|
+
sortOrder: Float
|
|
724
|
+
|
|
725
|
+
"""
|
|
726
|
+
Source ImportSession id (board-import) when this board was generated from a drawing/image import.
|
|
727
|
+
"""
|
|
728
|
+
sourceImportSessionId: String
|
|
729
|
+
|
|
709
730
|
"""The state of the board, can be 'draft' or 'released'."""
|
|
710
731
|
state: String
|
|
711
732
|
|
|
@@ -1390,6 +1411,27 @@ type DomainList {
|
|
|
1390
1411
|
total: Int
|
|
1391
1412
|
}
|
|
1392
1413
|
|
|
1414
|
+
"""An ownership record binding a User to a Domain (multi-owner support)."""
|
|
1415
|
+
type DomainOwner {
|
|
1416
|
+
"""Domain that the user owns."""
|
|
1417
|
+
domain: Domain!
|
|
1418
|
+
|
|
1419
|
+
"""When the ownership was granted."""
|
|
1420
|
+
grantedAt: DateTimeISO!
|
|
1421
|
+
|
|
1422
|
+
"""User who granted this ownership (audit)."""
|
|
1423
|
+
grantedBy: User
|
|
1424
|
+
|
|
1425
|
+
"""Unique identifier."""
|
|
1426
|
+
id: ID!
|
|
1427
|
+
|
|
1428
|
+
"""Optional reason/memo for granting ownership."""
|
|
1429
|
+
reason: String
|
|
1430
|
+
|
|
1431
|
+
"""User who owns the domain."""
|
|
1432
|
+
user: User!
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1393
1435
|
"""Input type for updating an existing domain entity."""
|
|
1394
1436
|
input DomainPatch {
|
|
1395
1437
|
"""Additional attributes for the domain in key-value pairs."""
|
|
@@ -2354,6 +2396,18 @@ input MenuPatch {
|
|
|
2354
2396
|
totalProp: String
|
|
2355
2397
|
}
|
|
2356
2398
|
|
|
2399
|
+
type MockEntities {
|
|
2400
|
+
ports: [String!]!
|
|
2401
|
+
stockers: [String!]!
|
|
2402
|
+
vehicles: MockVehicles!
|
|
2403
|
+
zones: [String!]!
|
|
2404
|
+
}
|
|
2405
|
+
|
|
2406
|
+
type MockVehicles {
|
|
2407
|
+
agvs: [String!]!
|
|
2408
|
+
ohts: [String!]!
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2357
2411
|
type Mutation {
|
|
2358
2412
|
"""
|
|
2359
2413
|
Activates a user account in the current domain. Use this mutation to enable a user who was previously inactive.
|
|
@@ -2363,10 +2417,18 @@ type Mutation {
|
|
|
2363
2417
|
username: String!
|
|
2364
2418
|
): Boolean!
|
|
2365
2419
|
|
|
2420
|
+
"""Add a user as owner of the current domain."""
|
|
2421
|
+
addDomainOwner(reason: String, username: String!): DomainOwner!
|
|
2422
|
+
|
|
2366
2423
|
"""
|
|
2367
2424
|
Attaches an existing contact to an employee. The contact is identified by its ID and the employee is identified by their ID.
|
|
2368
2425
|
"""
|
|
2369
2426
|
attachContact(contactId: String!, id: String!): Employee!
|
|
2427
|
+
|
|
2428
|
+
"""
|
|
2429
|
+
썸네일이 없는 기존 첨부파일들에 대해 서버에서 썸네일을 일괄 생성한다. 한 호출당 limit 개까지만 처리하며, remaining > 0 이면 반복 호출 필요.
|
|
2430
|
+
"""
|
|
2431
|
+
backfillAttachmentThumbnails(limit: Int = 20): ThumbnailBackfillResult!
|
|
2370
2432
|
cancelInvitation(email: EmailAddress!, reference: String!, type: String!): Boolean!
|
|
2371
2433
|
|
|
2372
2434
|
"""To clear translations cache"""
|
|
@@ -2968,8 +3030,14 @@ type Mutation {
|
|
|
2968
3030
|
|
|
2969
3031
|
"""Releases a board, making it public and creating a version history."""
|
|
2970
3032
|
releaseBoard(id: String!): Board!
|
|
3033
|
+
|
|
3034
|
+
"""Remove a user from the owners of the current domain."""
|
|
3035
|
+
removeDomainOwner(reason: String, username: String!): Boolean!
|
|
2971
3036
|
renewApplicationAccessToken(id: String!, scope: String!): AccessToken!
|
|
2972
3037
|
|
|
3038
|
+
"""Reorders a board between two adjacent boards by ID."""
|
|
3039
|
+
reorderBoard(id: String!, nextId: String, prevId: String): Boolean!
|
|
3040
|
+
|
|
2973
3041
|
"""Sets the custom playback order for boards in a play group."""
|
|
2974
3042
|
reorderPlayGroup(boardIds: [String!]!, id: String!): PlayGroup!
|
|
2975
3043
|
|
|
@@ -4535,6 +4603,27 @@ input PlayGroupPatch {
|
|
|
4535
4603
|
name: String
|
|
4536
4604
|
}
|
|
4537
4605
|
|
|
4606
|
+
type PlaybackRecord {
|
|
4607
|
+
data: String!
|
|
4608
|
+
time: String!
|
|
4609
|
+
type: String!
|
|
4610
|
+
}
|
|
4611
|
+
|
|
4612
|
+
type PlaybackResponse {
|
|
4613
|
+
errorMessage: String
|
|
4614
|
+
playback: PlaybackResult
|
|
4615
|
+
status: Boolean!
|
|
4616
|
+
}
|
|
4617
|
+
|
|
4618
|
+
type PlaybackResult {
|
|
4619
|
+
scenarios: [PlaybackScenarioType!]!
|
|
4620
|
+
}
|
|
4621
|
+
|
|
4622
|
+
type PlaybackScenarioType {
|
|
4623
|
+
scenarioName: String!
|
|
4624
|
+
snapshots: [PlaybackRecord!]!
|
|
4625
|
+
}
|
|
4626
|
+
|
|
4538
4627
|
"""
|
|
4539
4628
|
A privilege that can be granted to roles to control access to resources.
|
|
4540
4629
|
"""
|
|
@@ -4798,8 +4887,14 @@ type Query {
|
|
|
4798
4887
|
sortings: [Sorting!]
|
|
4799
4888
|
): AuthProviderList!
|
|
4800
4889
|
|
|
4801
|
-
"""
|
|
4802
|
-
board
|
|
4890
|
+
"""
|
|
4891
|
+
Finds a single board by its ID. If cachedUpdatedAt matches, model is omitted.
|
|
4892
|
+
"""
|
|
4893
|
+
board(
|
|
4894
|
+
"""Client cache timestamp — if matches, model field is omitted"""
|
|
4895
|
+
cachedUpdatedAt: String
|
|
4896
|
+
id: String!
|
|
4897
|
+
): Board!
|
|
4803
4898
|
|
|
4804
4899
|
"""Finds a single board by its name."""
|
|
4805
4900
|
boardByName(name: String!): Board
|
|
@@ -4873,6 +4968,11 @@ type Query {
|
|
|
4873
4968
|
sortings: [Sorting!]
|
|
4874
4969
|
): BoardList!
|
|
4875
4970
|
|
|
4971
|
+
"""
|
|
4972
|
+
Retrieves boards that have been updated or soft-deleted since the given timestamp.
|
|
4973
|
+
"""
|
|
4974
|
+
boardsUpdatedSince(since: DateTimeISO!): [Board!]!
|
|
4975
|
+
|
|
4876
4976
|
"""
|
|
4877
4977
|
Checks if the system is configured to provide a default password for new users.
|
|
4878
4978
|
"""
|
|
@@ -5052,6 +5152,9 @@ type Query {
|
|
|
5052
5152
|
sortings: [Sorting!]
|
|
5053
5153
|
): DomainLinkList!
|
|
5054
5154
|
|
|
5155
|
+
"""List owners of the current domain."""
|
|
5156
|
+
domainOwners: [DomainOwner!]!
|
|
5157
|
+
|
|
5055
5158
|
"""
|
|
5056
5159
|
Fetches the list of available domain types from configuration. Only superusers are granted this privilege.
|
|
5057
5160
|
"""
|
|
@@ -5249,6 +5352,9 @@ type Query {
|
|
|
5249
5352
|
invitation(email: EmailAddress!, reference: String!, type: String!): Invitation!
|
|
5250
5353
|
invitations(reference: String!, type: String!): InvitationList!
|
|
5251
5354
|
|
|
5355
|
+
"""Check if a user is an owner of the current domain."""
|
|
5356
|
+
isDomainOwner(username: String!): Boolean!
|
|
5357
|
+
|
|
5252
5358
|
"""To fetch multiple LoginHistories"""
|
|
5253
5359
|
loginHistories(
|
|
5254
5360
|
"""An array of filter conditions to apply to the list query."""
|
|
@@ -5589,6 +5695,12 @@ type Query {
|
|
|
5589
5695
|
sortings: [Sorting!]
|
|
5590
5696
|
): PlayGroupList!
|
|
5591
5697
|
|
|
5698
|
+
"""Playback 데이터 조회 (목업)"""
|
|
5699
|
+
playback(count: Int, endTime: String, includeSnapshot: Boolean = true, startTime: String!): PlaybackResponse!
|
|
5700
|
+
|
|
5701
|
+
"""목업 엔티티 목록 (보드 작화용)"""
|
|
5702
|
+
playbackEntities: MockEntities!
|
|
5703
|
+
|
|
5592
5704
|
"""To fetch a UserPreference"""
|
|
5593
5705
|
preference(id: String!): UserPreference
|
|
5594
5706
|
|
|
@@ -6620,6 +6732,21 @@ input ThemePatch {
|
|
|
6620
6732
|
value: Object
|
|
6621
6733
|
}
|
|
6622
6734
|
|
|
6735
|
+
"""썸네일 백필 결과"""
|
|
6736
|
+
type ThumbnailBackfillResult {
|
|
6737
|
+
"""이번 호출에서 처리 시도한 첨부 개수"""
|
|
6738
|
+
attempted: Int!
|
|
6739
|
+
|
|
6740
|
+
"""실패(생성 실패/콘텐츠 없음 등) 개수"""
|
|
6741
|
+
failed: Int!
|
|
6742
|
+
|
|
6743
|
+
"""이번 처리 후에도 남아있는 썸네일 미생성 후보 개수 (대략치). 0 이면 완료"""
|
|
6744
|
+
remaining: Int!
|
|
6745
|
+
|
|
6746
|
+
"""썸네일 생성·저장 성공 개수"""
|
|
6747
|
+
succeeded: Int!
|
|
6748
|
+
}
|
|
6749
|
+
|
|
6623
6750
|
"""The `Upload` scalar type represents a file upload."""
|
|
6624
6751
|
scalar Upload
|
|
6625
6752
|
|