@galadrim/galadmin 0.1.140 → 0.1.141
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/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +8 -8
- package/package.json +1 -1
- package/src/front/ckeditor5-build/node_modules/.bin/semver +12 -0
- package/src/front/ckeditor5-build/node_modules/.bin/semver.cmd +17 -0
- package/src/front/ckeditor5-build/node_modules/.bin/semver.ps1 +28 -0
- package/src/front/ckeditor5-build/node_modules/semver/bin/semver.js +0 -0
- package/src/types/config.ts +339 -331
package/src/types/config.ts
CHANGED
|
@@ -1,396 +1,404 @@
|
|
|
1
|
-
export type Filter = {}
|
|
1
|
+
export type Filter = {};
|
|
2
2
|
|
|
3
3
|
export type BaseTypeColumn = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
4
|
+
label: string;
|
|
5
|
+
hideInTable?: boolean;
|
|
6
|
+
canEditOnCreation?: boolean;
|
|
7
|
+
includedInCreatePayload?: boolean;
|
|
8
|
+
canEdit?: boolean;
|
|
9
|
+
hidden?: boolean;
|
|
10
|
+
formattedValue?: string;
|
|
11
|
+
formatValue?: (record: any) => string | Promise<string>;
|
|
12
|
+
formatValueForExport?: (record: any) => string | Promise<string>;
|
|
13
|
+
searchable?: boolean;
|
|
14
|
+
searchableName?: string;
|
|
15
|
+
labelTooltip?: string;
|
|
16
|
+
required?: boolean;
|
|
17
|
+
includeInExport?: boolean;
|
|
18
|
+
displayCondition?: (record: any) => boolean;
|
|
19
|
+
};
|
|
20
20
|
|
|
21
21
|
export type ColorColumn = {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
22
|
+
dataType: 'color';
|
|
23
|
+
name: string;
|
|
24
|
+
};
|
|
25
25
|
|
|
26
26
|
export type StandardColumn = {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
27
|
+
name?: string;
|
|
28
|
+
dataType?: string;
|
|
29
|
+
};
|
|
31
30
|
|
|
32
31
|
export type SelectColumn = {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
32
|
+
dataType: 'select';
|
|
33
|
+
name: string;
|
|
34
|
+
options: string[] | { [key: string]: string };
|
|
35
|
+
defaultOption: string;
|
|
36
|
+
optional?: boolean;
|
|
37
|
+
};
|
|
39
38
|
|
|
40
39
|
export type AddressColumn = {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
40
|
+
dataType: 'address';
|
|
41
|
+
latitudeField?: string;
|
|
42
|
+
longitudeField?: string;
|
|
43
|
+
addressField?: string;
|
|
44
|
+
streetNumberField?: string;
|
|
45
|
+
routeField?: string;
|
|
46
|
+
localityField?: string;
|
|
47
|
+
administrativeAreaLevel2Field?: string;
|
|
48
|
+
administrativeAreaLevel1Field?: string;
|
|
49
|
+
countryField?: string;
|
|
50
|
+
postalCodeField?: string;
|
|
51
|
+
};
|
|
53
52
|
|
|
54
53
|
export type DateColumn = {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
54
|
+
dataType: 'date';
|
|
55
|
+
name: string;
|
|
56
|
+
};
|
|
58
57
|
|
|
59
58
|
export type DatetimeColumn = {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
59
|
+
dataType: 'datetime';
|
|
60
|
+
name: string;
|
|
61
|
+
};
|
|
63
62
|
|
|
64
63
|
export type ForeignSelectColumn = {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
64
|
+
dataType: 'foreign';
|
|
65
|
+
name: string;
|
|
66
|
+
table: string;
|
|
67
|
+
foreignName?: string;
|
|
68
|
+
limit?: number;
|
|
69
|
+
selectExpression?: string;
|
|
70
|
+
join?: string;
|
|
71
|
+
filters?: Filter[];
|
|
72
|
+
orderBy?: string;
|
|
73
|
+
optional?: boolean;
|
|
74
|
+
formatForeignValue?: (record: any) => string;
|
|
75
|
+
};
|
|
77
76
|
|
|
78
77
|
export type ForeignDatalistColumn = {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
78
|
+
dataType: 'datalist';
|
|
79
|
+
name: string;
|
|
80
|
+
table: string;
|
|
81
|
+
foreignName?: string;
|
|
82
|
+
wholeSearch?: boolean;
|
|
83
|
+
limit?: number;
|
|
84
|
+
selectExpression?: string;
|
|
85
|
+
join?: string;
|
|
86
|
+
filters?: Filter[];
|
|
87
|
+
orderBy?: string;
|
|
88
|
+
optional?: boolean;
|
|
89
|
+
formatForeignValue?: (record: any) => string;
|
|
90
|
+
};
|
|
92
91
|
|
|
93
92
|
export type TextareaColumn = {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
93
|
+
dataType: 'textarea';
|
|
94
|
+
name: string;
|
|
95
|
+
};
|
|
97
96
|
|
|
98
97
|
export type RichTextColumn = {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
dataType: 'richText';
|
|
99
|
+
htmlField: string;
|
|
100
|
+
contentField?: string;
|
|
102
101
|
};
|
|
103
102
|
|
|
104
103
|
export type BetterRichTextColumn = {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
dataType: 'betterRichText';
|
|
105
|
+
htmlField: string;
|
|
106
|
+
fileUploadProperties?: FileUploadProperties;
|
|
108
107
|
};
|
|
109
108
|
|
|
110
109
|
export type FileColumn = {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
} & FileUploadProperties
|
|
110
|
+
dataType: 'file';
|
|
111
|
+
name: string;
|
|
112
|
+
} & FileUploadProperties;
|
|
114
113
|
|
|
115
114
|
export type FileUploadProperties = {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
export type Column = BaseTypeColumn &
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
115
|
+
publicPath?: string;
|
|
116
|
+
subdirectory?: string;
|
|
117
|
+
aspectRatioField?: string;
|
|
118
|
+
originalNameField?: string;
|
|
119
|
+
s3Config?: {
|
|
120
|
+
host: string;
|
|
121
|
+
accessKeyId: string;
|
|
122
|
+
secretAccessKey: string;
|
|
123
|
+
bucket: string;
|
|
124
|
+
subfolder?: string;
|
|
125
|
+
signedUrlNeeded?: boolean;
|
|
126
|
+
region?: string;
|
|
127
|
+
};
|
|
128
|
+
sftpConfig?: {
|
|
129
|
+
host: string;
|
|
130
|
+
user: string;
|
|
131
|
+
password: string;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
export type Column = BaseTypeColumn &
|
|
136
|
+
(
|
|
137
|
+
| StandardColumn
|
|
138
|
+
| ColorColumn
|
|
139
|
+
| SelectColumn
|
|
140
|
+
| AddressColumn
|
|
141
|
+
| DateColumn
|
|
142
|
+
| DatetimeColumn
|
|
143
|
+
| ForeignSelectColumn
|
|
144
|
+
| ForeignDatalistColumn
|
|
145
|
+
| RichTextColumn
|
|
146
|
+
| BetterRichTextColumn
|
|
147
|
+
| TextareaColumn
|
|
148
|
+
| FileColumn
|
|
149
|
+
);
|
|
150
150
|
|
|
151
151
|
export type CreateType = {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
152
|
+
canCreate: true;
|
|
153
|
+
aNewSingular: string;
|
|
154
|
+
createFilters?: { [key: string]: string };
|
|
155
|
+
createConfig?: {
|
|
156
|
+
redirectToCreatedItems?: boolean;
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
159
|
|
|
160
160
|
export type CustomAction = {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}
|
|
161
|
+
label: string;
|
|
162
|
+
action: (record: any) => void;
|
|
163
|
+
successMessage?: string;
|
|
164
|
+
};
|
|
165
165
|
|
|
166
166
|
export type FormDataFile = {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
}
|
|
167
|
+
fieldName: string;
|
|
168
|
+
originalFilename: string;
|
|
169
|
+
path: string;
|
|
170
|
+
headers: { [key: string]: string };
|
|
171
|
+
size: number;
|
|
172
|
+
};
|
|
173
173
|
|
|
174
174
|
export type TableView = {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
} & (CreateType | { canCreate?: false })
|
|
175
|
+
type: 'table';
|
|
176
|
+
icon?: string;
|
|
177
|
+
label: string;
|
|
178
|
+
tableName: string;
|
|
179
|
+
primaryId?: string;
|
|
180
|
+
customQuery?: string;
|
|
181
|
+
selectExpression?: string;
|
|
182
|
+
join?: string;
|
|
183
|
+
groupBy?: string;
|
|
184
|
+
orderBy?: string;
|
|
185
|
+
isDesc?: boolean;
|
|
186
|
+
limit?: number;
|
|
187
|
+
filters?: string;
|
|
188
|
+
filtersFromUser?: (userId: number) => string;
|
|
189
|
+
notClickable?: boolean;
|
|
190
|
+
clickToEdit?: boolean;
|
|
191
|
+
openInNewTab?: boolean;
|
|
192
|
+
customActions?: CustomAction[];
|
|
193
|
+
/** Rendre possible à l'utilisateur de créer des enregistrements */
|
|
194
|
+
/** Rendre possible à l'utilisateur de supprimer des enregistrements */
|
|
195
|
+
canDelete?: boolean;
|
|
196
|
+
/** Rendre possible à l'utilisateur de modifier des enregistrements */
|
|
197
|
+
canEdit?: boolean;
|
|
198
|
+
/** Rendre possible à l'utilisateur de télécharger les enregistrements (par défaut : true) */
|
|
199
|
+
canExport?: boolean;
|
|
200
|
+
/** Rendre possible à l'utilisateur d'importer des enregistrements (par défaut : false) */
|
|
201
|
+
canImport?: boolean;
|
|
202
|
+
/**
|
|
203
|
+
* Types de fichier acceptés pour l'import, au format de l'attribut {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers accept}.
|
|
204
|
+
* @example [".xlsx", ".xls", ".csv"]
|
|
205
|
+
*/
|
|
206
|
+
importFileTypes?: string[];
|
|
207
|
+
/** Obligatoire si `canImport` est `true`. Prend le fichier d'import en paramètre et renvoie une liste d'entités. */
|
|
208
|
+
parseImportFile?: (file: FormDataFile) => Promise<any[]>;
|
|
209
|
+
createCallback?: string;
|
|
210
|
+
createCallbackFunction?: ({ id, data }: { id: number; data: any }) => void;
|
|
211
|
+
editCallback?: string;
|
|
212
|
+
editCallbackFunction?: ({ id, data }: { id: number; data: any }) => void;
|
|
213
|
+
deleteCallback?: string;
|
|
214
|
+
deleteCallbackFunction?: ({ id }: { id: number }) => void;
|
|
215
|
+
columns: Column[];
|
|
216
|
+
subviews?: Subview[];
|
|
217
|
+
recordViewPanels?: ViewPanel[];
|
|
218
|
+
importFileUniqueField?: string;
|
|
219
|
+
} & (CreateType | { canCreate?: false });
|
|
220
220
|
|
|
221
221
|
export type Subview = {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
}
|
|
222
|
+
label: string;
|
|
223
|
+
filters: string;
|
|
224
|
+
orderBy?: string;
|
|
225
|
+
};
|
|
226
226
|
|
|
227
227
|
export type BaseTypePanel = {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
}
|
|
228
|
+
label: string;
|
|
229
|
+
folded?: boolean;
|
|
230
|
+
displayCondition?: (record: any) => boolean;
|
|
231
|
+
};
|
|
232
232
|
|
|
233
233
|
export type CreateConfig = {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
}
|
|
234
|
+
label: string;
|
|
235
|
+
recordIdKey: string;
|
|
236
|
+
columns: Column[];
|
|
237
|
+
redirectToCreatedItems?: boolean;
|
|
238
|
+
};
|
|
239
239
|
|
|
240
240
|
export type TablePanel = {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
}
|
|
241
|
+
type: 'table';
|
|
242
|
+
query: string;
|
|
243
|
+
formattedQuery?: string;
|
|
244
|
+
canDownload?: boolean;
|
|
245
|
+
canShow?: boolean;
|
|
246
|
+
canDelete?: boolean;
|
|
247
|
+
canCreate?: boolean;
|
|
248
|
+
canImport?: boolean;
|
|
249
|
+
/**
|
|
250
|
+
* Types de fichier acceptés pour l'import, au format de l'attribut {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers accept}.
|
|
251
|
+
* @example [".xlsx", ".xls", ".csv"]
|
|
252
|
+
*/
|
|
253
|
+
importFileTypes?: string[];
|
|
254
|
+
/** Obligatoire si `canImport` est `true`. Prend le fichier d'import en paramètre et renvoie une liste d'entités. id correspond a l'identité du parent */
|
|
255
|
+
parseImportFile?: (file: FormDataFile, id?: any) => Promise<any[]>;
|
|
256
|
+
/** Obligatoire si `canImport` est `true`. */
|
|
257
|
+
createConfig?: CreateConfig;
|
|
258
|
+
tableName?: string;
|
|
259
|
+
primaryId?: string;
|
|
260
|
+
formatValue?: {
|
|
261
|
+
[key: string]: (record: any) => string | Promise<string>;
|
|
262
|
+
};
|
|
263
|
+
formattedValues?: { [key: string]: string };
|
|
264
|
+
createCallback?: string;
|
|
265
|
+
createCallbackFunction?: ({ id, data }: { id: number; data: any }) => void;
|
|
266
|
+
deleteCallback?: string;
|
|
267
|
+
deleteCallbackFunction?: ({ id }: { id: number }) => void;
|
|
268
|
+
};
|
|
269
269
|
|
|
270
270
|
export type MapPanel = {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
271
|
+
type: 'map';
|
|
272
|
+
query: string;
|
|
273
|
+
latitudeField: string;
|
|
274
|
+
longitudeField: string;
|
|
275
|
+
zoom?: number;
|
|
276
|
+
};
|
|
277
277
|
|
|
278
278
|
export type GalleryPanel = {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
279
|
+
type: 'gallery';
|
|
280
|
+
query: string;
|
|
281
|
+
canDelete?: boolean;
|
|
282
|
+
canCreate?: boolean;
|
|
283
|
+
createConfig?: CreateConfig;
|
|
284
|
+
tableName?: string;
|
|
285
|
+
primaryId?: string;
|
|
286
|
+
baseUrl?: string;
|
|
287
|
+
pathField?: string;
|
|
288
|
+
objectFit?: 'cover' | 'contain';
|
|
289
|
+
createCallback?: string;
|
|
290
|
+
createCallbackFunction?: ({ id, data }: { id: number; data: any }) => void;
|
|
291
|
+
deleteCallback?: string;
|
|
292
|
+
deleteCallbackFunction?: ({
|
|
293
|
+
id,
|
|
294
|
+
deletedRecord,
|
|
295
|
+
}: {
|
|
296
|
+
id: number;
|
|
297
|
+
deletedRecord?: any;
|
|
298
|
+
}) => void;
|
|
299
|
+
};
|
|
294
300
|
|
|
295
301
|
export type ChatPanel = {
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
export type ViewPanel = BaseTypePanel &
|
|
302
|
+
type: 'chat';
|
|
303
|
+
/* Requête SQL pour récupérer les messages échangés */
|
|
304
|
+
getMessagesQuery: string;
|
|
305
|
+
/* URL pour envoyer un message */
|
|
306
|
+
postMessageUrl: string;
|
|
307
|
+
messageField: string;
|
|
308
|
+
isAdminField: string;
|
|
309
|
+
datetimeField: string;
|
|
310
|
+
/* Clé secrète transmise à la route d'envoi de message */
|
|
311
|
+
secretKey?: string;
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
export type ViewPanel = BaseTypePanel &
|
|
315
|
+
(TablePanel | MapPanel | GalleryPanel | ChatPanel);
|
|
309
316
|
|
|
310
317
|
export type IframeView = {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
}
|
|
318
|
+
type: 'iframe';
|
|
319
|
+
src: string;
|
|
320
|
+
icon?: string;
|
|
321
|
+
label: string;
|
|
322
|
+
};
|
|
316
323
|
|
|
317
324
|
export type LinkView = {
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
}
|
|
325
|
+
type: 'link';
|
|
326
|
+
src: string;
|
|
327
|
+
icon?: string;
|
|
328
|
+
label: string;
|
|
329
|
+
};
|
|
323
330
|
|
|
324
331
|
export type CustomView = {
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
}
|
|
332
|
+
type: 'custom';
|
|
333
|
+
icon?: string;
|
|
334
|
+
label: string;
|
|
335
|
+
componentPath: string;
|
|
336
|
+
componentProps?: any;
|
|
337
|
+
};
|
|
331
338
|
|
|
332
339
|
export type BaseTypeView = {
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
}
|
|
340
|
+
/** Cache la vue dans le menu latéral */
|
|
341
|
+
hidden?: boolean;
|
|
342
|
+
roles?: string[];
|
|
343
|
+
};
|
|
337
344
|
|
|
338
|
-
export type View = BaseTypeView &
|
|
345
|
+
export type View = BaseTypeView &
|
|
346
|
+
(TableView | IframeView | LinkView | CustomView);
|
|
339
347
|
|
|
340
348
|
export type AuthRole = {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
}
|
|
349
|
+
role: string;
|
|
350
|
+
table: string;
|
|
351
|
+
usernameField: string;
|
|
352
|
+
passwordField: string;
|
|
353
|
+
idField: string;
|
|
354
|
+
};
|
|
347
355
|
|
|
348
356
|
export type Config = {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
}
|
|
357
|
+
/** Nom du projet */
|
|
358
|
+
name: string;
|
|
359
|
+
|
|
360
|
+
/** Chaîne de caractères aléatoires qui permet de chiffrer les cookies de session */
|
|
361
|
+
sessionSecret: string;
|
|
362
|
+
|
|
363
|
+
useMysql2?: boolean;
|
|
364
|
+
|
|
365
|
+
/** Identifiants permettant d'accéder au back-office */
|
|
366
|
+
auth: {
|
|
367
|
+
/** Nom d'utilisateur */
|
|
368
|
+
username: string;
|
|
369
|
+
|
|
370
|
+
/** Password */
|
|
371
|
+
password: string;
|
|
372
|
+
};
|
|
373
|
+
|
|
374
|
+
authRoles?: AuthRole[];
|
|
375
|
+
|
|
376
|
+
/** Identifiants de connexion à la base de données */
|
|
377
|
+
mysql?: {
|
|
378
|
+
host: string;
|
|
379
|
+
user: string;
|
|
380
|
+
password: string;
|
|
381
|
+
database: string;
|
|
382
|
+
port?: number;
|
|
383
|
+
};
|
|
384
|
+
|
|
385
|
+
postgresql?: {
|
|
386
|
+
host: string;
|
|
387
|
+
user: string;
|
|
388
|
+
password: string;
|
|
389
|
+
database: string;
|
|
390
|
+
port?: number;
|
|
391
|
+
ssl?: any;
|
|
392
|
+
};
|
|
393
|
+
|
|
394
|
+
/** Clé API Google Maps pour les champs adresses et l'affichage de cartes */
|
|
395
|
+
googleMapsKey?: string;
|
|
396
|
+
|
|
397
|
+
/** Désactiver la sélection multiple dans les vues de type table */
|
|
398
|
+
hideMultiselect?: boolean;
|
|
399
|
+
|
|
400
|
+
/** Cache l'inscription Made with love by Galadrim */
|
|
401
|
+
hideBranding?: boolean;
|
|
402
|
+
|
|
403
|
+
views: View[];
|
|
404
|
+
};
|