@jeromefitz/notion 6.1.0 → 6.2.0-canary.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 (268) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.turbo/turbo-lint$colon$ts.log +1 -0
  3. package/README.md +12 -12
  4. package/{constants → dist/constants}/index.d.mts +1 -1
  5. package/{constants → dist/constants}/index.d.mts.map +1 -1
  6. package/dist/constants/index.mjs.map +1 -0
  7. package/dist/get-types-7QEbhRzY.mjs +2 -0
  8. package/dist/get-types-7QEbhRzY.mjs.map +1 -0
  9. package/{index-CQ1IEP2W.d.mts → dist/index-BAoq6yHe.d.mts} +7 -7
  10. package/{index-CQ1IEP2W.d.mts.map → dist/index-BAoq6yHe.d.mts.map} +1 -1
  11. package/{index.d.mts → dist/index.d.mts} +1 -1
  12. package/dist/index.d.mts.map +1 -0
  13. package/dist/index.mjs +2 -0
  14. package/dist/index.mjs.map +1 -0
  15. package/{queries/getBlocksByIdChildren → dist/queries/get-blocks-by-id-children}/index.d.mts +1 -1
  16. package/dist/queries/get-blocks-by-id-children/index.d.mts.map +1 -0
  17. package/dist/queries/get-blocks-by-id-children/index.mjs.map +1 -0
  18. package/{queries/getDatabasesByIdQuery → dist/queries/get-databases-by-id-query}/index.d.mts +2 -2
  19. package/dist/queries/get-databases-by-id-query/index.d.mts.map +1 -0
  20. package/dist/queries/get-databases-by-id-query/index.mjs.map +1 -0
  21. package/{queries/getDeepFetchAllChildren → dist/queries/get-deep-fetch-all-children}/index.d.mts +1 -1
  22. package/dist/queries/get-deep-fetch-all-children/index.d.mts.map +1 -0
  23. package/dist/queries/get-deep-fetch-all-children/index.mjs.map +1 -0
  24. package/{queries/getInfoType → dist/queries/get-info-type}/index.d.mts +1 -3
  25. package/dist/queries/get-info-type/index.d.mts.map +1 -0
  26. package/dist/queries/get-info-type/index.mjs.map +1 -0
  27. package/{queries/getNotionListing → dist/queries/get-notion-listing}/index.d.mts +1 -1
  28. package/dist/queries/get-notion-listing/index.d.mts.map +1 -0
  29. package/dist/queries/get-notion-listing/index.mjs +2 -0
  30. package/dist/queries/get-notion-listing/index.mjs.map +1 -0
  31. package/{queries/getNotionListingByDate → dist/queries/get-notion-listing-by-date}/index.d.mts +1 -1
  32. package/dist/queries/get-notion-listing-by-date/index.d.mts.map +1 -0
  33. package/dist/queries/get-notion-listing-by-date/index.mjs +2 -0
  34. package/dist/queries/get-notion-listing-by-date/index.mjs.map +1 -0
  35. package/{queries/getNotionSlug → dist/queries/get-notion-slug}/index.d.mts +1 -1
  36. package/dist/queries/get-notion-slug/index.d.mts.map +1 -0
  37. package/dist/queries/get-notion-slug/index.mjs +2 -0
  38. package/dist/queries/get-notion-slug/index.mjs.map +1 -0
  39. package/{queries/getNotionSlugByRoute → dist/queries/get-notion-slug-by-route}/index.d.mts +1 -1
  40. package/dist/queries/get-notion-slug-by-route/index.d.mts.map +1 -0
  41. package/dist/queries/get-notion-slug-by-route/index.mjs +2 -0
  42. package/dist/queries/get-notion-slug-by-route/index.mjs.map +1 -0
  43. package/{queries/getPagesById → dist/queries/get-pages-by-id}/index.d.mts +1 -1
  44. package/dist/queries/get-pages-by-id/index.d.mts.map +1 -0
  45. package/dist/queries/get-pages-by-id/index.mjs.map +1 -0
  46. package/{queries/getPathVariables → dist/queries/get-path-variables}/index.d.mts +2 -2
  47. package/dist/queries/get-path-variables/index.d.mts.map +1 -0
  48. package/dist/queries/get-path-variables/index.mjs +2 -0
  49. package/dist/queries/get-path-variables/index.mjs.map +1 -0
  50. package/{queries/getQuery → dist/queries/get-query}/index.d.mts +1 -1
  51. package/dist/queries/get-query/index.d.mts.map +1 -0
  52. package/dist/queries/get-query/index.mjs +2 -0
  53. package/dist/queries/get-query/index.mjs.map +1 -0
  54. package/dist/queries/index.d.mts +12 -0
  55. package/dist/queries/index.mjs +1 -0
  56. package/{schema → dist/schema}/index.d.mts +1 -1
  57. package/{utils/addTime → dist/utils/add-time}/index.d.mts +1 -1
  58. package/dist/utils/add-time/index.d.mts.map +1 -0
  59. package/dist/utils/add-time/index.mjs.map +1 -0
  60. package/{utils/dataNormalized → dist/utils/data-normalized}/index.d.mts +1 -1
  61. package/dist/utils/data-normalized/index.d.mts.map +1 -0
  62. package/dist/utils/data-normalized/index.mjs +1 -0
  63. package/{utils/dataNormalizedResults → dist/utils/data-normalized-results}/index.d.mts +1 -1
  64. package/dist/utils/data-normalized-results/index.d.mts.map +1 -0
  65. package/dist/utils/data-normalized-results/index.mjs +1 -0
  66. package/{utils/getDataType → dist/utils/get-data-type}/index.d.mts +2 -2
  67. package/dist/utils/get-data-type/index.d.mts.map +1 -0
  68. package/dist/utils/get-data-type/index.mjs.map +1 -0
  69. package/{utils/getTitle → dist/utils/get-title}/index.d.mts +1 -1
  70. package/dist/utils/get-title/index.d.mts.map +1 -0
  71. package/dist/utils/get-title/index.mjs.map +1 -0
  72. package/dist/utils/get-types/_unsupported.d.mts +5 -0
  73. package/dist/utils/get-types/_unsupported.d.mts.map +1 -0
  74. package/dist/utils/get-types/_unsupported.mjs.map +1 -0
  75. package/{utils/getTypes → dist/utils/get-types}/checkbox.d.mts +1 -1
  76. package/dist/utils/get-types/checkbox.d.mts.map +1 -0
  77. package/dist/utils/get-types/checkbox.mjs.map +1 -0
  78. package/{utils/getTypes → dist/utils/get-types}/date.d.mts +1 -1
  79. package/dist/utils/get-types/date.d.mts.map +1 -0
  80. package/dist/utils/get-types/date.mjs.map +1 -0
  81. package/{utils/getTypes → dist/utils/get-types}/email.d.mts +1 -1
  82. package/dist/utils/get-types/email.d.mts.map +1 -0
  83. package/dist/utils/get-types/email.mjs.map +1 -0
  84. package/{utils/getTypes → dist/utils/get-types}/files.d.mts +1 -1
  85. package/dist/utils/get-types/files.d.mts.map +1 -0
  86. package/dist/utils/get-types/files.mjs.map +1 -0
  87. package/{utils/getTypes → dist/utils/get-types}/index.d.mts +1 -1
  88. package/{utils/getTypes → dist/utils/get-types}/index.d.mts.map +1 -1
  89. package/dist/utils/get-types/index.mjs +1 -0
  90. package/{utils/getTypes/multi_select.d.mts → dist/utils/get-types/multi-select.d.mts} +2 -2
  91. package/dist/utils/get-types/multi-select.d.mts.map +1 -0
  92. package/{utils/getTypes/multi_select.mjs → dist/utils/get-types/multi-select.mjs} +1 -1
  93. package/dist/utils/get-types/multi-select.mjs.map +1 -0
  94. package/{utils/getTypes → dist/utils/get-types}/number.d.mts +1 -1
  95. package/dist/utils/get-types/number.d.mts.map +1 -0
  96. package/dist/utils/get-types/number.mjs.map +1 -0
  97. package/{utils/getTypes → dist/utils/get-types}/people.d.mts +1 -1
  98. package/dist/utils/get-types/people.d.mts.map +1 -0
  99. package/dist/utils/get-types/people.mjs.map +1 -0
  100. package/{utils/getTypes/phone_number.d.mts → dist/utils/get-types/phone-number.d.mts} +2 -2
  101. package/dist/utils/get-types/phone-number.d.mts.map +1 -0
  102. package/{utils/getTypes/phone_number.mjs → dist/utils/get-types/phone-number.mjs} +1 -1
  103. package/dist/utils/get-types/phone-number.mjs.map +1 -0
  104. package/{utils/getTypes → dist/utils/get-types}/relation.d.mts +1 -1
  105. package/dist/utils/get-types/relation.d.mts.map +1 -0
  106. package/dist/utils/get-types/relation.mjs +1 -0
  107. package/{utils/getTypes/rich_text.d.mts → dist/utils/get-types/rich-text.d.mts} +2 -2
  108. package/dist/utils/get-types/rich-text.d.mts.map +1 -0
  109. package/{utils/getTypes/rich_text.mjs → dist/utils/get-types/rich-text.mjs} +1 -1
  110. package/dist/utils/get-types/rich-text.mjs.map +1 -0
  111. package/{utils/getTypes → dist/utils/get-types}/rollup.d.mts +1 -1
  112. package/dist/utils/get-types/rollup.d.mts.map +1 -0
  113. package/dist/utils/get-types/rollup.mjs +1 -0
  114. package/{utils/getTypes → dist/utils/get-types}/select.d.mts +1 -1
  115. package/dist/utils/get-types/select.d.mts.map +1 -0
  116. package/dist/utils/get-types/select.mjs.map +1 -0
  117. package/{utils/getTypes → dist/utils/get-types}/title.d.mts +1 -1
  118. package/dist/utils/get-types/title.d.mts.map +1 -0
  119. package/dist/utils/get-types/title.mjs.map +1 -0
  120. package/{utils/getTypes → dist/utils/get-types}/url.d.mts +1 -1
  121. package/{utils/getTypes → dist/utils/get-types}/url.d.mts.map +1 -1
  122. package/dist/utils/get-types/url.mjs.map +1 -0
  123. package/dist/utils/index.d.mts +7 -0
  124. package/dist/utils/index.mjs +1 -0
  125. package/dist/utils-SxsCJsDP.mjs +2 -0
  126. package/dist/utils-SxsCJsDP.mjs.map +1 -0
  127. package/package.json +213 -64
  128. package/release.config.js +25 -0
  129. package/src/constants/index.ts +1326 -0
  130. package/src/index.ts +151 -0
  131. package/src/queries/get-blocks-by-id-children/index.ts +12 -0
  132. package/src/queries/get-databases-by-id-query/index.ts +28 -0
  133. package/src/queries/get-deep-fetch-all-children/index.ts +35 -0
  134. package/src/queries/get-info-type/index.ts +40 -0
  135. package/src/queries/get-notion-listing/index.ts +91 -0
  136. package/src/queries/get-notion-listing-by-date/index.ts +190 -0
  137. package/src/queries/get-notion-slug/index.ts +64 -0
  138. package/src/queries/get-notion-slug-by-route/index.ts +201 -0
  139. package/src/queries/get-pages-by-id/index.ts +12 -0
  140. package/src/queries/get-path-variables/index.ts +60 -0
  141. package/src/queries/get-query/index.ts +140 -0
  142. package/src/queries/index.ts +25 -0
  143. package/src/schema/index.ts +386 -0
  144. package/src/utils/add-time/index.ts +16 -0
  145. package/src/utils/data-normalized/index.ts +49 -0
  146. package/src/utils/data-normalized-results/index.ts +29 -0
  147. package/src/utils/get-data-type/index.ts +62 -0
  148. package/src/utils/get-title/index.ts +21 -0
  149. package/src/utils/get-types/_unsupported.ts +7 -0
  150. package/src/utils/get-types/checkbox.ts +3 -0
  151. package/src/utils/get-types/date.ts +6 -0
  152. package/src/utils/get-types/email.ts +3 -0
  153. package/src/utils/get-types/files.ts +67 -0
  154. package/src/utils/get-types/index.ts +41 -0
  155. package/src/utils/get-types/multi-select.ts +16 -0
  156. package/src/utils/get-types/number.ts +6 -0
  157. package/src/utils/get-types/people.ts +22 -0
  158. package/src/utils/get-types/phone-number.ts +3 -0
  159. package/src/utils/get-types/relation.ts +18 -0
  160. package/src/utils/get-types/rich-text.ts +5 -0
  161. package/src/utils/get-types/rollup.ts +30 -0
  162. package/src/utils/get-types/select.ts +21 -0
  163. package/src/utils/get-types/title.ts +4 -0
  164. package/src/utils/get-types/url.ts +3 -0
  165. package/src/utils/index.ts +16 -0
  166. package/tsconfig.json +15 -0
  167. package/tsdown.config.ts +14 -0
  168. package/constants/index.mjs.map +0 -1
  169. package/getTypes-D-cwjcBl.mjs +0 -2
  170. package/getTypes-D-cwjcBl.mjs.map +0 -1
  171. package/index.d.mts.map +0 -1
  172. package/index.mjs +0 -2
  173. package/index.mjs.map +0 -1
  174. package/queries/getBlocksByIdChildren/index.d.mts.map +0 -1
  175. package/queries/getBlocksByIdChildren/index.mjs.map +0 -1
  176. package/queries/getDatabasesByIdQuery/index.d.mts.map +0 -1
  177. package/queries/getDatabasesByIdQuery/index.mjs.map +0 -1
  178. package/queries/getDeepFetchAllChildren/index.d.mts.map +0 -1
  179. package/queries/getDeepFetchAllChildren/index.mjs.map +0 -1
  180. package/queries/getInfoType/index.d.mts.map +0 -1
  181. package/queries/getInfoType/index.mjs.map +0 -1
  182. package/queries/getNotionListing/index.d.mts.map +0 -1
  183. package/queries/getNotionListing/index.mjs +0 -2
  184. package/queries/getNotionListing/index.mjs.map +0 -1
  185. package/queries/getNotionListingByDate/index.d.mts.map +0 -1
  186. package/queries/getNotionListingByDate/index.mjs +0 -2
  187. package/queries/getNotionListingByDate/index.mjs.map +0 -1
  188. package/queries/getNotionSlug/index.d.mts.map +0 -1
  189. package/queries/getNotionSlug/index.mjs +0 -2
  190. package/queries/getNotionSlug/index.mjs.map +0 -1
  191. package/queries/getNotionSlugByRoute/index.d.mts.map +0 -1
  192. package/queries/getNotionSlugByRoute/index.mjs +0 -2
  193. package/queries/getNotionSlugByRoute/index.mjs.map +0 -1
  194. package/queries/getPagesById/index.d.mts.map +0 -1
  195. package/queries/getPagesById/index.mjs.map +0 -1
  196. package/queries/getPathVariables/index.d.mts.map +0 -1
  197. package/queries/getPathVariables/index.mjs +0 -2
  198. package/queries/getPathVariables/index.mjs.map +0 -1
  199. package/queries/getQuery/index.d.mts.map +0 -1
  200. package/queries/getQuery/index.mjs +0 -2
  201. package/queries/getQuery/index.mjs.map +0 -1
  202. package/queries/index.d.mts +0 -12
  203. package/queries/index.mjs +0 -1
  204. package/utils/addTime/index.d.mts.map +0 -1
  205. package/utils/addTime/index.mjs.map +0 -1
  206. package/utils/dataNormalized/index.d.mts.map +0 -1
  207. package/utils/dataNormalized/index.mjs +0 -1
  208. package/utils/dataNormalizedResults/index.d.mts.map +0 -1
  209. package/utils/dataNormalizedResults/index.mjs +0 -1
  210. package/utils/getDataType/index.d.mts.map +0 -1
  211. package/utils/getDataType/index.mjs.map +0 -1
  212. package/utils/getTitle/index.d.mts.map +0 -1
  213. package/utils/getTitle/index.mjs.map +0 -1
  214. package/utils/getTypes/_unsupported.d.mts +0 -6
  215. package/utils/getTypes/_unsupported.d.mts.map +0 -1
  216. package/utils/getTypes/_unsupported.mjs.map +0 -1
  217. package/utils/getTypes/checkbox.d.mts.map +0 -1
  218. package/utils/getTypes/checkbox.mjs.map +0 -1
  219. package/utils/getTypes/date.d.mts.map +0 -1
  220. package/utils/getTypes/date.mjs.map +0 -1
  221. package/utils/getTypes/email.d.mts.map +0 -1
  222. package/utils/getTypes/email.mjs.map +0 -1
  223. package/utils/getTypes/files.d.mts.map +0 -1
  224. package/utils/getTypes/files.mjs.map +0 -1
  225. package/utils/getTypes/index.mjs +0 -1
  226. package/utils/getTypes/multi_select.d.mts.map +0 -1
  227. package/utils/getTypes/multi_select.mjs.map +0 -1
  228. package/utils/getTypes/number.d.mts.map +0 -1
  229. package/utils/getTypes/number.mjs.map +0 -1
  230. package/utils/getTypes/people.d.mts.map +0 -1
  231. package/utils/getTypes/people.mjs.map +0 -1
  232. package/utils/getTypes/phone_number.d.mts.map +0 -1
  233. package/utils/getTypes/phone_number.mjs.map +0 -1
  234. package/utils/getTypes/relation.d.mts.map +0 -1
  235. package/utils/getTypes/relation.mjs +0 -1
  236. package/utils/getTypes/rich_text.d.mts.map +0 -1
  237. package/utils/getTypes/rich_text.mjs.map +0 -1
  238. package/utils/getTypes/rollup.d.mts.map +0 -1
  239. package/utils/getTypes/rollup.mjs +0 -1
  240. package/utils/getTypes/select.d.mts.map +0 -1
  241. package/utils/getTypes/select.mjs.map +0 -1
  242. package/utils/getTypes/title.d.mts.map +0 -1
  243. package/utils/getTypes/title.mjs.map +0 -1
  244. package/utils/getTypes/url.mjs.map +0 -1
  245. package/utils/index.d.mts +0 -7
  246. package/utils/index.mjs +0 -1
  247. package/utils-VfbevQkn.mjs +0 -2
  248. package/utils-VfbevQkn.mjs.map +0 -1
  249. /package/{constants → dist/constants}/index.mjs +0 -0
  250. /package/{queries/getBlocksByIdChildren → dist/queries/get-blocks-by-id-children}/index.mjs +0 -0
  251. /package/{queries/getDatabasesByIdQuery → dist/queries/get-databases-by-id-query}/index.mjs +0 -0
  252. /package/{queries/getDeepFetchAllChildren → dist/queries/get-deep-fetch-all-children}/index.mjs +0 -0
  253. /package/{queries/getInfoType → dist/queries/get-info-type}/index.mjs +0 -0
  254. /package/{queries/getPagesById → dist/queries/get-pages-by-id}/index.mjs +0 -0
  255. /package/{schema → dist/schema}/index.mjs +0 -0
  256. /package/{utils/addTime → dist/utils/add-time}/index.mjs +0 -0
  257. /package/{utils/getDataType → dist/utils/get-data-type}/index.mjs +0 -0
  258. /package/{utils/getTitle → dist/utils/get-title}/index.mjs +0 -0
  259. /package/{utils/getTypes → dist/utils/get-types}/_unsupported.mjs +0 -0
  260. /package/{utils/getTypes → dist/utils/get-types}/checkbox.mjs +0 -0
  261. /package/{utils/getTypes → dist/utils/get-types}/date.mjs +0 -0
  262. /package/{utils/getTypes → dist/utils/get-types}/email.mjs +0 -0
  263. /package/{utils/getTypes → dist/utils/get-types}/files.mjs +0 -0
  264. /package/{utils/getTypes → dist/utils/get-types}/number.mjs +0 -0
  265. /package/{utils/getTypes → dist/utils/get-types}/people.mjs +0 -0
  266. /package/{utils/getTypes → dist/utils/get-types}/select.mjs +0 -0
  267. /package/{utils/getTypes → dist/utils/get-types}/title.mjs +0 -0
  268. /package/{utils/getTypes → dist/utils/get-types}/url.mjs +0 -0
