@everipedia/iq-utils 0.4.4 → 1.0.1

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/main/data/constants.d.ts +18 -0
  3. package/build/main/data/constants.js +20 -2
  4. package/build/main/index.d.ts +1 -0
  5. package/build/main/index.js +2 -1
  6. package/build/main/lib/checkWikiValidity.d.ts +1 -1
  7. package/build/main/lib/checkWikiValidity.js +12 -9
  8. package/build/main/lib/helpers/wiki.helpers.d.ts +32 -0
  9. package/build/main/lib/helpers/wiki.helpers.js +86 -0
  10. package/build/main/lib/wikiScore.d.ts +1 -1
  11. package/build/main/lib/wikiScore.js +34 -49
  12. package/build/main/schema/wiki.schema.d.ts +798 -0
  13. package/build/main/schema/wiki.schema.js +289 -0
  14. package/build/main/types/wiki.d.ts +5 -205
  15. package/build/main/types/wiki.js +10 -172
  16. package/build/main/types/wikiBuilder.d.ts +1 -1
  17. package/build/module/data/constants.d.ts +18 -0
  18. package/build/module/data/constants.js +19 -1
  19. package/build/module/index.d.ts +1 -0
  20. package/build/module/index.js +2 -1
  21. package/build/module/lib/checkWikiValidity.d.ts +1 -1
  22. package/build/module/lib/checkWikiValidity.js +13 -13
  23. package/build/module/lib/helpers/wiki.helpers.d.ts +32 -0
  24. package/build/module/lib/helpers/wiki.helpers.js +75 -0
  25. package/build/module/lib/wikiScore.d.ts +1 -1
  26. package/build/module/lib/wikiScore.js +4 -19
  27. package/build/module/schema/wiki.schema.d.ts +798 -0
  28. package/build/module/schema/wiki.schema.js +286 -0
  29. package/build/module/types/wiki.d.ts +5 -205
  30. package/build/module/types/wiki.js +9 -171
  31. package/build/module/types/wikiBuilder.d.ts +1 -1
  32. package/package.json +52 -51
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReferenceSchema = exports.WikiSchema = exports.BaseEventsSchema = exports.MediaSchema = exports.ImageSchema = exports.CategoryEnum = exports.TagEnum = exports.ValidatorCodes = exports.WikiPossibleSocialsList = exports.CommonMetaIdsEnum = exports.MediaSourceEnum = exports.MediaTypeEnum = void 0;
4
+ const zod_1 = require("zod");
5
+ const constants_1 = require("../data/constants");
6
+ const wiki_helpers_1 = require("../lib/helpers/wiki.helpers");
7
+ /**
8
+ * ========================
9
+ * ===== Enum Schemas =====
10
+ * ========================
11
+ */
12
+ exports.MediaTypeEnum = zod_1.z.enum(["GALLERY", "ICON"]);
13
+ exports.MediaSourceEnum = zod_1.z.enum([
14
+ "IPFS_IMG",
15
+ "VIMEO",
16
+ "YOUTUBE",
17
+ "IPFS_VID",
18
+ ]);
19
+ exports.CommonMetaIdsEnum = zod_1.z.enum([
20
+ "references",
21
+ "website",
22
+ "contract_url",
23
+ "location",
24
+ "email_url",
25
+ "facebook_profile",
26
+ "instagram_profile",
27
+ "twitter_profile",
28
+ "linkedin_profile",
29
+ "youtube_profile",
30
+ "discord_profile",
31
+ "reddit_profile",
32
+ "telegram_profile",
33
+ "github_profile",
34
+ "coinmarketcap_url",
35
+ "coingecko_profile",
36
+ "opensea_profile",
37
+ "medium_profile",
38
+ "mirror_profile",
39
+ "tiktok_profile",
40
+ "etherscan_profile",
41
+ "arbiscan_profile",
42
+ "polygonscan_profile",
43
+ "bscscan_profile",
44
+ "optimistic_etherscan_profile",
45
+ "basescan_profile",
46
+ "ftmscan_profile",
47
+ "solscan_profile",
48
+ "avascan_profile",
49
+ "nearblocks_profile",
50
+ "troscan_profile",
51
+ "xrpscan_profile",
52
+ "kavascan_profile",
53
+ "tonscan_profile",
54
+ "celoscan_profile",
55
+ "cronoscan_profile",
56
+ "zkscan_profile",
57
+ "explorer_injective_profile",
58
+ "blastscan_profile",
59
+ ]);
60
+ exports.WikiPossibleSocialsList = Object.values(exports.CommonMetaIdsEnum.enum);
61
+ const EditSpecificMetaIdsEnum = zod_1.z.enum([
62
+ "previous_cid",
63
+ "commit-message",
64
+ "words-changed",
65
+ "percent-changed",
66
+ "blocks-changed",
67
+ "wiki-score",
68
+ ]);
69
+ exports.ValidatorCodes = zod_1.z.enum([
70
+ "VALID_WIKI",
71
+ "ID_ERROR",
72
+ "LANGUAGE_ERROR",
73
+ "USER_ERROR",
74
+ "WORD_COUNT_ERROR",
75
+ "CATEGORY_ERROR",
76
+ "SUMMARY_ERROR",
77
+ "IMAGE_ERROR",
78
+ "TAG_ERROR",
79
+ "EXTERNAL_URL_ERROR",
80
+ "METADATA_ERROR",
81
+ "MEDIA_ERROR",
82
+ "GLOBAL_RATE_LIMIT",
83
+ "LINKED_WIKIS",
84
+ "EVENTS_ERROR",
85
+ ]);
86
+ const LanguagesISOEnum = zod_1.z.enum(["en", "es", "zh", "ko"]);
87
+ const LinkedWikiKeyEnum = zod_1.z.enum(["founders", "blockchains", "speakers"]);
88
+ const EventTypeEnum = zod_1.z.enum(["CREATED", "DEFAULT", "MULTIDATE"]);
89
+ exports.TagEnum = zod_1.z.enum([
90
+ "Artists",
91
+ "AI",
92
+ "BinanceSmartChain",
93
+ "Blockchains",
94
+ "CEXes",
95
+ "Collections",
96
+ "Collectors",
97
+ "Conference",
98
+ "DEXes",
99
+ "Developers",
100
+ "Entertainment",
101
+ "Ethereum",
102
+ "Events",
103
+ "Forum",
104
+ "Founders",
105
+ "Festival",
106
+ "Games",
107
+ "Glossary",
108
+ "Hackathon",
109
+ "Marketplaces",
110
+ "Memecoins",
111
+ "Organizations",
112
+ "Online",
113
+ "PeopleInDeFi",
114
+ "Polkadot",
115
+ "Polygon",
116
+ "Protocols",
117
+ "Solana",
118
+ "Speakers",
119
+ "Stablecoins",
120
+ "Venture",
121
+ ]);
122
+ exports.CategoryEnum = zod_1.z.enum([
123
+ "nfts",
124
+ "defi",
125
+ "exchanges",
126
+ "cryptocurrencies",
127
+ "daos",
128
+ "people",
129
+ "dapps",
130
+ "organizations",
131
+ ]);
132
+ /**
133
+ * ==============================
134
+ * ===== Supporting Schemas =====
135
+ * ==============================
136
+ */
137
+ const ProfileLinksSchema = zod_1.z.object({
138
+ twitter: zod_1.z.string().nullable(),
139
+ website: zod_1.z.string().nullable(),
140
+ instagram: zod_1.z.string().nullable(),
141
+ });
142
+ const ProfileDataSchema = zod_1.z.object({
143
+ id: zod_1.z.string().nullable(),
144
+ username: zod_1.z.string().nullable(),
145
+ bio: zod_1.z.string().nullable(),
146
+ links: zod_1.z.array(ProfileLinksSchema).nullable(),
147
+ banner: zod_1.z.string().nullable(),
148
+ avatar: zod_1.z.string().nullable(),
149
+ });
150
+ exports.ImageSchema = zod_1.z.object({
151
+ id: zod_1.z.string(),
152
+ type: zod_1.z.string(),
153
+ });
154
+ exports.MediaSchema = zod_1.z.object({
155
+ id: zod_1.z.string(),
156
+ size: zod_1.z.string().nullish(),
157
+ name: zod_1.z.string().nullish(),
158
+ type: exports.MediaTypeEnum.nullish(),
159
+ caption: zod_1.z.string().nullish(),
160
+ thumbnail: zod_1.z.string().nullish(),
161
+ source: exports.MediaSourceEnum,
162
+ });
163
+ const MetaDataSchema = zod_1.z.object({
164
+ id: zod_1.z.union([exports.CommonMetaIdsEnum, EditSpecificMetaIdsEnum]),
165
+ value: zod_1.z.any(),
166
+ });
167
+ const BaseCategorySchema = zod_1.z.object({
168
+ id: exports.CategoryEnum,
169
+ title: zod_1.z.string(),
170
+ });
171
+ exports.BaseEventsSchema = zod_1.z.object({
172
+ id: zod_1.z.string().optional().nullable(),
173
+ date: zod_1.z.string().nullable(),
174
+ title: zod_1.z.string().optional().nullable(),
175
+ type: EventTypeEnum.nullable(),
176
+ description: zod_1.z.string().optional().nullable(),
177
+ link: zod_1.z.string().optional().nullable(),
178
+ multiDateStart: zod_1.z.string().optional().nullable(),
179
+ multiDateEnd: zod_1.z.string().optional().nullable(),
180
+ continent: zod_1.z.string().optional().nullable(),
181
+ country: zod_1.z.string().optional().nullable(),
182
+ action: zod_1.z.enum(["DELETE", "EDIT", "CREATE"]).optional().nullable(),
183
+ });
184
+ const WikiReference = zod_1.z.object({
185
+ id: zod_1.z.string(),
186
+ title: zod_1.z.string(),
187
+ });
188
+ /**
189
+ * ========================
190
+ * ===== Core Schemas =====
191
+ * ========================
192
+ */
193
+ exports.WikiSchema = zod_1.z
194
+ .object({
195
+ id: zod_1.z.string(),
196
+ title: zod_1.z
197
+ .string()
198
+ .min(1, "Add a Title at the top for this Wiki to continue")
199
+ .max(constants_1.WIKI_TITLE_MAX_LENGTH, `Title should be less than ${constants_1.WIKI_TITLE_MAX_LENGTH} characters`),
200
+ ipfs: zod_1.z.string().optional(),
201
+ content: zod_1.z
202
+ .string()
203
+ .min(1, "Add a Content section to continue")
204
+ .refine((content) => (0, wiki_helpers_1.countWords)(content) >= constants_1.WIKI_CONTENT_MIN_WORDS, `Add a minimum of ${constants_1.WIKI_CONTENT_MIN_WORDS} words in the content section to continue`)
205
+ .refine(wiki_helpers_1.areContentLinksVerified, "Please remove all external links from the content"),
206
+ summary: zod_1.z
207
+ .string()
208
+ .max(constants_1.WIKI_SUMMARY_MAX_LENGTH, `Summary exceeds maximum limit of ${constants_1.WIKI_SUMMARY_MAX_LENGTH}`),
209
+ images: zod_1.z
210
+ .array(exports.ImageSchema)
211
+ .min(1, "Add a main image on the right column to continue"),
212
+ categories: zod_1.z
213
+ .array(BaseCategorySchema)
214
+ .min(1, "Add one category to continue"),
215
+ tags: zod_1.z
216
+ .array(zod_1.z.object({
217
+ id: zod_1.z.string(),
218
+ }))
219
+ .transform((tags) => tags.map((tag) => ({
220
+ id: exports.TagEnum.parse(tag.id),
221
+ })))
222
+ .refine((tags) => {
223
+ const invalidTags = tags.filter((tag) => !exports.TagEnum.safeParse(tag.id).success);
224
+ if (invalidTags.length > 0) {
225
+ throw new Error(`Invalid tag(s) found: ${invalidTags.map((tag) => tag.id).join(", ")}`);
226
+ }
227
+ return true;
228
+ }, {
229
+ message: "Invalid tag(s) found",
230
+ }),
231
+ media: zod_1.z
232
+ .array(exports.MediaSchema)
233
+ .max(constants_1.MAX_MEDIA_COUNT)
234
+ .refine((media) => {
235
+ if (!media)
236
+ return true;
237
+ return (0, wiki_helpers_1.validateMediaContent)(media) && (0, wiki_helpers_1.validateMediaCount)(media);
238
+ }, "Media is invalid")
239
+ .optional(),
240
+ metadata: zod_1.z.array(MetaDataSchema).refine((metadata) => {
241
+ const references = metadata.find((meta) => meta.id === exports.CommonMetaIdsEnum.Enum.references);
242
+ return !(references === null || references === void 0 ? void 0 : references.value) || references.value.length > 0;
243
+ }, "Please add at least one citation"),
244
+ events: zod_1.z.array(exports.BaseEventsSchema).optional().nullable(),
245
+ user: zod_1.z.object({
246
+ id: zod_1.z.string(),
247
+ profile: ProfileDataSchema.nullable(),
248
+ }),
249
+ author: zod_1.z.object({
250
+ id: zod_1.z.string(),
251
+ profile: ProfileDataSchema.nullable(),
252
+ }),
253
+ language: LanguagesISOEnum.default(LanguagesISOEnum.Enum.en),
254
+ version: zod_1.z.number().default(1),
255
+ hidden: zod_1.z.boolean().default(false),
256
+ promoted: zod_1.z.number().default(0),
257
+ views: zod_1.z.number().optional().default(0),
258
+ linkedWikis: zod_1.z
259
+ .object({
260
+ [LinkedWikiKeyEnum.Enum.blockchains]: zod_1.z
261
+ .array(zod_1.z.string())
262
+ .optional()
263
+ .nullable(),
264
+ [LinkedWikiKeyEnum.Enum.founders]: zod_1.z
265
+ .array(zod_1.z.string())
266
+ .optional()
267
+ .nullable(),
268
+ [LinkedWikiKeyEnum.Enum.speakers]: zod_1.z
269
+ .array(zod_1.z.string())
270
+ .optional()
271
+ .nullable(),
272
+ })
273
+ .nullable()
274
+ .optional()
275
+ .default({}),
276
+ founderWikis: zod_1.z.array(WikiReference).optional().default([]),
277
+ blockchainWikis: zod_1.z.array(WikiReference).optional().default([]),
278
+ })
279
+ .refine((arg) => (0, wiki_helpers_1.validateEventWiki)(arg), {
280
+ message: "Event wikis must have an event link citation and at least one event date",
281
+ path: ["events"],
282
+ });
283
+ exports.ReferenceSchema = zod_1.z.object({
284
+ id: zod_1.z.string(),
285
+ description: zod_1.z.string(),
286
+ timestamp: zod_1.z.number(),
287
+ url: zod_1.z.string(),
288
+ });
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lraS5zY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2NoZW1hL3dpa2kuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF3QjtBQUV4QixpREFLMkI7QUFDM0IsOERBTXFDO0FBRXJDOzs7O0dBSUc7QUFDVSxRQUFBLGFBQWEsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDNUMsUUFBQSxlQUFlLEdBQUcsT0FBQyxDQUFDLElBQUksQ0FBQztJQUNyQyxVQUFVO0lBQ1YsT0FBTztJQUNQLFNBQVM7SUFDVCxVQUFVO0NBQ1YsQ0FBQyxDQUFDO0FBQ1UsUUFBQSxpQkFBaUIsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLFlBQVk7SUFDWixTQUFTO0lBQ1QsY0FBYztJQUNkLFVBQVU7SUFDVixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLDhCQUE4QjtJQUM5QixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQiw0QkFBNEI7SUFDNUIsbUJBQW1CO0NBQ25CLENBQUMsQ0FB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
@@ -1,209 +1,9 @@
1
- export type ProfileLinks = {
2
- twitter: string | null;
3
- website: string | null;
4
- instagram: string | null;
1
+ import type { Wiki } from "../schema/wiki.schema";
2
+ type WikiWithTimestamp = Wiki & {
3
+ updated: Date;
5
4
  };
6
- export type ProfileData = {
7
- id: string;
8
- username: string;
9
- bio: string | null;
10
- links: ProfileLinks[];
11
- banner: string | null;
12
- avatar: string | null;
13
- };
14
- export interface BaseCategory {
15
- id: string;
16
- title: string;
17
- }
18
- export interface BaseTag {
19
- id: string;
20
- }
21
- export interface Image {
22
- id: string;
23
- type: string;
24
- }
25
- export declare enum MediaType {
26
- GALLERY = "GALLERY",
27
- ICON = "ICON"
28
- }
29
- export declare enum MediaSource {
30
- IPFS_IMG = "IPFS_IMG",
31
- VIMEO = "VIMEO",
32
- YOUTUBE = "YOUTUBE",
33
- IPFS_VID = "IPFS_VID"
34
- }
35
- export interface Media {
36
- id: string;
37
- size?: string;
38
- name?: string;
39
- type?: MediaType;
40
- caption?: string;
41
- thumbnail?: string;
42
- source: MediaSource;
43
- }
44
- export declare const EditorContentOverride = "%OVERRIDE@EDITOR@MARKDOWN%";
45
- export declare const CreateNewWikiSlug = "/*CREATE+NEW+WIKI*/";
46
- export declare enum CommonMetaIds {
47
- REFERENCES = "references",
48
- WEBSITE = "website",
49
- CONTRACT_URL = "contract_url",
50
- LOCATION = "location",
51
- EMAIL_URL = "email_url",
52
- FACEBOOK_PROFILE = "facebook_profile",
53
- INSTAGRAM_PROFILE = "instagram_profile",
54
- TWITTER_PROFILE = "twitter_profile",
55
- LINKEDIN_PROFILE = "linkedin_profile",
56
- YOUTUBE_PROFILE = "youtube_profile",
57
- DISCORD_PROFILE = "discord_profile",
58
- REDDIT_URL = "reddit_profile",
59
- TELEGRAM_URL = "telegram_profile",
60
- GITHUB_URL = "github_profile",
61
- COIN_MARKET_CAP = "coinmarketcap_url",
62
- COINGECKO_PROFILE = "coingecko_profile",
63
- OPENSEA_PROFILE = "opensea_profile",
64
- MEDIUM_PROFILE = "medium_profile",
65
- MIRROR_PROFILE = "mirror_profile",
66
- TIKTOK_PROFILE = "tiktok_profile",
67
- ETHERSCAN_PROFILE = "etherscan_profile",
68
- ARBISCAN_PROFILE = "arbiscan_profile",
69
- POLYGONSCAN_PROFILE = "polygonscan_profile",
70
- BSCSCAN_PROFILE = "bscscan_profile",
71
- OPTIMISTIC_ETHERSCAN_PROFILE = "optimistic_etherscan_profile",
72
- BASESCAN_PROFILE = "basescan_profile",
73
- FTMSCAN_PROFILE = "ftmscan_profile",
74
- SOLSCAN_PROFILE = "solscan_profile",
75
- AVASCAN_PROFILE = "avascan_profile",
76
- NEARBLOCKS_PROFILE = "nearblocks_profile",
77
- TROSCAN_PROFILE = "troscan_profile",
78
- XRPSCAN_PROFILE = "xrpscan_profile",
79
- KAVASCAN_PROFILE = "kavascan_profile",
80
- TONSCAN_PROFILE = "tonscan_profile",
81
- CELOSCAN_PROFILE = "celoscan_profile",
82
- CRONOSCAN_PROFILE = "cronoscan_profile",
83
- ZKSCAN_PROFILE = "zkscan_profile",
84
- EXPLORER_INJECTIVE = "explorer_injective_profile",
85
- BLASTSCAN_PROFILE = "blastscan_profile"
86
- }
87
- export declare const WikiPossibleSocialsList: CommonMetaIds[];
88
- export declare enum ValidatorCodes {
89
- VALID_WIKI = "VALID_WIKI",
90
- ID = "ID_ERROR",
91
- LANGUAGE = "LANGUAGE_ERROR",
92
- USER = "USER_ERROR",
93
- WORDS = "WORD_COUNT_ERROR",
94
- CATEGORY = "CATEGORY_ERROR",
95
- SUMMARY = "SUMMARY_ERROR",
96
- IMAGE = "IMAGE_ERROR",
97
- TAG = "TAG_ERROR",
98
- URL = "EXTERNAL_URL_ERROR",
99
- METADATA = "METADATA_ERROR",
100
- MEDIA = "MEDIA_ERROR",
101
- GLOBAL_RATE_LIMIT = "GLOBAL_RATE_LIMIT",
102
- ID_ERROR = "ID_ERROR",
103
- LINKED_WIKIS = "LINKED_WIKIS",
104
- EVENTS = "EVENTS_ERROR"
105
- }
106
- export declare enum EditSpecificMetaIds {
107
- PREVIOUS_CID = "previous_cid",
108
- COMMIT_MESSAGE = "commit-message",
109
- WORDS_CHANGED = "words-changed",
110
- PERCENT_CHANGED = "percent-changed",
111
- BLOCKS_CHANGED = "blocks-changed",
112
- WIKI_SCORE = "wiki-score"
113
- }
114
- export interface MData {
115
- id: CommonMetaIds | EditSpecificMetaIds;
116
- value: string;
117
- }
118
- export interface User {
119
- id: string;
120
- profile?: ProfileData | null;
121
- }
122
- export interface Author {
123
- id: string | null;
124
- profile?: ProfileData | null;
125
- }
126
- export interface CiteReference {
127
- id: string;
128
- url: string;
129
- description: string;
130
- timestamp: string;
131
- }
132
- declare enum LanguagesValuesEnum {
133
- SPANISH = "Espa\u00F1ol",
134
- ENGLISH = "English",
135
- CHINESE = "\u4E2D\u6587",
136
- KOREAN = "\uD55C\uAD6D\uC5B4"
137
- }
138
- export declare enum LanguagesISOEnum {
139
- EN = "en",
140
- ES = "es",
141
- ZH = "zh",
142
- KO = "ko"
143
- }
144
- type LanguagesType = Record<LanguagesISOEnum, LanguagesValuesEnum>;
145
- export declare const Languages: LanguagesType;
146
- export declare enum LinkedWikiKey {
147
- FOUNDER = "founders",
148
- BLOCKCHAIN = "blockchains",
149
- SPEAKERS = "speakers"
150
- }
151
- export type LinkedWikis = Partial<Record<LinkedWikiKey, string[]>>;
152
- export declare enum EventType {
153
- CREATED = "CREATED",
154
- DEFAULT = "DEFAULT",
155
- MULTIDATE = "MULTIDATE"
156
- }
157
- export declare enum EventAction {
158
- DELETE = "DELETE",
159
- EDIT = "EDIT",
160
- CREATE = "CREATE"
161
- }
162
- export interface BaseEvents {
163
- id?: string;
164
- date: string;
165
- title?: string;
166
- type: EventType;
167
- description?: string;
168
- link?: string;
169
- multiDateStart?: string;
170
- multiDateEnd?: string;
171
- continent?: string;
172
- country?: string;
173
- action?: EventAction | null;
174
- }
175
- type WikiReference = {
176
- id: string;
177
- title: string;
178
- };
179
- export interface Wiki {
180
- id: string;
181
- transactionHash?: string;
182
- ipfs?: string;
183
- summary: string;
184
- promoted: number;
185
- title: string;
186
- content: string;
187
- categories: BaseCategory[];
188
- tags: BaseTag[];
189
- images?: Image[];
190
- media?: Media[];
191
- events?: BaseEvents[];
192
- user: User;
193
- metadata: MData[];
194
- linkedWikis?: LinkedWikis;
195
- founderWikis: WikiReference[];
196
- blockchainWikis: WikiReference[];
197
- version: number;
198
- language: LanguagesISOEnum;
199
- updated?: string;
200
- created?: string;
201
- views?: number;
202
- author: Author;
203
- hidden: boolean;
204
- }
205
- export type ActivityCardDetails = Pick<Wiki, 'id' | 'title' | 'summary' | 'images' | 'categories' | 'tags' | 'user' | 'updated'>;
206
- export type WikiPreview = Pick<Wiki, 'id' | 'hidden' | 'title' | 'summary' | 'tags' | 'images' | 'categories' | 'user' | 'updated'>;
5
+ export type ActivityCardDetails = Pick<WikiWithTimestamp, "id" | "title" | "summary" | "images" | "categories" | "tags" | "user" | "updated">;
6
+ export type WikiPreview = Pick<WikiWithTimestamp, "id" | "hidden" | "title" | "summary" | "tags" | "images" | "categories" | "user" | "updated">;
207
7
  export declare const whiteListedDomains: string[];
208
8
  export declare const whiteListedLinkNames: string[];
209
9
  export {};