@communecter/cocolight-api-client 1.0.122 → 1.0.124

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.
@@ -399,7 +399,7 @@ export interface GetElementsAboutData {
399
399
  /**
400
400
  * Type d'entité
401
401
  */
402
- type: "citoyens" | "projects" | "organizations" | "events" | "poi" | "badges" | "answers";
402
+ type: "citoyens" | "projects" | "organizations" | "events" | "poi" | "badges" | "answers" | "classifieds" | "forms";
403
403
  /**
404
404
  * ID de l'utilisateur ou de l'entité
405
405
  */
@@ -907,7 +907,7 @@ export interface GlobalAutocompleteData {
907
907
  /**
908
908
  * Types d'entités à inclure dans la recherche
909
909
  */
910
- searchType: ("NGO" | "LocalBusiness" | "Group" | "GovernmentOrganization" | "Cooperative" | "projects" | "citoyens" | "poi")[];
910
+ searchType: ("NGO" | "LocalBusiness" | "Group" | "GovernmentOrganization" | "Cooperative" | "projects" | "citoyens" | "poi" | "answers" | "forms")[];
911
911
  /**
912
912
  * Balises (tags) à utiliser pour filtrer la recherche
913
913
  */
@@ -915,7 +915,7 @@ export interface GlobalAutocompleteData {
915
915
  /**
916
916
  * Liste fixe des types à compter dans les résultats
917
917
  */
918
- countType: ("NGO" | "LocalBusiness" | "Group" | "GovernmentOrganization" | "Cooperative" | "projects" | "citoyens" | "poi")[];
918
+ countType: ("NGO" | "LocalBusiness" | "Group" | "GovernmentOrganization" | "Cooperative" | "projects" | "citoyens" | "poi" | "answers" | "forms")[];
919
919
  /**
920
920
  * Critère de recherche (actuellement vide)
921
921
  */
@@ -2450,22 +2450,6 @@ export interface AddFavorisData {
2450
2450
  */
2451
2451
  path: "preferences.search";
2452
2452
  arrayForm: true;
2453
- value: {
2454
- url: string;
2455
- name: string;
2456
- description?: string;
2457
- tags?: string[];
2458
- locality?: {
2459
- /**
2460
- * This interface was referenced by `undefined`'s JSON-Schema definition
2461
- * via the `patternProperty` "^[a-f0-9]{24}$".
2462
- */
2463
- [k: string]: {
2464
- name: string;
2465
- type: string;
2466
- };
2467
- };
2468
- };
2469
2453
  [k: string]: unknown;
2470
2454
  }
2471
2455
  export interface AddOrganizationData {
@@ -2543,6 +2527,36 @@ export interface AddOrganizationData {
2543
2527
  float: true;
2544
2528
  [k: string]: unknown;
2545
2529
  };
2530
+ costum?: {
2531
+ bannerImageUrl?: string;
2532
+ bannerLogoUrl?: string;
2533
+ bannerText?: string;
2534
+ /**
2535
+ * Pour bien indiquer que l'orga est un commune transparente
2536
+ */
2537
+ transparentCommune?: boolean;
2538
+ /**
2539
+ * Pour bien indiquer que l'orga est un centre ville
2540
+ */
2541
+ cocity?: boolean;
2542
+ slug?: string;
2543
+ typeCocity?: string;
2544
+ [k: string]: unknown;
2545
+ };
2546
+ /**
2547
+ * Thématiques de l’organisation
2548
+ */
2549
+ thematic?: string[];
2550
+ /**
2551
+ * Dictionnaire de filières par thématique
2552
+ */
2553
+ filiere?: {
2554
+ [k: string]: {
2555
+ name: string;
2556
+ icon: string;
2557
+ tags: string[];
2558
+ };
2559
+ };
2546
2560
  address?: {
2547
2561
  "@type": "PostalAddress";
2548
2562
  addressCountry: string;
@@ -2571,6 +2585,216 @@ export interface AddOrganizationData {
2571
2585
  streetAddress?: string;
2572
2586
  };
2573
2587
  scope: "";
2588
+ /**
2589
+ * Nom de la structure porteuse (différent du nom du tiers-lieu)
2590
+ */
2591
+ holderOrganization?: string;
2592
+ /**
2593
+ * Mode de gestion (Association, Collectif citoyen, SCIC, etc.)
2594
+ */
2595
+ manageModel?: string;
2596
+ /**
2597
+ * Famille(s) de tiers-lieux (Coworking, Fablab, Foodlab, etc.)
2598
+ */
2599
+ typePlace?: string;
2600
+ /**
2601
+ * Réseau accompagnateur (ex: Compagnon France Tiers-Lieux)
2602
+ */
2603
+ compagnon?: string;
2604
+ /**
2605
+ * Surface bâtie en m²
2606
+ */
2607
+ buildingSurfaceArea?: number;
2608
+ /**
2609
+ * Surface extérieure en m²
2610
+ */
2611
+ siteSurfaceArea?: number;
2612
+ /**
2613
+ * Date d'ouverture du tiers-lieu (format libre, ex: 05/05/2026)
2614
+ */
2615
+ openingDate?: string;
2616
+ /**
2617
+ * Horaires d'ouverture (7 entrées, une par jour de la semaine ; "" pour un jour fermé). Doit rester synchronisé avec VIRTUAL_OPENING_HOURS dans Organization.ts.
2618
+ *
2619
+ * @minItems 7
2620
+ * @maxItems 7
2621
+ */
2622
+ openingHours?: [
2623
+ ("" | {
2624
+ /**
2625
+ * Jour de la semaine
2626
+ */
2627
+ dayOfWeek: "Mo" | "Tu" | "We" | "Th" | "Fr" | "Sa" | "Su";
2628
+ /**
2629
+ * Liste des créneaux horaires
2630
+ */
2631
+ hours: {
2632
+ /**
2633
+ * Heure d'ouverture (HH:MM)
2634
+ */
2635
+ opens: string;
2636
+ /**
2637
+ * Heure de fermeture (HH:MM)
2638
+ */
2639
+ closes: string;
2640
+ }[];
2641
+ }),
2642
+ ("" | {
2643
+ /**
2644
+ * Jour de la semaine
2645
+ */
2646
+ dayOfWeek: "Mo" | "Tu" | "We" | "Th" | "Fr" | "Sa" | "Su";
2647
+ /**
2648
+ * Liste des créneaux horaires
2649
+ */
2650
+ hours: {
2651
+ /**
2652
+ * Heure d'ouverture (HH:MM)
2653
+ */
2654
+ opens: string;
2655
+ /**
2656
+ * Heure de fermeture (HH:MM)
2657
+ */
2658
+ closes: string;
2659
+ }[];
2660
+ }),
2661
+ ("" | {
2662
+ /**
2663
+ * Jour de la semaine
2664
+ */
2665
+ dayOfWeek: "Mo" | "Tu" | "We" | "Th" | "Fr" | "Sa" | "Su";
2666
+ /**
2667
+ * Liste des créneaux horaires
2668
+ */
2669
+ hours: {
2670
+ /**
2671
+ * Heure d'ouverture (HH:MM)
2672
+ */
2673
+ opens: string;
2674
+ /**
2675
+ * Heure de fermeture (HH:MM)
2676
+ */
2677
+ closes: string;
2678
+ }[];
2679
+ }),
2680
+ ("" | {
2681
+ /**
2682
+ * Jour de la semaine
2683
+ */
2684
+ dayOfWeek: "Mo" | "Tu" | "We" | "Th" | "Fr" | "Sa" | "Su";
2685
+ /**
2686
+ * Liste des créneaux horaires
2687
+ */
2688
+ hours: {
2689
+ /**
2690
+ * Heure d'ouverture (HH:MM)
2691
+ */
2692
+ opens: string;
2693
+ /**
2694
+ * Heure de fermeture (HH:MM)
2695
+ */
2696
+ closes: string;
2697
+ }[];
2698
+ }),
2699
+ ("" | {
2700
+ /**
2701
+ * Jour de la semaine
2702
+ */
2703
+ dayOfWeek: "Mo" | "Tu" | "We" | "Th" | "Fr" | "Sa" | "Su";
2704
+ /**
2705
+ * Liste des créneaux horaires
2706
+ */
2707
+ hours: {
2708
+ /**
2709
+ * Heure d'ouverture (HH:MM)
2710
+ */
2711
+ opens: string;
2712
+ /**
2713
+ * Heure de fermeture (HH:MM)
2714
+ */
2715
+ closes: string;
2716
+ }[];
2717
+ }),
2718
+ ("" | {
2719
+ /**
2720
+ * Jour de la semaine
2721
+ */
2722
+ dayOfWeek: "Mo" | "Tu" | "We" | "Th" | "Fr" | "Sa" | "Su";
2723
+ /**
2724
+ * Liste des créneaux horaires
2725
+ */
2726
+ hours: {
2727
+ /**
2728
+ * Heure d'ouverture (HH:MM)
2729
+ */
2730
+ opens: string;
2731
+ /**
2732
+ * Heure de fermeture (HH:MM)
2733
+ */
2734
+ closes: string;
2735
+ }[];
2736
+ }),
2737
+ ("" | {
2738
+ /**
2739
+ * Jour de la semaine
2740
+ */
2741
+ dayOfWeek: "Mo" | "Tu" | "We" | "Th" | "Fr" | "Sa" | "Su";
2742
+ /**
2743
+ * Liste des créneaux horaires
2744
+ */
2745
+ hours: {
2746
+ /**
2747
+ * Heure d'ouverture (HH:MM)
2748
+ */
2749
+ opens: string;
2750
+ /**
2751
+ * Heure de fermeture (HH:MM)
2752
+ */
2753
+ closes: string;
2754
+ }[];
2755
+ })
2756
+ ];
2757
+ /**
2758
+ * URLs de vidéos de présentation
2759
+ */
2760
+ video?: string[];
2761
+ /**
2762
+ * Numéro de téléphone de contact
2763
+ */
2764
+ telephone?: string;
2765
+ /**
2766
+ * Description longue (markdown supporté)
2767
+ */
2768
+ description?: string;
2769
+ /**
2770
+ * Source d'insertion (costum)
2771
+ */
2772
+ source?: {
2773
+ insertOrign?: string;
2774
+ keys?: string[];
2775
+ key?: string;
2776
+ [k: string]: unknown;
2777
+ };
2778
+ /**
2779
+ * Tag principal (ex: TiersLieux)
2780
+ */
2781
+ mainTag?: string;
2782
+ /**
2783
+ * Slug du costum d'origine
2784
+ */
2785
+ costumSlug?: string;
2786
+ /**
2787
+ * ID Mongo du costum d'origine
2788
+ */
2789
+ costumId?: string;
2790
+ /**
2791
+ * Type d'entité du costum (ex: projects)
2792
+ */
2793
+ costumType?: string;
2794
+ /**
2795
+ * Mode édition costum
2796
+ */
2797
+ costumEditMode?: boolean;
2574
2798
  [k: string]: unknown;
2575
2799
  }
2576
2800
  export interface AddProjectData {
@@ -3647,7 +3871,7 @@ export interface GlobalAutocompleteCostumData {
3647
3871
  /**
3648
3872
  * Types d'entités à inclure dans la recherche
3649
3873
  */
3650
- searchType: ("NGO" | "LocalBusiness" | "Group" | "GovernmentOrganization" | "Cooperative" | "organizations" | "projects" | "events" | "citoyens" | "poi")[];
3874
+ searchType: ("NGO" | "LocalBusiness" | "Group" | "GovernmentOrganization" | "Cooperative" | "organizations" | "projects" | "events" | "citoyens" | "poi" | "answers" | "forms" | "classifieds")[];
3651
3875
  /**
3652
3876
  * Balises (tags) à utiliser pour filtrer la recherche
3653
3877
  */
@@ -3655,7 +3879,7 @@ export interface GlobalAutocompleteCostumData {
3655
3879
  /**
3656
3880
  * Liste fixe des types à compter dans les résultats
3657
3881
  */
3658
- countType: ("NGO" | "LocalBusiness" | "Group" | "GovernmentOrganization" | "Cooperative" | "organizations" | "projects" | "events" | "citoyens" | "poi")[];
3882
+ countType: ("NGO" | "LocalBusiness" | "Group" | "GovernmentOrganization" | "Cooperative" | "organizations" | "projects" | "events" | "citoyens" | "poi" | "answers" | "forms" | "classifieds")[];
3659
3883
  /**
3660
3884
  * Critère de recherche (actuellement vide)
3661
3885
  */
@@ -4591,12 +4815,20 @@ export interface UpdatePathValueData {
4591
4815
  /**
4592
4816
  * Collection de l’entité
4593
4817
  */
4594
- collection: "citoyens" | "organizations" | "projects" | "events" | "poi" | "answers" | "forms";
4818
+ collection: "citoyens" | "organizations" | "projects" | "events" | "poi" | "answers" | "forms" | "actions";
4595
4819
  /**
4596
4820
  * Chemin de la valeur à mettre à jour
4597
4821
  */
4598
4822
  path: string;
4823
+ /**
4824
+ * Chemin parent utilise pour une suppression (pull)
4825
+ */
4826
+ pull?: string;
4599
4827
  arrayForm?: boolean;
4828
+ setType?: string | {
4829
+ path: string;
4830
+ type: string;
4831
+ }[];
4600
4832
  /**
4601
4833
  * Valeur à mettre à jour (peut être un objet, un tableau, une chaîne, etc.)
4602
4834
  */
@@ -4784,3 +5016,252 @@ export interface FundingEnvelopeData {
4784
5016
  };
4785
5017
  [k: string]: unknown;
4786
5018
  }
5019
+ export interface CoremuOperationData {
5020
+ /**
5021
+ * ID du formulaire
5022
+ */
5023
+ form: string;
5024
+ /**
5025
+ * Nouvelle réponse à créer
5026
+ */
5027
+ answer: "new";
5028
+ /**
5029
+ * Action à exécuter
5030
+ */
5031
+ action: "generateproposition";
5032
+ /**
5033
+ * ID du projet
5034
+ */
5035
+ project: string;
5036
+ [k: string]: unknown;
5037
+ }
5038
+ export interface CostumProjectActionRequestNewData {
5039
+ /**
5040
+ * Nom de l'action
5041
+ */
5042
+ name: string;
5043
+ /**
5044
+ * Statut de l'action
5045
+ */
5046
+ status: string;
5047
+ /**
5048
+ * ID du projet parent
5049
+ */
5050
+ parentId: string;
5051
+ /**
5052
+ * Type du parent
5053
+ */
5054
+ parentType: "projects";
5055
+ /**
5056
+ * Montant financé
5057
+ */
5058
+ credits: number;
5059
+ /**
5060
+ * ID du jalon associé
5061
+ */
5062
+ "milestone[milestoneId]": string;
5063
+ [k: string]: unknown;
5064
+ }
5065
+ export interface LinkDiscourseAccountData {
5066
+ /**
5067
+ * Nom d'utilisateur du compte Discourse
5068
+ */
5069
+ username: string;
5070
+ /**
5071
+ * Slug du costume
5072
+ */
5073
+ costumSlug: string;
5074
+ /**
5075
+ * ID du costume
5076
+ */
5077
+ costumId: string;
5078
+ /**
5079
+ * Type du costume
5080
+ */
5081
+ costumType: string;
5082
+ [k: string]: unknown;
5083
+ }
5084
+ export interface UnlinkDiscourseAccountData {
5085
+ /**
5086
+ * Slug du costume
5087
+ */
5088
+ costumSlug: string;
5089
+ /**
5090
+ * ID du costume
5091
+ */
5092
+ costumId: string;
5093
+ /**
5094
+ * Type du costume
5095
+ */
5096
+ costumType: string;
5097
+ [k: string]: unknown;
5098
+ }
5099
+ export interface DiscourseProfileData {
5100
+ /**
5101
+ * Nom d'utilisateur du compte Discourse
5102
+ */
5103
+ username: string;
5104
+ /**
5105
+ * Slug du costume
5106
+ */
5107
+ costumSlug: string;
5108
+ /**
5109
+ * ID du costume
5110
+ */
5111
+ costumId: string;
5112
+ /**
5113
+ * Type du costume
5114
+ */
5115
+ costumType: string;
5116
+ [k: string]: unknown;
5117
+ }
5118
+ export interface DiscourseCheckEmailData {
5119
+ /**
5120
+ * Slug du costume
5121
+ */
5122
+ costumSlug: string;
5123
+ /**
5124
+ * ID du costume
5125
+ */
5126
+ costumId: string;
5127
+ /**
5128
+ * Type du costume
5129
+ */
5130
+ costumType: string;
5131
+ [k: string]: unknown;
5132
+ }
5133
+ export interface DiscourseDismissLinkData {
5134
+ /**
5135
+ * Slug du costume
5136
+ */
5137
+ costumSlug: string;
5138
+ /**
5139
+ * ID du costume
5140
+ */
5141
+ costumId: string;
5142
+ /**
5143
+ * Type du costume
5144
+ */
5145
+ costumType: string;
5146
+ [k: string]: unknown;
5147
+ }
5148
+ export interface LinkMediawikiAccountData {
5149
+ /**
5150
+ * Nom d'utilisateur du compte MediaWiki
5151
+ */
5152
+ username: string;
5153
+ /**
5154
+ * Slug du costume
5155
+ */
5156
+ costumSlug: string;
5157
+ /**
5158
+ * ID du costume
5159
+ */
5160
+ costumId: string;
5161
+ /**
5162
+ * Type du costume
5163
+ */
5164
+ costumType: string;
5165
+ [k: string]: unknown;
5166
+ }
5167
+ export interface UnlinkMediawikiAccountData {
5168
+ /**
5169
+ * Slug du costume
5170
+ */
5171
+ costumSlug: string;
5172
+ /**
5173
+ * ID du costume
5174
+ */
5175
+ costumId: string;
5176
+ /**
5177
+ * Type du costume
5178
+ */
5179
+ costumType: string;
5180
+ [k: string]: unknown;
5181
+ }
5182
+ export interface GetMediawikiContributionsData {
5183
+ /**
5184
+ * Nom d'utilisateur du compte MediaWiki
5185
+ */
5186
+ username: string;
5187
+ /**
5188
+ * Nombre maximum de contributions à retourner
5189
+ */
5190
+ limit?: number;
5191
+ /**
5192
+ * Slug du costume
5193
+ */
5194
+ costumSlug: string;
5195
+ /**
5196
+ * ID du costume
5197
+ */
5198
+ costumId: string;
5199
+ /**
5200
+ * Type du costume
5201
+ */
5202
+ costumType: string;
5203
+ [k: string]: unknown;
5204
+ }
5205
+ export interface AddClassifiedData {
5206
+ id: string;
5207
+ collection: "classifieds";
5208
+ key: "classified";
5209
+ name: string;
5210
+ section: "need" | "offer";
5211
+ category: "service" | "competence" | "material";
5212
+ subtype: string;
5213
+ /**
5214
+ * Objet contenant les entités parentes (clé = ID). Si absent, le default pose l'utilisateur connecté comme parent.
5215
+ */
5216
+ parent?: {
5217
+ /**
5218
+ * This interface was referenced by `undefined`'s JSON-Schema definition
5219
+ * via the `patternProperty` "^(?:[a-f0-9]{24}|@userId)$".
5220
+ */
5221
+ [k: string]: {
5222
+ type: string;
5223
+ name?: string;
5224
+ };
5225
+ };
5226
+ description?: string;
5227
+ tags?: string[];
5228
+ preferences?: {
5229
+ isOpenData: boolean;
5230
+ isOpenEdition: boolean;
5231
+ [k: string]: unknown;
5232
+ };
5233
+ geo?: {
5234
+ "@type"?: "GeoCoordinates";
5235
+ latitude: string | number;
5236
+ longitude: string | number;
5237
+ };
5238
+ geoPosition?: {
5239
+ type: "Point";
5240
+ /**
5241
+ * @minItems 2
5242
+ * @maxItems 2
5243
+ */
5244
+ coordinates: [number, number];
5245
+ float: true;
5246
+ [k: string]: unknown;
5247
+ };
5248
+ address?: {
5249
+ "@type": "PostalAddress";
5250
+ addressCountry: string;
5251
+ codeInsee: string;
5252
+ addressLocality: string;
5253
+ localityId: string;
5254
+ level1: string;
5255
+ level1Name: string;
5256
+ level2?: string;
5257
+ level2Name?: string;
5258
+ level3?: string;
5259
+ level3Name?: string;
5260
+ level4?: string;
5261
+ level4Name?: string;
5262
+ postalCode?: string;
5263
+ streetAddress?: string;
5264
+ };
5265
+ scope: "";
5266
+ [k: string]: unknown;
5267
+ }
@@ -1,5 +1,5 @@
1
1
  import type { CollectionType } from "../types/entities.js";
2
- export type EntityTag = "User" | "Organization" | "Project" | "Event" | "Poi" | "Badge" | "News" | "Comment" | "Answer" | "Form";
2
+ export type EntityTag = "User" | "Organization" | "Project" | "Event" | "Poi" | "Badge" | "News" | "Comment" | "Answer" | "Form" | "Classified";
3
3
  export type CollectionKey = CollectionType;
4
4
  type BaseEntity = import("./BaseEntity.js").BaseEntity<any>;
5
5
  type ApiClient = import("../ApiClient.js").default;
@@ -67,7 +67,7 @@ export declare class Organization extends BaseEntity<OrganizationItemNormalized>
67
67
  readonly updateMethod: "updateOpeningHours";
68
68
  readonly schemaConstant: "VIRTUAL_OPENING_HOURS";
69
69
  }>;
70
- static ADD_BLOCKS: Map<"PROFIL_IMAGE" | "ADD_ORGANIZATION", "updateImageProfil" | "addOrganization">;
70
+ static ADD_BLOCKS: Map<"UPDATE_BLOCK_SOCIAL" | "PROFIL_IMAGE" | "ADD_ORGANIZATION", "updateImageProfil" | "updateSocial" | "addOrganization">;
71
71
  static UPDATE_BLOCKS: Map<"UPDATE_BLOCK_DESCRIPTION" | "UPDATE_BLOCK_INFO" | "UPDATE_BLOCK_SOCIAL" | "UPDATE_BLOCK_LOCALITY" | "UPDATE_BLOCK_SLUG" | "PROFIL_IMAGE", "updateImageProfil" | "updateDescription" | "updateSocial" | "updateLocality" | "updateInfo" | "updateSlug">;
72
72
  defaultFields: Record<string, any>;
73
73
  removeFields: string[];
@@ -9,6 +9,7 @@ export declare class Poi extends BaseEntity<PoiItemNormalized> {
9
9
  static UPDATE_BLOCKS: Map<"UPDATE_BLOCK_DESCRIPTION" | "UPDATE_BLOCK_INFO" | "UPDATE_BLOCK_LOCALITY" | "UPDATE_BLOCK_SLUG" | "PROFIL_IMAGE", "updateImageProfil" | "updateDescription" | "updateLocality" | "updateInfo" | "updateSlug">;
10
10
  defaultFields: Record<string, any>;
11
11
  removeFields: string[];
12
+ transforms: Record<string, (val: any, full?: any) => any>;
12
13
  _add: (payload: Record<string, any>) => Promise<void>;
13
14
  _update: (payload: Record<string, any>) => Promise<boolean>;
14
15
  addPoi(data?: Partial<AddPoiData>): Promise<unknown>;
@@ -45,6 +45,7 @@ export declare class User extends BaseEntity<UserItemNormalized> {
45
45
  News: typeof import("./News.js").News;
46
46
  Comment: typeof import("./Comment.js").Comment;
47
47
  Answer: typeof import("./Answer.js").Answer;
48
+ Classified?: typeof import("./Classified.js").Classified;
48
49
  });
49
50
  get slug(): any;
50
51
  get isMe(): boolean;
@@ -0,0 +1,72 @@
1
+ import type { GeoCoordinates, GeoPosition, IdObject, ParentsMap, PostalAddress, DateValue } from "./common.js";
2
+ import type EJSONType from "../../EJSONType.js";
3
+ type ObjectIDCtor = typeof EJSONType["ObjectID"];
4
+ type ObjectID = InstanceType<ObjectIDCtor>;
5
+ export declare const CLASSIFIED_SECTIONS: readonly ["need", "offer"];
6
+ export type ClassifiedSection = (typeof CLASSIFIED_SECTIONS)[number];
7
+ export declare const CLASSIFIED_CATEGORIES: readonly ["service", "competence", "material"];
8
+ export type ClassifiedCategory = (typeof CLASSIFIED_CATEGORIES)[number];
9
+ export interface ClassifiedSubcatEntry {
10
+ key: string;
11
+ label: string;
12
+ icon: string;
13
+ }
14
+ export interface ClassifiedCategoryDef {
15
+ key: ClassifiedCategory;
16
+ icon: string;
17
+ label: string;
18
+ subcat: Record<string, ClassifiedSubcatEntry>;
19
+ }
20
+ export declare const CLASSIFIED_SUBCATEGORIES: Record<ClassifiedCategory, ClassifiedCategoryDef>;
21
+ export type ServiceSubcat = keyof typeof CLASSIFIED_SUBCATEGORIES.service.subcat;
22
+ export type CompetenceSubcat = keyof typeof CLASSIFIED_SUBCATEGORIES.competence.subcat;
23
+ export type MaterialSubcat = keyof typeof CLASSIFIED_SUBCATEGORIES.material.subcat;
24
+ export type ClassifiedSubcat = ServiceSubcat | CompetenceSubcat | MaterialSubcat;
25
+ export interface ClassifiedItemJson {
26
+ _id: IdObject;
27
+ collection: "classifieds";
28
+ name: string;
29
+ section: ClassifiedSection;
30
+ category: ClassifiedCategory;
31
+ subtype: ClassifiedSubcat;
32
+ created?: DateValue;
33
+ updated?: DateValue;
34
+ modified?: DateValue;
35
+ parent?: ParentsMap;
36
+ description?: string;
37
+ slug?: string;
38
+ address?: PostalAddress;
39
+ geo?: GeoCoordinates;
40
+ geoPosition?: GeoPosition;
41
+ tags?: string[];
42
+ creator?: string;
43
+ profilImageUrl?: string;
44
+ profilMediumImageUrl?: string;
45
+ profilThumbImageUrl?: string;
46
+ [key: string]: unknown;
47
+ }
48
+ export interface ClassifiedItemNormalized {
49
+ id: string;
50
+ _id: ObjectID;
51
+ collection: "classifieds";
52
+ name: string;
53
+ section: ClassifiedSection;
54
+ category: ClassifiedCategory;
55
+ subtype: ClassifiedSubcat;
56
+ created?: Date;
57
+ updated?: Date;
58
+ modified?: Date;
59
+ parent?: ParentsMap;
60
+ description?: string;
61
+ slug?: string;
62
+ address?: PostalAddress;
63
+ geo?: GeoCoordinates;
64
+ geoPosition?: GeoPosition;
65
+ tags?: string[];
66
+ creator?: string;
67
+ profilImageUrl?: string;
68
+ profilMediumImageUrl?: string;
69
+ profilThumbImageUrl?: string;
70
+ [key: string]: unknown;
71
+ }
72
+ export {};