verteilen-core 1.0.13 → 1.0.15

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ParameterTemplateText = exports.ProjectTemplateText = exports.JobType2Text = exports.JobTypeText = exports.JobResultText = exports.ConnectionText = exports.JobCategoryText = exports.ExecuteStateText = exports.DataTypeText = exports.JavascriptLib = exports.RenderUpdateType = exports.ExecuteState = exports.ParameterTemplate = exports.ProjectTemplate = exports.JobType2 = exports.JobType = exports.ConditionResult = exports.JobCategory = exports.FrontendUpdate = exports.ResourceType = exports.DataTypeBase = exports.DataType = exports.SocketState = void 0;
3
+ exports.ParameterTemplateText = exports.ProjectTemplateText = exports.JobType2Text = exports.JobTypeText = exports.JobResultText = exports.ConnectionText = exports.JobCategoryText = exports.ExecuteStateText = exports.DataTypeText = exports.ServiceMode = exports.JavascriptLib = exports.RenderUpdateType = exports.ExecuteState = exports.ParameterTemplate = exports.ProjectTemplate = exports.JobType2 = exports.JobType = exports.ConditionResult = exports.JobCategory = exports.FrontendUpdate = exports.ResourceType = exports.DataTypeBase = exports.DataType = exports.SocketState = void 0;
4
4
  var SocketState;
5
5
  (function (SocketState) {
6
6
  SocketState[SocketState["CONNECTING"] = 0] = "CONNECTING";
@@ -112,6 +112,12 @@ var JavascriptLib;
112
112
  JavascriptLib[JavascriptLib["HTTP"] = 8] = "HTTP";
113
113
  JavascriptLib[JavascriptLib["PATH"] = 16] = "PATH";
114
114
  })(JavascriptLib || (exports.JavascriptLib = JavascriptLib = {}));
115
+ var ServiceMode;
116
+ (function (ServiceMode) {
117
+ ServiceMode[ServiceMode["ONCE"] = 0] = "ONCE";
118
+ ServiceMode[ServiceMode["CYCLE"] = 1] = "CYCLE";
119
+ ServiceMode[ServiceMode["EVENT"] = 2] = "EVENT";
120
+ })(ServiceMode || (exports.ServiceMode = ServiceMode = {}));
115
121
  exports.DataTypeText = {
116
122
  0: 'types.boolean',
117
123
  1: 'types.number',
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PermissionType = exports.UserType = exports.ACLType = void 0;
3
+ exports.CreateRootUser = exports.CreateRootPermission = exports.PermissionType = exports.UserType = exports.ACLType = void 0;
4
+ const uuid_1 = require("uuid");
4
5
  var ACLType;
5
6
  (function (ACLType) {
6
7
  ACLType[ACLType["PUBLIC"] = 0] = "PUBLIC";
@@ -26,3 +27,43 @@ var PermissionType;
26
27
  PermissionType[PermissionType["LIB"] = 7] = "LIB";
27
28
  PermissionType[PermissionType["LOG"] = 8] = "LOG";
28
29
  })(PermissionType || (exports.PermissionType = PermissionType = {}));
30
+ const CreateRootPermission = () => {
31
+ const perl = {
32
+ view: true,
33
+ create: true,
34
+ edit: true,
35
+ delete: true,
36
+ };
37
+ const per = {
38
+ project: perl,
39
+ task: perl,
40
+ job: perl,
41
+ plugin: perl,
42
+ node: perl,
43
+ parameter: perl,
44
+ lib: perl,
45
+ log: perl,
46
+ execute_job: true
47
+ };
48
+ return per;
49
+ };
50
+ exports.CreateRootPermission = CreateRootPermission;
51
+ const CreateRootUser = () => {
52
+ return {
53
+ token: (0, uuid_1.v6)(),
54
+ type: UserType.ROOT,
55
+ preference: {
56
+ lan: 'en',
57
+ log: true,
58
+ font: 18,
59
+ theme: "dark",
60
+ notification: false,
61
+ plugin_token: [],
62
+ animation: true,
63
+ },
64
+ name: "root",
65
+ description: "Root User",
66
+ permission: (0, exports.CreateRootPermission)()
67
+ };
68
+ };
69
+ exports.CreateRootUser = CreateRootUser;
@@ -44,7 +44,8 @@
44
44
  "settings": {
45
45
  "system": "System",
46
46
  "appearance": "Appearance",
47
- "workflow": "Workflow"
47
+ "workflow": "Workflow",
48
+ "token_remove": "Are you sure you want to remove the token"
48
49
  },
49
50
  "toast": {
50
51
  "server": "Server Mode",
@@ -338,6 +339,7 @@
338
339
  "messager_log": "messager_log(message:string)"
339
340
  }
340
341
  },
