@krizaka/org 0.0.0-stage → 0.2.0

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.
@@ -0,0 +1,988 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://krizaka-assets.b-cdn.net/org/v1/org.schema.json",
4
+ "title": "Krizaka organisation — public facts",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "$schema",
9
+ "schemaVersion",
10
+ "version",
11
+ "updatedAt",
12
+ "company",
13
+ "brand",
14
+ "people",
15
+ "defaults",
16
+ "products",
17
+ "sites",
18
+ "contact",
19
+ "footer"
20
+ ],
21
+ "properties": {
22
+ "$schema": {
23
+ "type": "string"
24
+ },
25
+ "schemaVersion": {
26
+ "enum": [
27
+ 1,
28
+ 2
29
+ ]
30
+ },
31
+ "version": {
32
+ "type": "string",
33
+ "pattern": "^\\d+\\.\\d+\\.\\d+$"
34
+ },
35
+ "updatedAt": {
36
+ "type": "string",
37
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
38
+ },
39
+ "company": {
40
+ "type": "object",
41
+ "additionalProperties": false,
42
+ "required": [
43
+ "legalName",
44
+ "tradeName",
45
+ "neq",
46
+ "city",
47
+ "region",
48
+ "country",
49
+ "license",
50
+ "madeIn"
51
+ ],
52
+ "properties": {
53
+ "legalName": {
54
+ "type": "string",
55
+ "minLength": 1
56
+ },
57
+ "tradeName": {
58
+ "type": "string",
59
+ "minLength": 1
60
+ },
61
+ "neq": {
62
+ "type": "string",
63
+ "pattern": "^\\d{10}$"
64
+ },
65
+ "city": {
66
+ "type": "string",
67
+ "minLength": 1
68
+ },
69
+ "region": {
70
+ "type": "string",
71
+ "minLength": 1
72
+ },
73
+ "country": {
74
+ "type": "string",
75
+ "pattern": "^[A-Z]{2}$"
76
+ },
77
+ "license": {
78
+ "type": "string",
79
+ "minLength": 1
80
+ },
81
+ "madeIn": {
82
+ "type": "object",
83
+ "additionalProperties": false,
84
+ "required": [
85
+ "fr",
86
+ "en"
87
+ ],
88
+ "properties": {
89
+ "fr": {
90
+ "type": "string",
91
+ "minLength": 1
92
+ },
93
+ "en": {
94
+ "type": "string",
95
+ "minLength": 1
96
+ }
97
+ }
98
+ }
99
+ }
100
+ },
101
+ "brand": {
102
+ "type": "object",
103
+ "additionalProperties": false,
104
+ "required": [
105
+ "name",
106
+ "logo",
107
+ "mark",
108
+ "favicon",
109
+ "appleTouchIcon",
110
+ "socialPreview",
111
+ "manifest"
112
+ ],
113
+ "properties": {
114
+ "name": {
115
+ "type": "string",
116
+ "minLength": 1
117
+ },
118
+ "logo": {
119
+ "type": "object",
120
+ "additionalProperties": false,
121
+ "required": [
122
+ "dark",
123
+ "light"
124
+ ],
125
+ "properties": {
126
+ "dark": {
127
+ "type": "object",
128
+ "additionalProperties": false,
129
+ "required": [
130
+ "svg",
131
+ "png64",
132
+ "png256",
133
+ "png512",
134
+ "png1024"
135
+ ],
136
+ "properties": {
137
+ "svg": {
138
+ "type": "string",
139
+ "format": "uri",
140
+ "pattern": "^https://"
141
+ },
142
+ "png64": {
143
+ "type": "string",
144
+ "format": "uri",
145
+ "pattern": "^https://"
146
+ },
147
+ "png256": {
148
+ "type": "string",
149
+ "format": "uri",
150
+ "pattern": "^https://"
151
+ },
152
+ "png512": {
153
+ "type": "string",
154
+ "format": "uri",
155
+ "pattern": "^https://"
156
+ },
157
+ "png1024": {
158
+ "type": "string",
159
+ "format": "uri",
160
+ "pattern": "^https://"
161
+ }
162
+ }
163
+ },
164
+ "light": {
165
+ "type": "object",
166
+ "additionalProperties": false,
167
+ "required": [
168
+ "svg",
169
+ "png64",
170
+ "png256",
171
+ "png512",
172
+ "png1024"
173
+ ],
174
+ "properties": {
175
+ "svg": {
176
+ "type": "string",
177
+ "format": "uri",
178
+ "pattern": "^https://"
179
+ },
180
+ "png64": {
181
+ "type": "string",
182
+ "format": "uri",
183
+ "pattern": "^https://"
184
+ },
185
+ "png256": {
186
+ "type": "string",
187
+ "format": "uri",
188
+ "pattern": "^https://"
189
+ },
190
+ "png512": {
191
+ "type": "string",
192
+ "format": "uri",
193
+ "pattern": "^https://"
194
+ },
195
+ "png1024": {
196
+ "type": "string",
197
+ "format": "uri",
198
+ "pattern": "^https://"
199
+ }
200
+ }
201
+ }
202
+ }
203
+ },
204
+ "mark": {
205
+ "type": "object",
206
+ "additionalProperties": false,
207
+ "required": [
208
+ "dark",
209
+ "light"
210
+ ],
211
+ "properties": {
212
+ "dark": {
213
+ "type": "object",
214
+ "additionalProperties": false,
215
+ "required": [
216
+ "svg",
217
+ "png64",
218
+ "png256",
219
+ "png512",
220
+ "png1024"
221
+ ],
222
+ "properties": {
223
+ "svg": {
224
+ "type": "string",
225
+ "format": "uri",
226
+ "pattern": "^https://"
227
+ },
228
+ "png64": {
229
+ "type": "string",
230
+ "format": "uri",
231
+ "pattern": "^https://"
232
+ },
233
+ "png256": {
234
+ "type": "string",
235
+ "format": "uri",
236
+ "pattern": "^https://"
237
+ },
238
+ "png512": {
239
+ "type": "string",
240
+ "format": "uri",
241
+ "pattern": "^https://"
242
+ },
243
+ "png1024": {
244
+ "type": "string",
245
+ "format": "uri",
246
+ "pattern": "^https://"
247
+ }
248
+ }
249
+ },
250
+ "light": {
251
+ "type": "object",
252
+ "additionalProperties": false,
253
+ "required": [
254
+ "svg",
255
+ "png64",
256
+ "png256",
257
+ "png512",
258
+ "png1024"
259
+ ],
260
+ "properties": {
261
+ "svg": {
262
+ "type": "string",
263
+ "format": "uri",
264
+ "pattern": "^https://"
265
+ },
266
+ "png64": {
267
+ "type": "string",
268
+ "format": "uri",
269
+ "pattern": "^https://"
270
+ },
271
+ "png256": {
272
+ "type": "string",
273
+ "format": "uri",
274
+ "pattern": "^https://"
275
+ },
276
+ "png512": {
277
+ "type": "string",
278
+ "format": "uri",
279
+ "pattern": "^https://"
280
+ },
281
+ "png1024": {
282
+ "type": "string",
283
+ "format": "uri",
284
+ "pattern": "^https://"
285
+ }
286
+ }
287
+ }
288
+ }
289
+ },
290
+ "favicon": {
291
+ "type": "string",
292
+ "format": "uri",
293
+ "pattern": "^https://"
294
+ },
295
+ "appleTouchIcon": {
296
+ "type": "string",
297
+ "format": "uri",
298
+ "pattern": "^https://"
299
+ },
300
+ "socialPreview": {
301
+ "type": "string",
302
+ "format": "uri",
303
+ "pattern": "^https://"
304
+ },
305
+ "manifest": {
306
+ "type": "string",
307
+ "format": "uri",
308
+ "pattern": "^https://"
309
+ }
310
+ }
311
+ },
312
+ "people": {
313
+ "type": "object",
314
+ "additionalProperties": false,
315
+ "required": [
316
+ "defaults",
317
+ "banners"
318
+ ],
319
+ "properties": {
320
+ "defaults": {
321
+ "type": "array",
322
+ "items": {
323
+ "type": "object",
324
+ "additionalProperties": false,
325
+ "required": [
326
+ "id",
327
+ "kind",
328
+ "svg",
329
+ "webp256",
330
+ "webp512",
331
+ "alt"
332
+ ],
333
+ "properties": {
334
+ "id": {
335
+ "type": "string",
336
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
337
+ },
338
+ "kind": {
339
+ "enum": [
340
+ "person",
341
+ "plain"
342
+ ]
343
+ },
344
+ "svg": {
345
+ "type": "string",
346
+ "format": "uri",
347
+ "pattern": "^https://"
348
+ },
349
+ "webp256": {
350
+ "type": "string",
351
+ "format": "uri",
352
+ "pattern": "^https://"
353
+ },
354
+ "webp512": {
355
+ "type": "string",
356
+ "format": "uri",
357
+ "pattern": "^https://"
358
+ },
359
+ "alt": {
360
+ "type": "object",
361
+ "additionalProperties": false,
362
+ "required": [
363
+ "fr",
364
+ "en"
365
+ ],
366
+ "properties": {
367
+ "fr": {
368
+ "type": "string",
369
+ "minLength": 1
370
+ },
371
+ "en": {
372
+ "type": "string",
373
+ "minLength": 1
374
+ }
375
+ }
376
+ }
377
+ }
378
+ }
379
+ },
380
+ "banners": {
381
+ "type": "array",
382
+ "items": {
383
+ "type": "object",
384
+ "additionalProperties": false,
385
+ "required": [
386
+ "id",
387
+ "url",
388
+ "alt"
389
+ ],
390
+ "properties": {
391
+ "id": {
392
+ "type": "string",
393
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
394
+ },
395
+ "url": {
396
+ "type": "string",
397
+ "format": "uri",
398
+ "pattern": "^https://"
399
+ },
400
+ "alt": {
401
+ "type": "object",
402
+ "additionalProperties": false,
403
+ "required": [
404
+ "fr",
405
+ "en"
406
+ ],
407
+ "properties": {
408
+ "fr": {
409
+ "type": "string",
410
+ "minLength": 1
411
+ },
412
+ "en": {
413
+ "type": "string",
414
+ "minLength": 1
415
+ }
416
+ }
417
+ }
418
+ }
419
+ }
420
+ }
421
+ }
422
+ },
423
+ "defaults": {
424
+ "type": "object",
425
+ "additionalProperties": false,
426
+ "required": [
427
+ "version",
428
+ "base",
429
+ "rule",
430
+ "kinds"
431
+ ],
432
+ "properties": {
433
+ "version": {
434
+ "type": "string",
435
+ "pattern": "^v\\d+$"
436
+ },
437
+ "base": {
438
+ "type": "string",
439
+ "format": "uri",
440
+ "pattern": "^https://"
441
+ },
442
+ "rule": {
443
+ "type": "object",
444
+ "additionalProperties": false,
445
+ "required": [
446
+ "pick",
447
+ "description"
448
+ ],
449
+ "properties": {
450
+ "pick": {
451
+ "const": "fnv1a32-modulo"
452
+ },
453
+ "description": {
454
+ "type": "string",
455
+ "minLength": 1
456
+ }
457
+ }
458
+ },
459
+ "kinds": {
460
+ "type": "object",
461
+ "additionalProperties": false,
462
+ "required": [
463
+ "person",
464
+ "folder",
465
+ "organisation",
466
+ "shop",
467
+ "banner"
468
+ ],
469
+ "properties": {
470
+ "person": {
471
+ "type": "array",
472
+ "minItems": 1,
473
+ "uniqueItems": true,
474
+ "items": {
475
+ "type": "object",
476
+ "additionalProperties": false,
477
+ "required": [
478
+ "id",
479
+ "alt",
480
+ "urls"
481
+ ],
482
+ "properties": {
483
+ "id": {
484
+ "type": "string",
485
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
486
+ },
487
+ "alt": {
488
+ "type": "object",
489
+ "additionalProperties": false,
490
+ "required": [
491
+ "fr",
492
+ "en"
493
+ ],
494
+ "properties": {
495
+ "fr": {
496
+ "type": "string",
497
+ "minLength": 1
498
+ },
499
+ "en": {
500
+ "type": "string",
501
+ "minLength": 1
502
+ }
503
+ }
504
+ },
505
+ "urls": {
506
+ "type": "object",
507
+ "additionalProperties": false,
508
+ "required": [
509
+ "webp"
510
+ ],
511
+ "properties": {
512
+ "svg": {
513
+ "type": "string",
514
+ "format": "uri",
515
+ "pattern": "^https://"
516
+ },
517
+ "webp": {
518
+ "type": "object",
519
+ "minProperties": 1,
520
+ "propertyNames": {
521
+ "pattern": "^\\d+$"
522
+ },
523
+ "additionalProperties": {
524
+ "type": "string",
525
+ "format": "uri",
526
+ "pattern": "^https://"
527
+ }
528
+ }
529
+ }
530
+ }
531
+ }
532
+ }
533
+ },
534
+ "folder": {
535
+ "type": "array",
536
+ "minItems": 1,
537
+ "uniqueItems": true,
538
+ "items": {
539
+ "type": "object",
540
+ "additionalProperties": false,
541
+ "required": [
542
+ "id",
543
+ "alt",
544
+ "urls"
545
+ ],
546
+ "properties": {
547
+ "id": {
548
+ "type": "string",
549
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
550
+ },
551
+ "alt": {
552
+ "type": "object",
553
+ "additionalProperties": false,
554
+ "required": [
555
+ "fr",
556
+ "en"
557
+ ],
558
+ "properties": {
559
+ "fr": {
560
+ "type": "string",
561
+ "minLength": 1
562
+ },
563
+ "en": {
564
+ "type": "string",
565
+ "minLength": 1
566
+ }
567
+ }
568
+ },
569
+ "urls": {
570
+ "type": "object",
571
+ "additionalProperties": false,
572
+ "required": [
573
+ "webp"
574
+ ],
575
+ "properties": {
576
+ "svg": {
577
+ "type": "string",
578
+ "format": "uri",
579
+ "pattern": "^https://"
580
+ },
581
+ "webp": {
582
+ "type": "object",
583
+ "minProperties": 1,
584
+ "propertyNames": {
585
+ "pattern": "^\\d+$"
586
+ },
587
+ "additionalProperties": {
588
+ "type": "string",
589
+ "format": "uri",
590
+ "pattern": "^https://"
591
+ }
592
+ }
593
+ }
594
+ }
595
+ }
596
+ }
597
+ },
598
+ "organisation": {
599
+ "type": "array",
600
+ "minItems": 1,
601
+ "uniqueItems": true,
602
+ "items": {
603
+ "type": "object",
604
+ "additionalProperties": false,
605
+ "required": [
606
+ "id",
607
+ "alt",
608
+ "urls"
609
+ ],
610
+ "properties": {
611
+ "id": {
612
+ "type": "string",
613
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
614
+ },
615
+ "alt": {
616
+ "type": "object",
617
+ "additionalProperties": false,
618
+ "required": [
619
+ "fr",
620
+ "en"
621
+ ],
622
+ "properties": {
623
+ "fr": {
624
+ "type": "string",
625
+ "minLength": 1
626
+ },
627
+ "en": {
628
+ "type": "string",
629
+ "minLength": 1
630
+ }
631
+ }
632
+ },
633
+ "urls": {
634
+ "type": "object",
635
+ "additionalProperties": false,
636
+ "required": [
637
+ "webp"
638
+ ],
639
+ "properties": {
640
+ "svg": {
641
+ "type": "string",
642
+ "format": "uri",
643
+ "pattern": "^https://"
644
+ },
645
+ "webp": {
646
+ "type": "object",
647
+ "minProperties": 1,
648
+ "propertyNames": {
649
+ "pattern": "^\\d+$"
650
+ },
651
+ "additionalProperties": {
652
+ "type": "string",
653
+ "format": "uri",
654
+ "pattern": "^https://"
655
+ }
656
+ }
657
+ }
658
+ }
659
+ }
660
+ }
661
+ },
662
+ "shop": {
663
+ "type": "array",
664
+ "minItems": 1,
665
+ "uniqueItems": true,
666
+ "items": {
667
+ "type": "object",
668
+ "additionalProperties": false,
669
+ "required": [
670
+ "id",
671
+ "alt",
672
+ "urls"
673
+ ],
674
+ "properties": {
675
+ "id": {
676
+ "type": "string",
677
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
678
+ },
679
+ "alt": {
680
+ "type": "object",
681
+ "additionalProperties": false,
682
+ "required": [
683
+ "fr",
684
+ "en"
685
+ ],
686
+ "properties": {
687
+ "fr": {
688
+ "type": "string",
689
+ "minLength": 1
690
+ },
691
+ "en": {
692
+ "type": "string",
693
+ "minLength": 1
694
+ }
695
+ }
696
+ },
697
+ "urls": {
698
+ "type": "object",
699
+ "additionalProperties": false,
700
+ "required": [
701
+ "webp"
702
+ ],
703
+ "properties": {
704
+ "svg": {
705
+ "type": "string",
706
+ "format": "uri",
707
+ "pattern": "^https://"
708
+ },
709
+ "webp": {
710
+ "type": "object",
711
+ "minProperties": 1,
712
+ "propertyNames": {
713
+ "pattern": "^\\d+$"
714
+ },
715
+ "additionalProperties": {
716
+ "type": "string",
717
+ "format": "uri",
718
+ "pattern": "^https://"
719
+ }
720
+ }
721
+ }
722
+ }
723
+ }
724
+ }
725
+ },
726
+ "banner": {
727
+ "type": "array",
728
+ "minItems": 1,
729
+ "uniqueItems": true,
730
+ "items": {
731
+ "type": "object",
732
+ "additionalProperties": false,
733
+ "required": [
734
+ "id",
735
+ "alt",
736
+ "urls"
737
+ ],
738
+ "properties": {
739
+ "id": {
740
+ "type": "string",
741
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
742
+ },
743
+ "alt": {
744
+ "type": "object",
745
+ "additionalProperties": false,
746
+ "required": [
747
+ "fr",
748
+ "en"
749
+ ],
750
+ "properties": {
751
+ "fr": {
752
+ "type": "string",
753
+ "minLength": 1
754
+ },
755
+ "en": {
756
+ "type": "string",
757
+ "minLength": 1
758
+ }
759
+ }
760
+ },
761
+ "urls": {
762
+ "type": "object",
763
+ "additionalProperties": false,
764
+ "required": [
765
+ "webp"
766
+ ],
767
+ "properties": {
768
+ "svg": {
769
+ "type": "string",
770
+ "format": "uri",
771
+ "pattern": "^https://"
772
+ },
773
+ "webp": {
774
+ "type": "object",
775
+ "minProperties": 1,
776
+ "propertyNames": {
777
+ "pattern": "^\\d+$"
778
+ },
779
+ "additionalProperties": {
780
+ "type": "string",
781
+ "format": "uri",
782
+ "pattern": "^https://"
783
+ }
784
+ }
785
+ }
786
+ }
787
+ }
788
+ }
789
+ }
790
+ }
791
+ }
792
+ }
793
+ },
794
+ "products": {
795
+ "type": "array",
796
+ "minItems": 1,
797
+ "items": {
798
+ "type": "object",
799
+ "additionalProperties": false,
800
+ "required": [
801
+ "id",
802
+ "name",
803
+ "status",
804
+ "url",
805
+ "repo"
806
+ ],
807
+ "properties": {
808
+ "id": {
809
+ "type": "string",
810
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
811
+ },
812
+ "name": {
813
+ "type": "string",
814
+ "minLength": 1
815
+ },
816
+ "status": {
817
+ "enum": [
818
+ "development",
819
+ "devPreview"
820
+ ]
821
+ },
822
+ "url": {
823
+ "type": "string",
824
+ "format": "uri",
825
+ "pattern": "^https://"
826
+ },
827
+ "repo": {
828
+ "type": "string",
829
+ "format": "uri",
830
+ "pattern": "^https://"
831
+ }
832
+ }
833
+ }
834
+ },
835
+ "sites": {
836
+ "type": "array",
837
+ "minItems": 1,
838
+ "items": {
839
+ "type": "object",
840
+ "additionalProperties": false,
841
+ "required": [
842
+ "id",
843
+ "name",
844
+ "url"
845
+ ],
846
+ "properties": {
847
+ "id": {
848
+ "type": "string",
849
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
850
+ },
851
+ "name": {
852
+ "type": "string",
853
+ "minLength": 1
854
+ },
855
+ "url": {
856
+ "type": "string",
857
+ "format": "uri",
858
+ "pattern": "^https://"
859
+ }
860
+ }
861
+ }
862
+ },
863
+ "contact": {
864
+ "type": "object",
865
+ "additionalProperties": false,
866
+ "required": [
867
+ "page",
868
+ "email"
869
+ ],
870
+ "properties": {
871
+ "page": {
872
+ "type": "object",
873
+ "additionalProperties": false,
874
+ "required": [
875
+ "fr",
876
+ "en"
877
+ ],
878
+ "properties": {
879
+ "fr": {
880
+ "type": "string",
881
+ "format": "uri",
882
+ "pattern": "^https://"
883
+ },
884
+ "en": {
885
+ "type": "string",
886
+ "format": "uri",
887
+ "pattern": "^https://"
888
+ }
889
+ }
890
+ },
891
+ "email": {
892
+ "type": [
893
+ "string",
894
+ "null"
895
+ ],
896
+ "format": "email"
897
+ }
898
+ }
899
+ },
900
+ "footer": {
901
+ "type": "object",
902
+ "additionalProperties": false,
903
+ "required": [
904
+ "line",
905
+ "legal"
906
+ ],
907
+ "properties": {
908
+ "line": {
909
+ "type": "object",
910
+ "additionalProperties": false,
911
+ "required": [
912
+ "fr",
913
+ "en"
914
+ ],
915
+ "properties": {
916
+ "fr": {
917
+ "type": "string",
918
+ "minLength": 1
919
+ },
920
+ "en": {
921
+ "type": "string",
922
+ "minLength": 1
923
+ }
924
+ }
925
+ },
926
+ "legal": {
927
+ "type": "array",
928
+ "minItems": 1,
929
+ "items": {
930
+ "type": "object",
931
+ "additionalProperties": false,
932
+ "required": [
933
+ "id",
934
+ "label",
935
+ "url"
936
+ ],
937
+ "properties": {
938
+ "id": {
939
+ "enum": [
940
+ "privacy",
941
+ "terms"
942
+ ]
943
+ },
944
+ "label": {
945
+ "type": "object",
946
+ "additionalProperties": false,
947
+ "required": [
948
+ "fr",
949
+ "en"
950
+ ],
951
+ "properties": {
952
+ "fr": {
953
+ "type": "string",
954
+ "minLength": 1
955
+ },
956
+ "en": {
957
+ "type": "string",
958
+ "minLength": 1
959
+ }
960
+ }
961
+ },
962
+ "url": {
963
+ "type": "object",
964
+ "additionalProperties": false,
965
+ "required": [
966
+ "fr",
967
+ "en"
968
+ ],
969
+ "properties": {
970
+ "fr": {
971
+ "type": "string",
972
+ "format": "uri",
973
+ "pattern": "^https://"
974
+ },
975
+ "en": {
976
+ "type": "string",
977
+ "format": "uri",
978
+ "pattern": "^https://"
979
+ }
980
+ }
981
+ }
982
+ }
983
+ }
984
+ }
985
+ }
986
+ }
987
+ }
988
+ }