@@ -0,0 +1,1326 @@
1
+ import { filter as _filter, map as _map } from "lodash-es";
2
+
3
+ import type { DataTypes, DataTypesObject, Property } from "../schema/index";
4
+
5
+ const getLookup = ({ key, notion, type }) => ({
6
+ key,
7
+ notion,
8
+ type,
9
+ });
10
+
11
+ /**
12
+ * @note
13
+ * Valid Notion Property Types mapped to Normalizer w/ init info
14
+ *
15
+ * *********************
16
+ * RELATIONS and ROLLUPS
17
+ * *********************
18
+ *
19
+ * For each RELATION or ROLLUP there can be only one init
20
+ * During the build process this happens in waves
21
+ *
22
+ *
23
+ */
24
+ const PROPERTIES: Record<string, Property> = {
25
+ addressCity: {
26
+ init: true,
27
+ key: "addressCity",
28
+ notion: "Address.City",
29
+ type: "rich_text",
30
+ },
31
+ addressLatitude: {
32
+ format: "number",
33
+ init: true,
34
+ key: "addressLatitude",
35
+ notion: "Address.Latitude",
36
+ type: "number",
37
+ },
38
+ addressLongitude: {
39
+ format: "number",
40
+ init: true,
41
+ key: "addressLongitude",
42
+ notion: "Address.Longitude",
43
+ type: "number",
44
+ },
45
+ addressNeighborhood: {
46
+ init: true,
47
+ key: "addressNeighborhood",
48
+ notion: "Address.Neighborhood",
49
+ type: "rich_text",
50
+ },
51
+ addressState: {
52
+ init: true,
53
+ key: "addressState",
54
+ notion: "Address.State",
55
+ type: "select",
56
+ },
57
+ addressStreet: {
58
+ init: true,
59
+ key: "addressStreet",
60
+ notion: "Address.Street",
61
+ type: "rich_text",
62
+ },
63
+ addressZipCode: {
64
+ format: "number",
65
+ init: true,
66
+ key: "addressZipCode",
67
+ notion: "Address.ZipCode",
68
+ type: "number",
69
+ },
70
+ author: {
71
+ init: true,
72
+ key: "author",
73
+ notion: "Author",
74
+ type: "rich_text",
75
+ },
76
+ authors: {
77
+ init: true,
78
+ key: "authors",
79
+ notion: "Authors",
80
+ type: "people",
81
+ },
82
+ categories: {
83
+ init: true,
84
+ key: "categories",
85
+ notion: "Categories",
86
+ type: "multi_select",
87
+ },
88
+ dateCreated: {
89
+ init: false,
90
+ key: "dateCreated",
91
+ notion: "Date.Created",
92
+ type: "created_time",
93
+ },
94
+ dateEdited: {
95
+ init: false,
96
+ key: "dateEdited",
97
+ notion: "Date.Edited",
98
+ type: "last_edited_time",
99
+ },
100
+ dateEvent: {
101
+ init: true,
102
+ key: "dateEvent",
103
+ notion: "Date.Event",
104
+ type: "date",
105
+ },
106
+ datePublished: {
107
+ init: true,
108
+ key: "datePublished",
109
+ notion: "Date.Published",
110
+ type: "date",
111
+ },
112
+ dateRecorded: {
113
+ init: true,
114
+ key: "dateRecorded",
115
+ notion: "Date.Recorded",
116
+ type: "date",
117
+ },
118
+ duration: {
119
+ init: true,
120
+ key: "duration",
121
+ notion: "Duration",
122
+ type: "rich_text",
123
+ },
124
+ email: {
125
+ init: true,
126
+ key: "email",
127
+ notion: "Email",
128
+ type: "rich_text",
129
+ },
130
+ episode: {
131
+ format: "number",
132
+ init: true,
133
+ key: "episode",
134
+ notion: "Episode",
135
+ type: "number",
136
+ },
137
+ explicit: {
138
+ init: true,
139
+ key: "explicit",
140
+ notion: "Explicit",
141
+ type: "checkbox",
142
+ },
143
+ festivals: {
144
+ init: true,
145
+ key: "festivals",
146
+ notion: "Festival",
147
+ type: "multi_select",
148
+ },
149
+ food: {
150
+ init: true,
151
+ key: "food",
152
+ notion: "Food",
153
+ type: "rich_text",
154
+ },
155
+ isIndexed: {
156
+ init: true,
157
+ key: "isIndexed",
158
+ notion: "Is.Indexed",
159
+ type: "checkbox",
160
+ },
161
+ isPublished: {
162
+ init: true,
163
+ key: "isPublished",
164
+ notion: "Is.Published",
165
+ type: "checkbox",
166
+ },
167
+ mp3: {
168
+ init: true,
169
+ key: "mp3",
170
+ notion: "MP3",
171
+ type: "files",
172
+ },
173
+ name: {
174
+ init: true,
175
+ key: "name",
176
+ notion: "Name",
177
+ type: "rich_text",
178
+ },
179
+ nameFirst: {
180
+ init: true,
181
+ key: "nameFirst",
182
+ notion: "Name.First",
183
+ type: "rich_text",
184
+ },
185
+ nameLast: {
186
+ init: true,
187
+ key: "nameLast",
188
+ notion: "Name.Last",
189
+ type: "rich_text",
190
+ },
191
+ namePreferred: {
192
+ init: true,
193
+ key: "namePreferred",
194
+ notion: "Name.Preferred",
195
+ type: "rich_text",
196
+ },
197
+ phoneNumber: {
198
+ init: true,
199
+ key: "phoneNumber",
200
+ notion: "Phone",
201
+ type: "rich_text",
202
+ },
203
+ podcastAuthor: {
204
+ init: true,
205
+ key: "podcastAuthor",
206
+ notion: "Author",
207
+ type: "rich_text",
208
+ },
209
+ podcastAuthorEmail: {
210
+ init: true,
211
+ key: "podcastAuthorEmail",
212
+ notion: "Author.Email",
213
+ type: "rich_text",
214
+ },
215
+ relationEpisodes__People_Guest: {
216
+ init: true,
217
+ key: "relationEpisodes__People_Guest",
218
+ notion: "Guest",
219
+ relation: {
220
+ database_id: "People",
221
+ synced_property_name: "Episodes.Guest",
222
+ },
223
+ type: "relation",
224
+ },
225
+ relationEpisodes__People_Sound_Engineer: {
226
+ init: true,
227
+ key: "relationEpisodes__People_Sound_Engineer",
228
+ notion: "Sound.Engineer",
229
+ relation: {
230
+ database_id: "People",
231
+ synced_property_name: "Episodes.Sound.Engineer",
232
+ },
233
+ type: "relation",
234
+ },
235
+ relationEpisodes__People_Thanks: {
236
+ init: true,
237
+ key: "relationEpisodes__People_Thanks",
238
+ notion: "Thanks",
239
+ relation: {
240
+ database_id: "People",
241
+ synced_property_name: "Episodes.Thanks",
242
+ },
243
+ type: "relation",
244
+ },
245
+ /**
246
+ * @relation
247
+ */
248
+ relationEpisodes__Podcasts: {
249
+ init: true,
250
+ key: "relationEpisodes__Podcasts",
251
+ notion: "Podcasts",
252
+ relation: {
253
+ database_id: "Podcasts",
254
+ synced_property_name: "Episodes",
255
+ },
256
+ type: "relation",
257
+ },
258
+ relationEpisodes__Venues: {
259
+ init: true,
260
+ key: "relationEpisodes__Venues",
261
+ notion: "Venues",
262
+ relation: {
263
+ database_id: "Venues",
264
+ synced_property_name: "Episodes",
265
+ },
266
+ type: "relation",
267
+ },
268
+ relationEvents__People_Guest: {
269
+ init: true,
270
+ key: "relationEvents__People_Guest",
271
+ notion: "Guest",
272
+ relation: {
273
+ database_id: "People",
274
+ synced_property_name: "Events.Guest",
275
+ },
276
+ type: "relation",
277
+ },
278
+
279
+ relationEvents__People_Guest_Music: {
280
+ init: true,
281
+ key: "relationEvents__People_Guest_Music",
282
+ notion: "Guest.Music",
283
+ relation: {
284
+ database_id: "People",
285
+ synced_property_name: "Events.Guest.Music",
286
+ },
287
+ type: "relation",
288
+ },
289
+ relationEvents__People_Host: {
290
+ init: true,
291
+ key: "relationEvents__People_Host",
292
+ notion: "Host",
293
+ relation: {
294
+ database_id: "People",
295
+ synced_property_name: "Events.Host",
296
+ },
297
+ type: "relation",
298
+ },
299
+ relationEvents__Shows: {
300
+ init: true,
301
+ key: "relationEvents__Shows",
302
+ notion: "Shows",
303
+ relation: {
304
+ database_id: "Shows",
305
+ synced_property_name: "Events",
306
+ },
307
+ type: "relation",
308
+ },
309
+ relationEvents__Shows_Lineup: {
310
+ init: true,
311
+ key: "relationEvents__Shows_Lineup",
312
+ notion: "Shows.Lineup",
313
+ relation: {
314
+ database_id: "Shows",
315
+ synced_property_name: "Events.Lineup",
316
+ },
317
+ type: "relation",
318
+ },
319
+ relationEvents__Venues: {
320
+ init: true,
321
+ key: "relationEvents__Venues",
322
+ notion: "Venues",
323
+ relation: {
324
+ database_id: "Venues",
325
+ synced_property_name: "Events",
326
+ },
327
+ type: "relation",
328
+ },
329
+ relationPeople__Episodes_Guest: {
330
+ init: false,
331
+ key: "relationPeople__Episodes_Guest",
332
+ notion: "Episodes.Guest",
333
+ relation: {
334
+ database_id: "Episodes",
335
+ synced_property_name: "Guest",
336
+ },
337
+ type: "relation",
338
+ },
339
+ relationPeople__Episodes_Sound_Engineer: {
340
+ init: false,
341
+ key: "relationPeople__Episodes_Sound_Engineer",
342
+ notion: "Episodes.Sound.Engineer",
343
+ relation: {
344
+ database_id: "Episodes",
345
+ synced_property_name: "Sound.Engineer",
346
+ },
347
+ type: "relation",
348
+ },
349
+ relationPeople__Episodes_Thanks: {
350
+ init: false,
351
+ key: "relationPeople__Episodes_Thanks",
352
+ notion: "Episodes.Thanks",
353
+ relation: {
354
+ database_id: "Episodes",
355
+ synced_property_name: "Thanks",
356
+ },
357
+ type: "relation",
358
+ },
359
+ relationPeople__Events_Guest: {
360
+ init: false,
361
+ key: "relationEvents__People_Guest",
362
+ notion: "Events.Guest",
363
+ relation: {
364
+ database_id: "Events",
365
+ synced_property_name: "Guest",
366
+ },
367
+ type: "relation",
368
+ },
369
+ relationPeople__Events_Guest_Music: {
370
+ init: false,
371
+ key: "relationPeople__Events_Guest_Music",
372
+ notion: "Events.Guest.Music",
373
+ relation: {
374
+ database_id: "Events",
375
+ synced_property_name: "Guest.Music",
376
+ },
377
+ type: "relation",
378
+ },
379
+ relationPeople__Events_Host: {
380
+ init: false,
381
+ key: "relationPeople__Events_Host",
382
+ notion: "Events.Host",
383
+ relation: {
384
+ database_id: "Events",
385
+ synced_property_name: "Host",
386
+ },
387
+ type: "relation",
388
+ },
389
+ relationPeople__Podcasts_Host: {
390
+ init: false,
391
+ key: "relationPeople__Podcasts_Host",
392
+ notion: "Podcasts.Host",
393
+ relation: {
394
+ database_id: "Podcasts",
395
+ synced_property_name: "Host",
396
+ },
397
+ type: "relation",
398
+ },
399
+ relationPeople__Podcasts_Sound_Engineer: {
400
+ init: false,
401
+ key: "relationPeople__Podcasts_Sound_Engineer",
402
+ notion: "Podcasts.Sound.Engineer",
403
+ relation: {
404
+ database_id: "Podcasts",
405
+ synced_property_name: "Sound.Engineer",
406
+ },
407
+ type: "relation",
408
+ },
409
+ relationPeople__Shows_Cast: {
410
+ init: false,
411
+ key: "relationPeople__Shows_Cast",
412
+ notion: "Shows.Cast",
413
+ relation: {
414
+ database_id: "Shows",
415
+ synced_property_name: "Cast",
416
+ },
417
+ type: "relation",
418
+ },
419
+ relationPeople__Shows_Cast_Past: {
420
+ init: false,
421
+ key: "relationPeople__Shows_Cast_Past",
422
+ notion: "Shows.Cast.Past",
423
+ relation: {
424
+ database_id: "Shows",
425
+ synced_property_name: "Cast.Past",
426
+ },
427
+ type: "relation",
428
+ },
429
+ relationPeople__Shows_Crew: {
430
+ init: true,
431
+ key: "relationPeople__Shows_Crew",
432
+ notion: "Shows.Crew",
433
+ relation: {
434
+ database_id: "Shows",
435
+ synced_property_name: "Crew",
436
+ },
437
+ type: "relation",
438
+ },
439
+ relationPeople__Shows_Director: {
440
+ init: false,
441
+ key: "relationPeople__Shows_Director",
442
+ notion: "Shows.Director",
443
+ relation: {
444
+ database_id: "Shows",
445
+ synced_property_name: "Director",
446
+ },
447
+ type: "relation",
448
+ },
449
+ relationPeople__Shows_Director_Musical: {
450
+ init: false,
451
+ key: "relationPeople__Shows_Director_Musical",
452
+ notion: "Shows.Director.Musical",
453
+ relation: {
454
+ database_id: "Shows",
455
+ synced_property_name: "Director.Musical",
456
+ },
457
+ type: "relation",
458
+ },
459
+ relationPeople__Shows_Director_Technical: {
460
+ init: false,
461
+ key: "relationPeople__Shows_Director_Technical",
462
+ notion: "Shows.Director.Technical",
463
+ relation: {
464
+ database_id: "Shows",
465
+ synced_property_name: "Director.Technical",
466
+ },
467
+ type: "relation",
468
+ },
469
+ relationPeople__Shows_Producer: {
470
+ init: false,
471
+ key: "relationPeople__Shows_Producer",
472
+ notion: "Shows.Producer",
473
+ relation: {
474
+ database_id: "Shows",
475
+ synced_property_name: "Producer",
476
+ },
477
+ type: "relation",
478
+ },
479
+ relationPeople__Shows_Thanks: {
480
+ init: false,
481
+ key: "relationPeople__Shows_Thanks",
482
+ notion: "Shows.Thanks",
483
+ relation: {
484
+ database_id: "Shows",
485
+ synced_property_name: "Thanks",
486
+ },
487
+ type: "relation",
488
+ },
489
+ relationPeople__Shows_Writer: {
490
+ init: false,
491
+ key: "relationPeople__Shows_Writer",
492
+ notion: "Shows.Writer",
493
+ relation: {
494
+ database_id: "Shows",
495
+ synced_property_name: "Writer",
496
+ },
497
+ type: "relation",
498
+ },
499
+ relationPodcasts__Episodes: {
500
+ init: false,
501
+ key: "relationPodcasts__Episodes",
502
+ notion: "Episodes",
503
+ relation: {
504
+ database_id: "Episodes",
505
+ synced_property_name: "Podcasts",
506
+ },
507
+ type: "relation",
508
+ },
509
+ relationPodcasts__People_Host: {
510
+ init: true,
511
+ key: "relationPodcasts__People_Host",
512
+ notion: "Host",
513
+ relation: {
514
+ database_id: "People",
515
+ synced_property_name: "Podcasts.Host",
516
+ },
517
+ type: "relation",
518
+ },
519
+ relationPodcasts__People_Sound_Engineer: {
520
+ init: true,
521
+ key: "relationPodcasts__People_Sound_Engineer",
522
+ notion: "Sound.Engineer",
523
+ relation: {
524
+ database_id: "Podcasts",
525
+ synced_property_name: "Podcasts.Sound.Engineer",
526
+ },
527
+ type: "relation",
528
+ },
529
+ relationShows__Events: {
530
+ init: false,
531
+ key: "relationShows__Events",
532
+ notion: "Events",
533
+ relation: {
534
+ database_id: "Events",
535
+ synced_property_name: "Shows",
536
+ },
537
+ type: "relation",
538
+ },
539
+ relationShows__Events_Lineup: {
540
+ init: false,
541
+ key: "relationShows__Events_Lineup",
542
+ notion: "Events.Lineup",
543
+ relation: {
544
+ database_id: "Events",
545
+ synced_property_name: "Shows.Lineup",
546
+ },
547
+ type: "relation",
548
+ },
549
+ relationShows__People_Cast: {
550
+ init: true,
551
+ key: "relationShows__People_Cast",
552
+ notion: "Cast",
553
+ relation: {
554
+ database_id: "People",
555
+ synced_property_name: "Shows.Cast",
556
+ },
557
+ type: "relation",
558
+ },
559
+ relationShows__People_Cast_Past: {
560
+ init: true,
561
+ key: "relationShows__People_Cast_Past",
562
+ notion: "Cast.Past",
563
+ relation: {
564
+ database_id: "People",
565
+ synced_property_name: "Shows.Cast.Past",
566
+ },
567
+ type: "relation",
568
+ },
569
+ relationShows__People_Director: {
570
+ init: true,
571
+ key: "relationShows__People_Director",
572
+ notion: "Director",
573
+ relation: {
574
+ database_id: "People",
575
+ synced_property_name: "Shows.Director",
576
+ },
577
+ type: "relation",
578
+ },
579
+ relationShows__People_Director_Musical: {
580
+ init: true,
581
+ key: "relationShows__People_Director_Musical",
582
+ notion: "Director.Musical",
583
+ relation: {
584
+ database_id: "People",
585
+ synced_property_name: "Shows.Director.Musical",
586
+ },
587
+ type: "relation",
588
+ },
589
+ relationShows__People_Director_Technical: {
590
+ init: true,
591
+ key: "relationShows__People_Director_Technical",
592
+ notion: "Director.Technical",
593
+ relation: {
594
+ database_id: "People",
595
+ synced_property_name: "Shows.Director.Technical",
596
+ },
597
+ type: "relation",
598
+ },
599
+ relationShows__People_Producer: {
600
+ init: true,
601
+ key: "relationShows__People_Producer",
602
+ notion: "Producer",
603
+ relation: {
604
+ database_id: "People",
605
+ synced_property_name: "Shows.Producer",
606
+ },
607
+ type: "relation",
608
+ },
609
+ relationShows__People_Thanks: {
610
+ init: true,
611
+ key: "relationShows__People_Thanks",
612
+ notion: "Thanks",
613
+ relation: {
614
+ database_id: "People",
615
+ synced_property_name: "Shows.Thanks",
616
+ },
617
+ type: "relation",
618
+ },
619
+ relationShows__People_Writer: {
620
+ init: true,
621
+ key: "relationShows__People_Writer",
622
+ notion: "Writer",
623
+ relation: {
624
+ database_id: "People",
625
+ synced_property_name: "Shows.Writer",
626
+ },
627
+ type: "relation",
628
+ },
629
+ relationShows__Tags: {
630
+ init: true,
631
+ key: "relationShows__Tags",
632
+ notion: "Tags",
633
+ relation: {
634
+ database_id: "Tags",
635
+ synced_property_name: "Shows",
636
+ },
637
+ type: "relation",
638
+ },
639
+ relationShows_People_Crew: {
640
+ init: true,
641
+ key: "relationShows_People_Crew",
642
+ notion: "Crew",
643
+ relation: {
644
+ database_id: "People",
645
+ synced_property_name: "Shows.Crew",
646
+ },
647
+ type: "relation",
648
+ },
649
+ relationTags__Shows: {
650
+ init: false,
651
+ key: "relationTags__Shows",
652
+ notion: "Shows",
653
+ relation: {
654
+ database_id: "Shows",
655
+ synced_property_name: "Tags",
656
+ },
657
+ type: "relation",
658
+ },
659
+ relationVenues__Episodes: {
660
+ init: false,
661
+ key: "relationVenues__Episodes",
662
+ notion: "Episodes",
663
+ relation: {
664
+ database_id: "Episodes",
665
+ synced_property_name: "Venues",
666
+ },
667
+ type: "relation",
668
+ },
669
+ relationVenues__Events: {
670
+ init: false,
671
+ key: "relationVenues__Events",
672
+ notion: "Events",
673
+ relation: {
674
+ database_id: "Events",
675
+ synced_property_name: "Venues",
676
+ },
677
+ type: "relation",
678
+ },
679
+ rollupEpisodes__Podcasts: {
680
+ init: false,
681
+ key: "rollupEpisodes__Podcasts",
682
+ notion: "Podcasts.Rollup",
683
+ rollup: {
684
+ function: "show_original",
685
+ relation_property_name: "Podcasts",
686
+ rollup_property_id: "Title",
687
+ },
688
+ type: "rollup",
689
+ },
690
+ rollupEpisodes__PodcastsSlugs: {
691
+ init: false,
692
+ key: "rollupEpisodes__PodcastsSlugs",
693
+ notion: "Podcasts.Slug.Rollup",
694
+ rollup: {
695
+ function: "show_original",
696
+ relation_property_name: "Podcasts",
697
+ rollup_property_id: "Slug",
698
+ },
699
+ type: "rollup",
700
+ },
701
+ //
702
+ rollupEvents__People_Cast: {
703
+ init: false,
704
+ key: "rollupEvents__People_Cast",
705
+ notion: "Cast.Rollup",
706
+ rollup: {
707
+ function: "show_original",
708
+ relation_property_name: "Shows",
709
+ rollup_property_id: "Cast",
710
+ },
711
+ type: "rollup",
712
+ },
713
+ rollupEvents__People_Guest: {
714
+ init: false,
715
+ key: "rollupEvents__People_Guest",
716
+ notion: "Guest.Rollup",
717
+ rollup: {
718
+ function: "show_original",
719
+ relation_property_name: "Guest",
720
+ rollup_property_id: "Title",
721
+ },
722
+ type: "rollup",
723
+ },
724
+ rollupEvents__People_Guest_Music: {
725
+ init: false,
726
+ key: "rollupEvents__People_Guest_Music",
727
+ notion: "Guest.Music.Rollup",
728
+ rollup: {
729
+ function: "show_original",
730
+ relation_property_name: "Guest.Music",
731
+ rollup_property_id: "Title",
732
+ },
733
+ type: "rollup",
734
+ },
735
+ rollupEvents__People_Host: {
736
+ init: false,
737
+ key: "rollupEvents__People_Host",
738
+ notion: "Host.Rollup",
739
+ rollup: {
740
+ function: "show_original",
741
+ relation_property_name: "Host",
742
+ rollup_property_id: "Title",
743
+ },
744
+ type: "rollup",
745
+ },
746
+ rollupEvents__Shows: {
747
+ init: false,
748
+ key: "rollupEvents__Shows",
749
+ notion: "Shows.Rollup",
750
+ rollup: {
751
+ function: "show_original",
752
+ relation_property_name: "Shows",
753
+ rollup_property_id: "Title",
754
+ },
755
+ type: "rollup",
756
+ },
757
+ rollupEvents__Shows_Lineup: {
758
+ init: false,
759
+ key: "rollupEvents__Shows_Lineup",
760
+ notion: "Shows.Lineup.Rollup",
761
+ rollup: {
762
+ function: "show_original",
763
+ relation_property_name: "Shows.Lineup",
764
+ rollup_property_id: "Title",
765
+ },
766
+ type: "rollup",
767
+ },
768
+ rollupEvents__Venues: {
769
+ init: false,
770
+ key: "rollupEvents__Venues",
771
+ notion: "Venues.Rollup",
772
+ rollup: {
773
+ function: "show_original",
774
+ relation_property_name: "Venues",
775
+ rollup_property_id: "Title",
776
+ },
777
+ type: "rollup",
778
+ },
779
+ rollupPodcasts__Episodes: {
780
+ init: false,
781
+ key: "rollupPodcasts__Episodes",
782
+ notion: "Episodes.Rollup",
783
+ rollup: {
784
+ function: "show_original",
785
+ relation_property_name: "Episodes",
786
+ rollup_property_id: "Title",
787
+ },
788
+ type: "rollup",
789
+ },
790
+ rollupPodcasts__EpisodesSlugs: {
791
+ init: false,
792
+ key: "rollupPodcasts__EpisodesSlugs",
793
+ notion: "Episodes.Slug.Rollup",
794
+ rollup: {
795
+ function: "show_original",
796
+ relation_property_name: "Episodes",
797
+ rollup_property_id: "Slug",
798
+ },
799
+ type: "rollup",
800
+ },
801
+ /**
802
+ * @rollup
803
+ */
804
+ rollupShows__People_Cast: {
805
+ init: false,
806
+ key: "rollupShows__People_Cast",
807
+ notion: "Cast.Rollup",
808
+ rollup: {
809
+ function: "show_original",
810
+ relation_property_name: "Cast",
811
+ rollup_property_id: "Title",
812
+ },
813
+ type: "rollup",
814
+ },
815
+ rollupShows__People_Cast_Past: {
816
+ init: false,
817
+ key: "rollupShows__People_Cast_Past",
818
+ notion: "Cast.Past.Rollup",
819
+ rollup: {
820
+ function: "show_original",
821
+ relation_property_name: "Cast.Past",
822
+ rollup_property_id: "Title",
823
+ },
824
+ type: "rollup",
825
+ },
826
+ rollupShows__People_Cast_Slug: {
827
+ init: false,
828
+ key: "rollupShows__People_Cast_Slug",
829
+ notion: "Cast.Rollup.Slug",
830
+ rollup: {
831
+ function: "show_original",
832
+ relation_property_name: "Cast",
833
+ rollup_property_name: "Slug",
834
+ },
835
+ type: "rollup",
836
+ },
837
+ rollupShows__People_Crew: {
838
+ init: false,
839
+ key: "rollupShows__People_Crew",
840
+ notion: "Crew.Rollup",
841
+ rollup: {
842
+ function: "show_original",
843
+ relation_property_name: "Crew",
844
+ rollup_property_name: "Title",
845
+ },
846
+ type: "rollup",
847
+ },
848
+ rollupShows__People_Director: {
849
+ init: false,
850
+ key: "rollupShows__People_Director",
851
+ notion: "Director.Rollup",
852
+ rollup: {
853
+ function: "show_original",
854
+ relation_property_name: "Director",
855
+ rollup_property_name: "Title",
856
+ },
857
+ type: "rollup",
858
+ },
859
+ rollupShows__People_Director_Musical: {
860
+ init: false,
861
+ key: "rollupShows__People_Director_Musical",
862
+ notion: "Director.Musical.Rollup",
863
+ rollup: {
864
+ function: "show_original",
865
+ relation_property_name: "Director.Musical",
866
+ rollup_property_name: "Title",
867
+ },
868
+ type: "rollup",
869
+ },
870
+ rollupShows__People_Director_Technical: {
871
+ init: false,
872
+ key: "rollupShows__People_Director_Technical",
873
+ notion: "Director.Technical.Rollup",
874
+ rollup: {
875
+ function: "show_original",
876
+ relation_property_name: "Director.Technical",
877
+ rollup_property_name: "Title",
878
+ },
879
+ type: "rollup",
880
+ },
881
+ rollupShows__People_Music: {
882
+ init: false,
883
+ key: "rollupShows__People_Music",
884
+ notion: "Music.Rollup",
885
+ rollup: {
886
+ function: "show_original",
887
+ relation_property_name: "Music",
888
+ rollup_property_name: "Title",
889
+ },
890
+ type: "rollup",
891
+ },
892
+ rollupShows__People_Producer: {
893
+ init: false,
894
+ key: "rollupShows__People_Producer",
895
+ notion: "Producer.Rollup",
896
+ rollup: {
897
+ function: "show_original",
898
+ relation_property_name: "Producer",
899
+ rollup_property_name: "Title",
900
+ },
901
+ type: "rollup",
902
+ },
903
+ rollupShows__People_Thanks: {
904
+ init: false,
905
+ key: "rollupShows__People_Thanks",
906
+ notion: "Thanks.Rollup",
907
+ rollup: {
908
+ function: "show_original",
909
+ relation_property_name: "Thanks",
910
+ rollup_property_name: "Title",
911
+ },
912
+ type: "rollup",
913
+ },
914
+ rollupShows__People_Writer: {
915
+ init: false,
916
+ key: "rollupShows__People_Writer",
917
+ notion: "Writer.Rollup",
918
+ rollup: {
919
+ function: "show_original",
920
+ relation_property_name: "Writer",
921
+ rollup_property_name: "Title",
922
+ },
923
+ type: "rollup",
924
+ },
925
+ rollupShows__Tags: {
926
+ init: false,
927
+ key: "rollupShows__Tags",
928
+ notion: "Tags.Rollup",
929
+ rollup: {
930
+ function: "show_original",
931
+ relation_property_name: "Tags",
932
+ rollup_property_id: "Title",
933
+ },
934
+ type: "rollup",
935
+ },
936
+ season: {
937
+ format: "number",
938
+ init: true,
939
+ key: "season",
940
+ notion: "Season",
941
+ type: "number",
942
+ },
943
+ seoDescription: {
944
+ init: true,
945
+ key: "seoDescription",
946
+ notion: "SEO.Description",
947
+ type: "rich_text",
948
+ },
949
+ seoImage: {
950
+ init: true,
951
+ key: "seoImage",
952
+ notion: "SEO.Image",
953
+ type: "files",
954
+ },
955
+ seoImageDescription: {
956
+ init: true,
957
+ key: "seoImageDescription",
958
+ notion: "SEO.Image.Description",
959
+ type: "rich_text",
960
+ },
961
+ seoKeywords: {
962
+ init: true,
963
+ key: "seoKeywords",
964
+ notion: "SEO.Keywords",
965
+ type: "rich_text",
966
+ },
967
+ slug: {
968
+ init: true,
969
+ key: "slug",
970
+ notion: "Slug",
971
+ type: "rich_text",
972
+ },
973
+ socialApple: {
974
+ init: true,
975
+ key: "socialApple",
976
+ notion: "Social.Apple",
977
+ type: "url",
978
+ },
979
+ socialFacebook: {
980
+ init: true,
981
+ key: "socialFacebook",
982
+ notion: "Social.Facebook",
983
+ type: "url",
984
+ },
985
+ socialInstagram: {
986
+ init: true,
987
+ key: "socialInstagram",
988
+ notion: "Social.Instagram",
989
+ type: "url",
990
+ },
991
+ socialSpotify: {
992
+ init: true,
993
+ key: "socialSpotify",
994
+ notion: "Social.Spotify",
995
+ type: "url",
996
+ },
997
+ socialTwitter: {
998
+ init: true,
999
+ key: "socialTwitter",
1000
+ notion: "Social.Twitter",
1001
+ type: "url",
1002
+ },
1003
+ socialWebsite: {
1004
+ init: true,
1005
+ key: "socialWebsite",
1006
+ notion: "Social.Website",
1007
+ type: "url",
1008
+ },
1009
+ status: {
1010
+ init: true,
1011
+ key: "status",
1012
+ notion: "Status",
1013
+ type: "select",
1014
+ },
1015
+ subtitle: {
1016
+ init: true,
1017
+ key: "subtitle",
1018
+ notion: "Subtitle",
1019
+ type: "rich_text",
1020
+ },
1021
+ ticketUrl: {
1022
+ init: true,
1023
+ key: "ticketUrl",
1024
+ notion: "TicketUrl",
1025
+ type: "url",
1026
+ },
1027
+ title: {
1028
+ init: true,
1029
+ key: "title",
1030
+ notion: "Title",
1031
+ type: "title",
1032
+ },
1033
+ type: {
1034
+ init: true,
1035
+ key: "type",
1036
+ notion: "Type",
1037
+ type: "select",
1038
+ },
1039
+ };
1040
+
1041
+ /**
1042
+ * @note
1043
+ * Limit Each Database (Route Type) to _only_
1044
+ * have valid data for its schema
1045
+ */
1046
+
1047
+ const PROPERTIES_DEFAULT = [
1048
+ PROPERTIES.authors,
1049
+ // PROPERTIES.dateCreated,
1050
+ PROPERTIES.datePublished,
1051
+ PROPERTIES.isIndexed,
1052
+ PROPERTIES.isPublished,
1053
+ PROPERTIES.slug,
1054
+ PROPERTIES.seoDescription,
1055
+ PROPERTIES.seoImage,
1056
+ PROPERTIES.seoImageDescription,
1057
+ PROPERTIES.seoKeywords,
1058
+ PROPERTIES.title,
1059
+ ];
1060
+
1061
+ const BLOG = [...PROPERTIES_DEFAULT];
1062
+
1063
+ const BOOKS = [...PROPERTIES_DEFAULT, PROPERTIES.author, PROPERTIES.status, PROPERTIES.subtitle];
1064
+
1065
+ const EPISODES = [
1066
+ ...PROPERTIES_DEFAULT,
1067
+ PROPERTIES.dateRecorded,
1068
+ PROPERTIES.duration,
1069
+ PROPERTIES.episode,
1070
+ PROPERTIES.mp3,
1071
+ PROPERTIES.season,
1072
+ PROPERTIES.relationEpisodes__People_Guest,
1073
+ PROPERTIES.relationEpisodes__People_Sound_Engineer,
1074
+ PROPERTIES.relationEpisodes__People_Thanks,
1075
+ PROPERTIES.relationEpisodes__Podcasts,
1076
+ PROPERTIES.relationEpisodes__Venues,
1077
+ PROPERTIES.socialApple,
1078
+ PROPERTIES.socialSpotify,
1079
+ PROPERTIES.type,
1080
+ /**
1081
+ * @note(notion)
1082
+ * do not init/seed these values, they are updated _after_ init
1083
+ */
1084
+ // PROPERTIES.rollupEpisodes__People_Guest,
1085
+ // PROPERTIES.rollupEpisodes__People_Sound_Engineer,
1086
+ // PROPERTIES.rollupEpisodes__People_Thanks,
1087
+ PROPERTIES.rollupEpisodes__Podcasts,
1088
+ PROPERTIES.rollupEpisodes__PodcastsSlugs,
1089
+ // PROPERTIES.rollupEpisodes__Venues,
1090
+ ];
1091
+
1092
+ const EVENTS = [
1093
+ ...PROPERTIES_DEFAULT,
1094
+ PROPERTIES.dateEvent,
1095
+ PROPERTIES.relationEvents__People_Guest_Music,
1096
+ PROPERTIES.relationEvents__People_Guest,
1097
+ PROPERTIES.relationEvents__People_Host,
1098
+ PROPERTIES.relationEvents__Shows_Lineup,
1099
+ PROPERTIES.relationEvents__Shows,
1100
+ PROPERTIES.relationEvents__Venues,
1101
+ PROPERTIES.socialFacebook,
1102
+ PROPERTIES.socialWebsite,
1103
+ PROPERTIES.ticketUrl,
1104
+ /**
1105
+ * @note(notion)
1106
+ * do not init/seed these values, they are updated _after_ init
1107
+ */
1108
+ PROPERTIES.rollupEvents__People_Cast,
1109
+ PROPERTIES.rollupEvents__People_Guest_Music,
1110
+ PROPERTIES.rollupEvents__People_Guest,
1111
+ PROPERTIES.rollupEvents__People_Host,
1112
+ PROPERTIES.rollupEvents__Shows_Lineup,
1113
+ PROPERTIES.rollupEvents__Shows,
1114
+ PROPERTIES.rollupEvents__Venues,
1115
+ /**
1116
+ * -------------------------------------
1117
+ */
1118
+ ];
1119
+
1120
+ const PAGES = [...PROPERTIES_DEFAULT];
1121
+
1122
+ const PEOPLE = [
1123
+ ...PROPERTIES_DEFAULT,
1124
+ PROPERTIES.email,
1125
+ PROPERTIES.nameFirst,
1126
+ PROPERTIES.nameLast,
1127
+ PROPERTIES.namePreferred,
1128
+ /**
1129
+ * @note(notion)
1130
+ * do not init/seed these values, they are updated _after_ init
1131
+ */
1132
+ PROPERTIES.relationPeople__Episodes_Guest,
1133
+ PROPERTIES.relationPeople__Episodes_Sound_Engineer,
1134
+ PROPERTIES.relationPeople__Episodes_Thanks,
1135
+ PROPERTIES.relationPeople__Events_Guest,
1136
+ PROPERTIES.relationPeople__Events_Guest_Music,
1137
+ PROPERTIES.relationPeople__Events_Host,
1138
+ PROPERTIES.relationPeople__Podcasts_Host,
1139
+ PROPERTIES.relationPeople__Podcasts_Sound_Engineer,
1140
+ PROPERTIES.relationPeople__Shows_Cast,
1141
+ PROPERTIES.relationPeople__Shows_Cast_Past,
1142
+ PROPERTIES.relationPeople__Shows_Director,
1143
+ PROPERTIES.relationPeople__Shows_Director_Musical,
1144
+ PROPERTIES.relationPeople__Shows_Director_Technical,
1145
+ PROPERTIES.relationPeople__Shows_Producer,
1146
+ PROPERTIES.relationPeople__Shows_Thanks,
1147
+ PROPERTIES.relationPeople__Shows_Writer,
1148
+ /**
1149
+ * -------------------------------------
1150
+ */
1151
+ ];
1152
+
1153
+ const PODCASTS = [
1154
+ ...PROPERTIES_DEFAULT,
1155
+ PROPERTIES.categories,
1156
+ PROPERTIES.explicit,
1157
+ PROPERTIES.podcastAuthor,
1158
+ PROPERTIES.podcastAuthorEmail,
1159
+ PROPERTIES.relationPodcasts__People_Host,
1160
+ PROPERTIES.relationPodcasts__People_Sound_Engineer,
1161
+ PROPERTIES.socialApple,
1162
+ PROPERTIES.socialSpotify,
1163
+ PROPERTIES.type,
1164
+ /**
1165
+ * @note(notion)
1166
+ * do not init/seed these values, they are updated _after_ init
1167
+ */
1168
+ PROPERTIES.relationPodcasts__Episodes,
1169
+ PROPERTIES.rollupPodcasts__Episodes,
1170
+ PROPERTIES.rollupPodcasts__EpisodesSlugs,
1171
+ /**
1172
+ * -------------------------------------
1173
+ */
1174
+ ];
1175
+
1176
+ const SEO = [...PROPERTIES_DEFAULT];
1177
+
1178
+ const SHOWS = [
1179
+ ...PROPERTIES_DEFAULT,
1180
+ PROPERTIES.relationShows__People_Cast,
1181
+ PROPERTIES.relationShows__People_Cast_Past,
1182
+ PROPERTIES.relationShows__People_Director,
1183
+ PROPERTIES.relationShows__People_Director_Musical,
1184
+ PROPERTIES.relationShows__People_Director_Technical,
1185
+ PROPERTIES.relationShows__People_Producer,
1186
+ PROPERTIES.relationShows__People_Thanks,
1187
+ PROPERTIES.relationShows__People_Writer,
1188
+ PROPERTIES.relationShows__Tags,
1189
+ PROPERTIES.socialFacebook,
1190
+ PROPERTIES.socialInstagram,
1191
+ PROPERTIES.socialTwitter,
1192
+ PROPERTIES.socialWebsite,
1193
+ /**
1194
+ * @note(notion)
1195
+ * do not init/seed these values, they are updated _after_ init
1196
+ */
1197
+ PROPERTIES.relationShows__Events,
1198
+ PROPERTIES.relationShows__Events_Lineup,
1199
+ PROPERTIES.rollupShows__People_Cast,
1200
+ PROPERTIES.rollupShows__People_Cast_Slug,
1201
+ PROPERTIES.rollupShows__People_Cast_Past,
1202
+ PROPERTIES.rollupShows__People_Crew,
1203
+ PROPERTIES.rollupShows__People_Director,
1204
+ PROPERTIES.rollupShows__People_Director_Musical,
1205
+ PROPERTIES.rollupShows__People_Director_Technical,
1206
+ PROPERTIES.rollupShows__People_Music,
1207
+ PROPERTIES.rollupShows__People_Producer,
1208
+ PROPERTIES.rollupShows__People_Thanks,
1209
+ PROPERTIES.rollupShows__People_Writer,
1210
+ PROPERTIES.rollupShows__Tags,
1211
+ /**
1212
+ * -------------------------------------
1213
+ */
1214
+ ];
1215
+
1216
+ const VENUES = [
1217
+ ...PROPERTIES_DEFAULT,
1218
+ PROPERTIES.addressCity,
1219
+ PROPERTIES.addressLatitude,
1220
+ PROPERTIES.addressLongitude,
1221
+ PROPERTIES.addressNeighborhood,
1222
+ PROPERTIES.addressState,
1223
+ PROPERTIES.addressStreet,
1224
+ PROPERTIES.addressZipCode,
1225
+ PROPERTIES.phoneNumber,
1226
+ PROPERTIES.socialFacebook,
1227
+ PROPERTIES.socialInstagram,
1228
+ PROPERTIES.socialTwitter,
1229
+ PROPERTIES.socialWebsite,
1230
+ /**
1231
+ * @note(notion)
1232
+ * do not init/seed these values, they are updated _after_ init
1233
+ */
1234
+ PROPERTIES.relationVenues__Episodes,
1235
+ PROPERTIES.relationVenues__Events,
1236
+ /**
1237
+ * -------------------------------------
1238
+ */
1239
+ ];
1240
+
1241
+ /**
1242
+ * @note
1243
+ * hyper-specific for the init / see (secret/create/init)
1244
+ *
1245
+ * 0. Create DB w/o Relations|Rollups
1246
+ * 1. Update DB w/ Relations
1247
+ * 2. Update DB w/ Relation Naming Preference
1248
+ * 3. Update DB w/ Rollups
1249
+ */
1250
+ const INIT = {
1251
+ BLOG: _filter(BLOG, { init: true }),
1252
+ BOOKS: _filter(BOOKS, { init: true }),
1253
+ EPISODES: _filter(EPISODES, { init: true }),
1254
+ EVENTS: _filter(EVENTS, { init: true }),
1255
+ PAGES: _filter(PAGES, { init: true }),
1256
+ PEOPLE: _filter(PEOPLE, { init: true }),
1257
+ PODCASTS: _filter(PODCASTS, { init: true }),
1258
+ SEO: _filter(SEO, { init: true }),
1259
+ SHOWS: _filter(SHOWS, { init: true }),
1260
+ VENUES: _filter(VENUES, { init: true }),
1261
+ };
1262
+
1263
+ const LOOKUP = {
1264
+ BLOG: BLOG.map((item) => getLookup(item)),
1265
+ BOOKS: BOOKS.map((item) => getLookup(item)),
1266
+ EPISODES: EPISODES.map((item) => getLookup(item)),
1267
+ EVENTS: EVENTS.map((item) => getLookup(item)),
1268
+ PAGES: PAGES.map((item) => getLookup(item)),
1269
+ PEOPLE: PEOPLE.map((item) => getLookup(item)),
1270
+ PODCASTS: PODCASTS.map((item) => getLookup(item)),
1271
+ SEO: SEO.map((item) => getLookup(item)),
1272
+ SHOWS: SHOWS.map((item) => getLookup(item)),
1273
+ VENUES: VENUES.map((item) => getLookup(item)),
1274
+ };
1275
+
1276
+ const PROPERTIES_LOOKUP = _map(PROPERTIES, (item) => getLookup(item));
1277
+
1278
+ const dateTimestamp = new Date().toISOString();
1279
+ // const dateTimestampBlog = new Date('2020-01-01').toISOString()
1280
+
1281
+ /**
1282
+ * @note(notion) right now we are only using `QUERIES.slug`
1283
+ */
1284
+ const QUERIES = {
1285
+ // @todo(notion) Published or Event?
1286
+ dateBefore: {
1287
+ date: {
1288
+ before: dateTimestamp,
1289
+ },
1290
+ property: PROPERTIES.datePublished.notion,
1291
+ },
1292
+ // @todo(notion) Published or Event?
1293
+ dateOnOrAfter: {
1294
+ date: {
1295
+ on_or_after: dateTimestamp,
1296
+ },
1297
+ property: PROPERTIES.datePublished.notion,
1298
+ },
1299
+ published: {
1300
+ checkbox: {
1301
+ equals: false,
1302
+ },
1303
+ property: PROPERTIES.isPublished.notion,
1304
+ },
1305
+ slug: {
1306
+ property: PROPERTIES.slug.notion,
1307
+ rich_text: {
1308
+ equals: "",
1309
+ },
1310
+ },
1311
+ };
1312
+
1313
+ const LISTING: DataTypes = "LISTING";
1314
+ const LISTING_BY_DATE: DataTypes = "LISTING_BY_DATE";
1315
+ const SLUG: DataTypes = "SLUG";
1316
+ const SLUG_BY_ROUTE: DataTypes = "SLUG_BY_ROUTE";
1317
+
1318
+ const getDataTypes: DataTypes[] = [LISTING, LISTING_BY_DATE, SLUG, SLUG_BY_ROUTE];
1319
+
1320
+ const DATA_TYPES: DataTypesObject = Object.assign(
1321
+ {},
1322
+ // @ts-ignore
1323
+ ...getDataTypes.flatMap((d) => ({ [d]: d })),
1324
+ );
1325
+
1326
+ export { DATA_TYPES, getDataTypes, INIT, LOOKUP, PROPERTIES, PROPERTIES_LOOKUP, QUERIES };