342
+ "token": "Token",
341
343
  "info": "Information",
342
344
  "search": "Search",
343
345
  "selectall": "Select All",
@@ -44,7 +44,8 @@
44
44
  "settings": {
45
45
  "system": "系統",
46
46
  "appearance": "外觀",
47
- "workflow": "流程"
47
+ "workflow": "流程",
48
+ "token_remove": "確定刪除密鑰嗎"
48
49
  },
49
50
  "toast": {
50
51
  "server": "伺服器模式",
@@ -338,6 +339,7 @@
338
339
  "messager_log": "messager_log(message:string)"
339
340
  }
340
341
  },
342
+ "token": "密鑰",
341
343
  "info": "資訊",
342
344
  "search": "搜尋",
343
345
  "selectall": "全選",
@@ -10,6 +10,7 @@ const i18n_js_1 = require("i18n-js");
10
10
  const en_json_1 = __importDefault(require("./../lan/en.json"));
11
11
  const zh_TW_json_1 = __importDefault(require("./../lan/zh_TW.json"));
12
12
  exports.i18nDefaultData = {
13
+ legacy: true,
13
14
  locale: 'en',
14
15
  globalInjection: true,
15
16
  fallbackFormat: 'en',
package/index.ts CHANGED
@@ -1,2 +1,4 @@
1
+ // ? Cannot be import in browser
1
2
  export * from './src/computed'
3
+ // ? Can be import in browser
2
4
  export * from './src/interface'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verteilen-core",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "license": "MIT",
5
5
  "homepage": "https://verteilen.github.io/wiki/",
6
6
  "author": "Elly",
@@ -15,6 +15,7 @@ import * as pem from 'pem'
15
15
  import * as https from 'https'
16
16
 
17
17
  /**
18
+ * **Compute Client**\
18
19
  * The calculation node worker
19
20
  */
20
21
  export class Client {
@@ -3,13 +3,18 @@
3
3
  // Share Codebase
4
4
  //
5
5
  // ========================
6
- import { DataType, DataTypeBase } from "./enum"
7
- import { ACLType, LocalPermiision } from "./server"
6
+ /**
7
+ * Defined the basic compute use data structure
8
+ */
9
+ import { DataType, DataTypeBase, JobType, JobType2 } from "./enum"
10
+ import { ACLType, LocalPermission as LocalPermission } from "./server"
8
11
 
9
12
  export interface ParameterConfigTrigger {
10
13
  types: Array<DataTypeBase>
11
14
  }
12
-
15
+ /**
16
+ * **Parameter Context**\
17
+ */
13
18
  export interface ParameterContainer {
14
19
  s?: boolean
15
20
  name: string
@@ -20,10 +25,28 @@ export interface ParameterContainer {
20
25
  runtimeOnly: boolean
21
26
  value: any
22
27
  }
23
-
28
+ /**
29
+ * **Task Property**\
30
+ * Use to in local task region field\
31
+ * Reference in the job execute context
32
+ */
24
33
  export interface Property {
34
+ /**
35
+ * **Property Name**\
36
+ * The name of the property, use this string reference in other
37
+ * property or job
38
+ */
25
39
  name: string
40
+ /**
41
+ * **Property Expression**\
42
+ * The expression library use custom language {@link https://www.npmjs.com/package/expressionparser}\
43
+ * Follow the
44
+ */
26
45
  expression: string
46
+ /**
47
+ * **Depth Level**\
48
+ *
49
+ */
27
50
  deep?: number
28
51
  }
29
52
 
@@ -32,51 +55,237 @@ export interface Parameter {
32
55
  title: string
33
56
  canWrite: boolean
34
57
  containers: Array<ParameterContainer>
58
+ /**
59
+ * **Local Permission**\
60
+ * Client-side only permission field\
61
+ * Server will check user token and defined its permission level\
62
+ * And modify this field and send back to user
63
+ */
64
+ permission?: LocalPermission
35
65
  }
36
-
66
+ /**
67
+ * **Compute Instruction Container**\
68
+ * Specifed the command, which show how does user want these compute to do\
69
+ * Contains different arguments list, which could reference to parameter value
70
+ */
37
71
  export interface Job {
38
- s?: boolean
39
- permission?: LocalPermiision
72
+ /**
73
+ * **Order**\
74
+ * Define the order in the list\
75
+ * This value is use in the client-side only\
76
+ * Database will store in the array.
77
+ */
40
78
  index?:number
79
+ /**
80
+ * **Job ID**\
81
+ * Contains 36 characters
82
+ */
41
83
  uuid: string
84
+ /**
85
+ * **Execute Runtime ID**\
86
+ * This getting generate during the execute stage\
87
+ * Because their can be multiple node run in a same job\
88
+ * Or two execute project at the same time\
89
+ * In order to know which one feedback which execute thread\
90
+ * This value is needs to distinguish
91
+ */
42
92
  runtime_uuid?: string
93
+ /**
94
+ * **ENUM: The Job Category Type**\
95
+ * Could be "Condition" or "Execution"\
96
+ * Condition is the checker job, After finish it will feedback a result back to server-side\
97
+ * Execution will not feedback anything other then success or failed
98
+ */
43
99
  category: number
100
+ /**
101
+ * **ENUM: The Job SubType**\
102
+ * Base on the {@link Job.category} value\
103
+ * This could be {@link JobType} or {@link JobType2}
104
+ */
44
105
  type: number
106
+ /**
107
+ * **Javascript String**\
108
+ * Code context when {@link Job.type} is Javascript\
109
+ * The client-side will create a javascript vm and execute it
110
+ */
45
111
  script: string
112
+ /**
113
+ * **String Arguments**\
114
+ * In order to execute job, some type of job will require arguments
115
+ */
46
116
  string_args: Array<string>
117
+ /**
118
+ * **Number Arguments**\
119
+ * In order to execute job, some type of job will require arguments
120
+ */
47
121
  number_args: Array<number>
122
+ /**
123
+ * **Boolean Arguments**\
124
+ * In order to execute job, some type of job will require arguments
125
+ */
48
126
  boolean_args: Array<boolean>
127
+ /**
128
+ * **Local Permission**\
129
+ * Client-side only permission field\
130
+ * Server will check user token and defined its permission level\
131
+ * And modify this field and send back to user\
132
+ */
133
+ permission?: LocalPermission
49
134
  }
50
-
135
+ /**
136
+ * **Task Container**\
137
+ * Specified different stage of the compute process
138
+ */
51
139
  export interface Task {
52
- permission?: LocalPermiision
140
+ /**
141
+ * **Task ID**\
142
+ * Contains 36 characters
143
+ */
53
144
  uuid: string
145
+ /**
146
+ * **Task Name**\
147
+ * The name of the task
148
+ */
54
149
  title: string
150
+ /**
151
+ * **Task Description**\
152
+ * The description of the task
153
+ */
55
154
  description: string
155
+ /**
156
+ * **FLAG: SetupJob**\
157
+ * Every node will run through all jobs once
158
+ */
56
159
  setupjob: boolean
160
+ /**
161
+ * **FLAG: CronJob**\
162
+ * Generate X amounts of subtask\
163
+ * Then tells nodes to run through all of them\
164
+ * Who finish subtask first will get next subtask\
165
+ * Untill all subtasks finish
166
+ */
57
167
  cronjob: boolean
168
+ /**
169
+ * **Cron Reference Key**\
170
+ * Reference a parameter number in database
171
+ */
58
172
  cronjobKey: string
173
+ /**
174
+ * **FLAG: MultiJob**\
175
+ * Define how many thread can be generate in one node\
176
+ * If this is false, default will be 1
177
+ */
59
178
  multi: boolean
179
+ /**
180
+ * **Multi Reference Key**\
181
+ * Reference a parameter number in database
182
+ */
60
183
  multiKey: string
184
+ /**
185
+ * **Task Properties**\
186
+ * You could use properties to defined local region field
187
+ * And reference in the job execute context\
188
+ * **NOTICE: Order Matter**\
189
+ * The properties will generate base on the order in the list
190
+ */
61
191
  properties: Array<Property>
192
+ /**
193
+ * **Jobs Context**\
194
+ * A list of jobs, define the context of the task\
195
+ * Base on the flags, task can run it in a different way
196
+ */
62
197
  jobs: Array<Job>
198
+ /**
199
+ * **Local Permission**\
200
+ * Client-side only permission field\
201
+ * Server will check user token and defined its permission level\
202
+ * And modify this field and send back to user
203
+ */
204
+ permission?: LocalPermission
63
205
  }
64
-
206
+ /**
207
+ * **Compute Structure Container**\
208
+ * It has reference to parameter And contains multiple task\
209
+ * We grab this container structure to execute queue to execute one by one
210
+ */
65
211
  export interface Project {
66
- permission?: LocalPermiision
67
- acl?: ACLType
212
+ /**
213
+ * **User ID**\
214
+ * Who own this project\
215
+ * It will specified public if this field is undefined\
216
+ * This will getting detect before {@link Project.acl}
217
+ */
68
218
  owner?: string
219
+ /**
220
+ * **Project ID**\
221
+ * Contains 36 characters
222
+ */
69
223
  uuid: string
224
+ /**
225
+ * **Project Name**\
226
+ * The name of the project
227
+ */
70
228
  title: string
71
- description: string
72
- parameter_uuid: string
229
+ /**
230
+ * **Project Description**\
231
+ * The description of the project
232
+ */
233
+ description?: string
234
+ /**
235
+ * **Parameter ID**\
236
+ * In order reference to parameter database
237
+ */
238
+ store_uuid: string
239
+ /**
240
+ * **Parameter instance**\
241
+ * The data field of parameter
242
+ */
73
243
  parameter?: Parameter
244
+ /**
245
+ * **Tasks**\
246
+ * The context of this project\
247
+ * Store all the tasks and jobs in here
248
+ */
74
249
  task: Array<Task>
250
+ /**
251
+ * **Local Permission**\
252
+ * Client-side only permission field\
253
+ * Server will check user token and defined its permission level\
254
+ * And modify this field and send back to user
255
+ */
256
+ permission?: LocalPermission
257
+ /**
258
+ * **Accessibility**\
259
+ * Could be public, protected, private
260
+ */
261
+ acl?: ACLType
75
262
  }
76
-
263
+ /**
264
+ * **Compute Node Structure Container**\
265
+ * In the execute stage, it will needs nodes to compute the task\
266
+ * Which specified in this type of structure
267
+ */
77
268
  export interface Node {
78
- permission?: LocalPermiision
79
- acl?: ACLType
269
+ /**
270
+ * **ID**\
271
+ * The UUID of the compute node
272
+ */
80
273
  ID: string
274
+ /**
275
+ * **URL**\
276
+ * The address to the compute node
277
+ */
81
278
  url: string
279
+ /**
280
+ * **Local Permission**\
281
+ * Client-side only permission field\
282
+ * Server will check user token and defined its permission level\
283
+ * And modify this field and send back to user
284
+ */
285
+ permission?: LocalPermission
286
+ /**
287
+ * **Accessibility**\
288
+ * Could be public, protected, private
289
+ */
290
+ acl?: ACLType
82
291
  }
@@ -3,6 +3,9 @@
3
3
  // Share Codebase
4
4
  //
5
5
  // ========================
6
+ /**
7
+ * Event bus related type and interface
8
+ */
6
9
  import { Job, Parameter, Project, Task } from "./base"
7
10
  import { ExecuteState } from "./enum"
8
11
  import { ExecutionLog, Log, Preference } from "./record"
@@ -43,6 +46,7 @@ export interface EmitterProxy<T> {
43
46
  }
44
47
 
45
48
  /**
49
+ * **Execute Event Proxy**\
46
50
  * The middleware for task scheduler worker with singal sender
47
51
  */
48
52
  export interface ExecuteProxy {
@@ -90,6 +94,7 @@ export interface NodeProxy {
90
94
  }
91
95
 
92
96
  /**
97
+ * **Vue Event Bus Type**\
93
98
  * Emitter events container for Primary use
94
99
  */
95
100
  export type BusType = {
@@ -3,13 +3,25 @@
3
3
  // Share Codebase
4
4
  //
5
5
  // ========================
6
+ /**
7
+ * Enum library, including translation which will be use in Vue
8
+ */
9
+
10
+ /**
11
+ * **Socket Type**\
12
+ * This exists because reference to ws or buildin socket will sometime cause error\
13
+ * So we will need to create one for ourselves
14
+ */
6
15
  export enum SocketState {
7
16
  CONNECTING = 0,
8
17
  OPEN = 1,
9
18
  CLOSING = 2,
10
19
  CLOSED = 3
11
20
  }
12
-
21
+ /**
22
+ * **Data Type**\
23
+ * The support data type for parameter
24
+ */
13
25
  export enum DataType {
14
26
  Boolean,
15
27
  Number,
@@ -20,13 +32,21 @@ export enum DataType {
20
32
  Select,
21
33
  List,
22
34
  }
23
-
35
+ /**
36
+ * **Data Type Base**\
37
+ * The support data type for calculation\
38
+ * Proerty or expression calculation will use this
39
+ */
24
40
  export enum DataTypeBase {
25
41
  Boolean,
26
42
  Number,
27
43
  String,
28
44
  }
29
-
45
+ /**
46
+ * **Resource Query Type**\
47
+ * Client resource type\
48
+ * Use in when server query system information from node
49
+ */
30
50
  export enum ResourceType {
31
51
  ALL = ~(~0 << 10),
32
52
  SYSTEM = 1 << 0,
@@ -110,6 +130,10 @@ export enum JavascriptLib {
110
130
  PATH = 1 << 4,
111
131
  }
112
132
 
133
+ export enum ServiceMode {
134
+ ONCE, CYCLE, EVENT
135
+ }
136
+
113
137
  export const DataTypeText: { [key:number]:string } = {
114
138
  0: 'types.boolean',
115
139
  1: 'types.number',
@@ -3,6 +3,9 @@
3
3
  // Share Codebase
4
4
  //
5
5
  // ========================
6
+ /**
7
+ * The data structure which will use in execute stage
8
+ */
6
9
  import { Job } from "./base"
7
10
  import { ExecuteState } from "./enum"
8
11
 
@@ -3,14 +3,25 @@
3
3
  // Share Codebase
4
4
  //
5
5
  // ========================
6
+ /**
7
+ * Express server related data structure
8
+ */
6
9
  import { Preference } from "./record"
10
+ import { v6 as uuidv6 } from 'uuid'
7
11
 
12
+ /**
13
+ * **Access Control Type**\
14
+ * Ot will have effect on permission value
15
+ */
8
16
  export enum ACLType {
9
17
  PUBLIC,
10
18
  PROTECTED,
11
19
  PRIVATE
12
20
  }
13
-
21
+ /**
22
+ * **User Type**\
23
+ * It will have effect on permission value
24
+ */
14
25
  export enum UserType {
15
26
  ROOT,
16
27
  ADMIN,
@@ -31,20 +42,20 @@ export enum PermissionType {
31
42
  }
32
43
 
33
44
  export interface GlobalPermission {
34
- project: LocalPermiision
35
- task: LocalPermiision
36
- job: LocalPermiision
37
- parameter: LocalPermiision
45
+ project: LocalPermission
46
+ task: LocalPermission
47
+ job: LocalPermission
48
+ parameter: LocalPermission
38
49
 
39
- plugin: LocalPermiision
40
- node: LocalPermiision
41
- lib: LocalPermiision
42
- log: LocalPermiision
50
+ plugin: LocalPermission
51
+ node: LocalPermission
52
+ lib: LocalPermission
53
+ log: LocalPermission
43
54
 
44
55
  execute_job: boolean
45
56
  }
46
57
 
47
- export interface LocalPermiision {
58
+ export interface LocalPermission {
48
59
  view: boolean
49
60
  create: boolean
50
61
  edit: boolean
@@ -53,13 +64,13 @@ export interface LocalPermiision {
53
64
 
54
65
  export interface LocalPermissionContainer {
55
66
  uuid: string
56
- permission: LocalPermiision
67
+ permission: LocalPermission
57
68
  }
58
69
 
59
70
  export interface LocalPermissionContainer2 {
60
71
  uuid: string
61
72
  uuid2: string
62
- permission: LocalPermiision
73
+ permission: LocalPermission
63
74
  }
64
75
 
65
76
  /**
@@ -68,6 +79,7 @@ export interface LocalPermissionContainer2 {
68
79
  export interface UserProfile {
69
80
  token: string
70
81
  name: string
82
+ email?: string
71
83
  preference: Preference
72
84
  type: UserType
73
85
  description?: string
@@ -88,4 +100,44 @@ export interface UserProfileClient {
88
100
 
89
101
  export interface ServerSetting {
90
102
  open_guest: boolean
103
+ }
104
+
105
+ export const CreateRootPermission = ():GlobalPermission => {
106
+ const perl:LocalPermission = {
107
+ view: true,
108
+ create: true,
109
+ edit: true,
110
+ delete: true,
111
+ }
112
+ const per:GlobalPermission = {
113
+ project: perl,
114
+ task: perl,
115
+ job: perl,
116
+ plugin: perl,
117
+ node: perl,
118
+ parameter: perl,
119
+ lib: perl,
120
+ log: perl,
121
+ execute_job: true
122
+ }
123
+ return per
124
+ }
125
+
126
+ export const CreateRootUser = ():UserProfile => {
127
+ return {
128
+ token: uuidv6(),
129
+ type: UserType.ROOT,
130
+ preference: {
131
+ lan: 'en',
132
+ log: true,
133
+ font: 18,
134
+ theme: "dark",
135
+ notification: false,
136
+ plugin_token: [],
137
+ animation: true,
138
+ },
139
+ name: "root",
140
+ description: "Root User",
141
+ permission: CreateRootPermission()
142
+ }
91
143
  }
@@ -3,8 +3,13 @@
3
3
  // Share Codebase
4
4
  //
5
5
  // ========================
6
+ /**
7
+ * All kinds of data structure
8
+ * It's a mess, i know
9
+ */
6
10
  import { ParameterContainer, Project } from "./base"
7
11
  import ws from 'ws'
12
+ import { ServiceMode } from "./enum"
8
13
 
9
14
  type ProjectCall = (p:Project) => Project
10
15
  type ParameterCall = () => Array<ParameterContainer>
@@ -112,7 +117,6 @@ export interface FeedBack {
112
117
  message: string
113
118
  }
114
119
 
115
-
116
120
  export interface KeyValue {
117
121
  key: any
118
122
  value: any
@@ -289,4 +293,8 @@ export interface BuildinAssetsContent {
289
293
 
290
294
  export interface BuildinAssets {
291
295
  data: Array<BuildinAssetsContent>
296
+ }
297
+
298
+ export interface ServiceConfig {
299
+ mode: ServiceMode
292
300
  }
@@ -3,6 +3,10 @@
3
3
  // Share Codebase
4
4
  //
5
5
  // ========================
6
+ /**
7
+ * Value override for some base value\
8
+ * The data structure that use in Vue
9
+ */
6
10
  import { Node } from './base'
7
11
  import { Plugin, SystemLoad } from './struct'
8
12
 
@@ -3,6 +3,10 @@
3
3
  // Share Codebase
4
4
  //
5
5
  // ========================
6
+ /**
7
+ * Vue Client-side only data structure
8
+ */
9
+
6
10
  export interface AppConfig {
7
11
  isExpress: boolean
8
12
  isElectron: boolean
package/src/lan/en.json CHANGED
@@ -44,7 +44,8 @@
44
44
  "settings": {
45
45
  "system": "System",
46
46
  "appearance": "Appearance",
47
- "workflow": "Workflow"
47
+ "workflow": "Workflow",
48
+ "token_remove": "Are you sure you want to remove the token"
48
49
  },
49
50
  "toast": {
50
51
  "server": "Server Mode",
@@ -338,6 +339,7 @@
338
339
  "messager_log": "messager_log(message:string)"
339
340
  }
340
341
  },
342
+ "token": "Token",
341
343
  "info": "Information",
342
344
  "search": "Search",
343
345
  "selectall": "Select All",
@@ -44,7 +44,8 @@
44
44
  "settings": {
45
45
  "system": "系統",
46
46
  "appearance": "外觀",
47
- "workflow": "流程"
47
+ "workflow": "流程",
48
+ "token_remove": "確定刪除密鑰嗎"
48
49
  },
49
50
  "toast": {
50
51
  "server": "伺服器模式",
@@ -338,6 +339,7 @@
338
339
  "messager_log": "messager_log(message:string)"
339
340
  }
340
341
  },
342
+ "token": "密鑰",
341
343
  "info": "資訊",
342
344
  "search": "搜尋",
343
345
  "selectall": "全選",
@@ -22,6 +22,7 @@ export { createI18n as Create }
22
22
  * app.use(i18n)
23
23
  */
24
24
  export const i18nDefaultData = {
25
+ legacy: true,
25
26
  locale: 'en',
26
27
  globalInjection: true,
27
28
  fallbackFormat: 'en',