@paris-ias/trees 1.8.56

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 (202) hide show
  1. package/LICENSE +679 -0
  2. package/dist/form/action.js +83 -0
  3. package/dist/form/affiliation.js +178 -0
  4. package/dist/form/apps.js +132 -0
  5. package/dist/form/disciplines.js +30 -0
  6. package/dist/form/events.js +836 -0
  7. package/dist/form/fellowships.js +1307 -0
  8. package/dist/form/files.js +30 -0
  9. package/dist/form/mailing.js +43 -0
  10. package/dist/form/news.js +252 -0
  11. package/dist/form/people.js +658 -0
  12. package/dist/form/projects.js +338 -0
  13. package/dist/form/publications.js +364 -0
  14. package/dist/form/tags.js +38 -0
  15. package/dist/form/users.js +576 -0
  16. package/dist/graphql/client/action/query.get.action.gql +22 -0
  17. package/dist/graphql/client/action/query.list.action.gql +32 -0
  18. package/dist/graphql/client/affiliation/query.get.affiliations.gql +37 -0
  19. package/dist/graphql/client/affiliation/query.list.affiliations.gql +43 -0
  20. package/dist/graphql/client/apps/query.get.apps.gql +33 -0
  21. package/dist/graphql/client/apps/query.list.apps.gql +43 -0
  22. package/dist/graphql/client/events/query.get.events.gql +119 -0
  23. package/dist/graphql/client/events/query.list.events.gql +40 -0
  24. package/dist/graphql/client/fellowships/query.get.fellowships.gql +163 -0
  25. package/dist/graphql/client/fellowships/query.list.fellowships.gql +49 -0
  26. package/dist/graphql/client/files/query.get.files.gql +24 -0
  27. package/dist/graphql/client/files/query.list.files.gql +37 -0
  28. package/dist/graphql/client/mailing/query.get.mailing.gql +24 -0
  29. package/dist/graphql/client/mailing/query.list.mailing.gql +23 -0
  30. package/dist/graphql/client/misc/apex.mutations.delete.gql +0 -0
  31. package/dist/graphql/client/misc/apex.mutations.upsert.gql +0 -0
  32. package/dist/graphql/client/misc/apex.queries.login.gql +0 -0
  33. package/dist/graphql/client/misc/query.get.disciplines.gql +17 -0
  34. package/dist/graphql/client/misc/query.get.tags.gql +13 -0
  35. package/dist/graphql/client/misc/query.list.disciplines.gql +23 -0
  36. package/dist/graphql/client/misc/query.list.tags.gql +23 -0
  37. package/dist/graphql/client/news/query.get.news.gql +128 -0
  38. package/dist/graphql/client/news/query.list.news.gql +35 -0
  39. package/dist/graphql/client/people/query.get.people.gql +173 -0
  40. package/dist/graphql/client/people/query.get.users.gql +0 -0
  41. package/dist/graphql/client/people/query.list.people.gql +55 -0
  42. package/dist/graphql/client/people/query.list.users.gql +31 -0
  43. package/dist/graphql/client/projects/query.get.projects.gql +166 -0
  44. package/dist/graphql/client/projects/query.list.projects.gql +33 -0
  45. package/dist/graphql/client/publications/query.get.publications.gql +169 -0
  46. package/dist/graphql/client/publications/query.list.publications.gql +35 -0
  47. package/dist/graphql/schemas/apex-resolvers-list.json +45 -0
  48. package/dist/graphql/schemas/schema.apex.graphql +946 -0
  49. package/dist/graphql/schemas/schema.website.graphql +794 -0
  50. package/dist/graphql/schemas/website-resolvers-list.json +22 -0
  51. package/dist/list/action.js +133 -0
  52. package/dist/list/affiliation.js +133 -0
  53. package/dist/list/apps.js +133 -0
  54. package/dist/list/disciplines.js +132 -0
  55. package/dist/list/events.js +186 -0
  56. package/dist/list/fellowships.js +149 -0
  57. package/dist/list/files.js +132 -0
  58. package/dist/list/mailing.js +132 -0
  59. package/dist/list/news.js +135 -0
  60. package/dist/list/people.js +176 -0
  61. package/dist/list/projects.js +135 -0
  62. package/dist/list/publications.js +152 -0
  63. package/dist/list/tags.js +133 -0
  64. package/dist/list/users.js +176 -0
  65. package/index.ts +63 -0
  66. package/lib/README.md +206 -0
  67. package/lib/buildClientGraphQL.ts +342 -0
  68. package/lib/buildDefaults.ts +0 -0
  69. package/lib/buildSchemas.ts +109 -0
  70. package/lib/generate.ts +505 -0
  71. package/lib/generateAll.ts +231 -0
  72. package/lib/utils.ts +24 -0
  73. package/package.json +34 -0
  74. package/readme.md +116 -0
  75. package/src/LICENSE +661 -0
  76. package/src/action/graphql/client/query.get.action.gql +22 -0
  77. package/src/action/graphql/client/query.list.action.gql +32 -0
  78. package/src/action/graphql/server/apex.types.action.graphql +15 -0
  79. package/src/action/models/action.ts +147 -0
  80. package/src/affiliation/graphql/client/query.get.affiliations.gql +37 -0
  81. package/src/affiliation/graphql/client/query.list.affiliations.gql +43 -0
  82. package/src/affiliation/graphql/server/shared.types.affiliations.graphql +20 -0
  83. package/src/affiliation/models/affiliation.ts +130 -0
  84. package/src/affiliation/models/member.ts +11 -0
  85. package/src/affiliation/models/partner.ts +9 -0
  86. package/src/apps/graphql/client/query.get.apps.gql +33 -0
  87. package/src/apps/graphql/client/query.list.apps.gql +43 -0
  88. package/src/apps/models/apps.ts +195 -0
  89. package/src/events/graphql/client/query.get.events.gql +119 -0
  90. package/src/events/graphql/client/query.list.events.gql +40 -0
  91. package/src/events/graphql/server/shared.inputs.events.graphql +24 -0
  92. package/src/events/models/eventSlot.ts +73 -0
  93. package/src/events/models/events.ts +569 -0
  94. package/src/fellowships/graphql/client/query.get.fellowships.gql +163 -0
  95. package/src/fellowships/graphql/client/query.list.fellowships.gql +49 -0
  96. package/src/fellowships/graphql/server/apex.inputs.fellowshipDetails.graphql +13 -0
  97. package/src/fellowships/graphql/server/shared.types.fellowshipDetails.graphql +13 -0
  98. package/src/fellowships/graphql/server/shared.types.fellowships.graphql +38 -0
  99. package/src/fellowships/models/fellowshipDetails.ts +145 -0
  100. package/src/fellowships/models/fellowships.ts +341 -0
  101. package/src/files/graphql/client/query.get.files.gql +24 -0
  102. package/src/files/graphql/client/query.list.files.gql +37 -0
  103. package/src/files/graphql/server/apex.inputs.files.graphql +7 -0
  104. package/src/files/graphql/server/apex.inputs.video.graphql +9 -0
  105. package/src/files/graphql/server/apex.types.files.graphql +4 -0
  106. package/src/files/graphql/server/shared.inputs.image.graphql +9 -0
  107. package/src/files/graphql/server/shared.types.files.graphql +15 -0
  108. package/src/files/graphql/server/shared.types.image.graphql +9 -0
  109. package/src/files/graphql/server/shared.types.video.graphql +9 -0
  110. package/src/files/models/files.ts +113 -0
  111. package/src/files/models/gallery.ts +11 -0
  112. package/src/files/models/image.ts +159 -0
  113. package/src/files/models/video.ts +166 -0
  114. package/src/form.ts +52 -0
  115. package/src/index.ts +98 -0
  116. package/src/list.ts +34 -0
  117. package/src/mailing/graphql/client/query.get.mailing.gql +24 -0
  118. package/src/mailing/graphql/client/query.list.mailing.gql +23 -0
  119. package/src/mailing/graphql/server/apex.types.mailing.graphql +13 -0
  120. package/src/mailing/models/mailing.ts +123 -0
  121. package/src/misc/graphql/client/apex.mutations.delete.gql +0 -0
  122. package/src/misc/graphql/client/apex.mutations.upsert.gql +0 -0
  123. package/src/misc/graphql/client/apex.queries.login.gql +0 -0
  124. package/src/misc/graphql/client/query.get.disciplines.gql +17 -0
  125. package/src/misc/graphql/client/query.get.tags.gql +13 -0
  126. package/src/misc/graphql/client/query.list.disciplines.gql +23 -0
  127. package/src/misc/graphql/client/query.list.tags.gql +23 -0
  128. package/src/misc/graphql/server/apex.inputs.misc.graphql +13 -0
  129. package/src/misc/graphql/server/apex.inputs.socials.graphql +12 -0
  130. package/src/misc/graphql/server/apex.mutations.graphql +23 -0
  131. package/src/misc/graphql/server/apex.queries.graphql +36 -0
  132. package/src/misc/graphql/server/apex.types.disciplines.graphql +4 -0
  133. package/src/misc/graphql/server/apex.types.tags.graphql +4 -0
  134. package/src/misc/graphql/server/shared.enums.graphql +112 -0
  135. package/src/misc/graphql/server/shared.inputs.misc.graphql +101 -0
  136. package/src/misc/graphql/server/shared.queries.graphql +35 -0
  137. package/src/misc/graphql/server/shared.types.disciplines.graphql +8 -0
  138. package/src/misc/graphql/server/shared.types.events.graphql +39 -0
  139. package/src/misc/graphql/server/shared.types.location.graphql +17 -0
  140. package/src/misc/graphql/server/shared.types.misc.graphql +120 -0
  141. package/src/misc/graphql/server/shared.types.related.graphql +10 -0
  142. package/src/misc/graphql/server/shared.types.relatedAffiliation.graphql +7 -0
  143. package/src/misc/graphql/server/shared.types.relatedEvent.graphql +7 -0
  144. package/src/misc/graphql/server/shared.types.relatedFellowships.graphql +7 -0
  145. package/src/misc/graphql/server/shared.types.relatedNews.graphql +7 -0
  146. package/src/misc/graphql/server/shared.types.relatedPeople.graphql +6 -0
  147. package/src/misc/graphql/server/shared.types.relatedProject.graphql +7 -0
  148. package/src/misc/graphql/server/shared.types.relatedPublications.graphql +6 -0
  149. package/src/misc/graphql/server/shared.types.socials.graphql +22 -0
  150. package/src/misc/graphql/server/shared.types.tags.graphql +11 -0
  151. package/src/misc/graphql/server/website.mutations.graphql +4 -0
  152. package/src/misc/models/disciplines.ts +116 -0
  153. package/src/misc/models/location.ts +136 -0
  154. package/src/misc/models/organizers.ts +13 -0
  155. package/src/misc/models/related.ts +123 -0
  156. package/src/misc/models/relatedEvents.ts +16 -0
  157. package/src/misc/models/relatedFellowships.ts +7 -0
  158. package/src/misc/models/relatedNews.ts +13 -0
  159. package/src/misc/models/relatedPeople.ts +8 -0
  160. package/src/misc/models/relatedProject.ts +14 -0
  161. package/src/misc/models/relatedPublications.ts +14 -0
  162. package/src/misc/models/socials.ts +133 -0
  163. package/src/misc/models/sponsor.ts +13 -0
  164. package/src/misc/models/tags.ts +116 -0
  165. package/src/misc/models/taxonomy.ts +1 -0
  166. package/src/model.ts +7 -0
  167. package/src/news/graphql/client/query.get.news.gql +128 -0
  168. package/src/news/graphql/client/query.list.news.gql +35 -0
  169. package/src/news/graphql/server/share.types.news.graphql +27 -0
  170. package/src/news/models/news.ts +257 -0
  171. package/src/people/graphql/client/query.get.people.gql +173 -0
  172. package/src/people/graphql/client/query.get.users.gql +0 -0
  173. package/src/people/graphql/client/query.list.people.gql +55 -0
  174. package/src/people/graphql/client/query.list.users.gql +31 -0
  175. package/src/people/graphql/server/apex.inputs.consent.graphql +9 -0
  176. package/src/people/graphql/server/apex.inputs.groups.graphql +8 -0
  177. package/src/people/graphql/server/apex.inputs.vintage.graphql +6 -0
  178. package/src/people/graphql/server/shared.types.consent.graphql +9 -0
  179. package/src/people/graphql/server/shared.types.groups.graphql +8 -0
  180. package/src/people/graphql/server/shared.types.people.graphql +29 -0
  181. package/src/people/graphql/server/shared.types.position.graphql +6 -0
  182. package/src/people/graphql/server/shared.types.users.graphql +17 -0
  183. package/src/people/graphql/server/shared.types.vintage.graphql +6 -0
  184. package/src/people/models/consent.ts +82 -0
  185. package/src/people/models/discussants.ts +9 -0
  186. package/src/people/models/experiences.ts +38 -0
  187. package/src/people/models/fellows.ts +12 -0
  188. package/src/people/models/groups.ts +58 -0
  189. package/src/people/models/people.ts +244 -0
  190. package/src/people/models/position.ts +62 -0
  191. package/src/people/models/speakers.ts +9 -0
  192. package/src/people/models/users.ts +252 -0
  193. package/src/people/models/vintage.ts +124 -0
  194. package/src/projects/graphql/client/query.get.projects.gql +166 -0
  195. package/src/projects/graphql/client/query.list.projects.gql +33 -0
  196. package/src/projects/graphql/server/shared.types.projects.graphql +29 -0
  197. package/src/projects/models/projects.ts +249 -0
  198. package/src/publications/graphql/client/query.get.publications.gql +169 -0
  199. package/src/publications/graphql/client/query.list.publications.gql +35 -0
  200. package/src/publications/graphql/server/shared.types.publications.graphql +34 -0
  201. package/src/publications/models/article.ts +262 -0
  202. package/src/publications/models/publications.ts +306 -0
@@ -0,0 +1,13 @@
1
+ type Mailing {
2
+ appId: String
3
+ name: String
4
+ description: String
5
+ createdAt: String
6
+ updatedAt: String
7
+ date: AWSDateTime
8
+ }
9
+
10
+ type MailingList {
11
+ total: Int!
12
+ items: [Mailing]
13
+ }
@@ -0,0 +1,123 @@
1
+ import Model from "../../model"
2
+ import { formType } from "../../form"
3
+
4
+ export interface Mailing {
5
+ name: string
6
+ content?: string
7
+ createdAt: string
8
+ updatedAt: string
9
+ date: Date
10
+ }
11
+
12
+ const defaultConfig: Model = {
13
+ source: "gql",
14
+ // markdown related keys
15
+ type: "", // 'directory' | 'file'
16
+ // GQL related keys
17
+
18
+ //Features related keys
19
+ list: {
20
+ create: true, // allow to create new items
21
+
22
+ filters: {
23
+ year: {
24
+ type: "Select",
25
+ },
26
+ },
27
+ sort: {
28
+ // sort options
29
+ nameasc: {
30
+ // by name from a to z
31
+ icon: "sort-alphabetical-ascending",
32
+ text: "by-name-from-a-to-z",
33
+ value: ["article_title", 1],
34
+ },
35
+ namedesc: {
36
+ // by name from z to a
37
+ icon: "sort-alphabetical-descending",
38
+ text: "by-name-from-z-to-a",
39
+ value: ["article_title", -1],
40
+ },
41
+ dateasc: {
42
+ // by date from most recent to oldest
43
+ icon: "sort-calendar-descending",
44
+ text: "by-date-most-recent-first",
45
+ value: ["date", -1],
46
+ default: true,
47
+ },
48
+ datedesc: {
49
+ // by date from oldest to most recent
50
+ icon: "sort-calendar-ascending",
51
+ text: "by-date-oldest-first",
52
+ value: ["date", 1],
53
+ },
54
+ },
55
+ views: {
56
+ rows: {
57
+ name: "rows",
58
+ icon: "view-list",
59
+ perPage: {
60
+ options: [9, 12, 16],
61
+ default: 9,
62
+ },
63
+ },
64
+ dense: {
65
+ default: true,
66
+ name: "dense",
67
+ icon: "land-rows-horizontal",
68
+ perPage: {
69
+ options: [20, 40, 60, 80, 100],
70
+ default: 20,
71
+ },
72
+ },
73
+ tiles: {
74
+ name: "tiles",
75
+ icon: "view-quilt",
76
+ },
77
+ grid: {
78
+ name: "grid",
79
+ icon: "view-day",
80
+ },
81
+ },
82
+ },
83
+ form: {
84
+ name: {
85
+ label: "name",
86
+ component: "TextField",
87
+ type: formType.Primitive,
88
+
89
+ rules: {
90
+ required: true,
91
+ min: 5,
92
+ max: 200,
93
+ },
94
+ meta: "name",
95
+ },
96
+ content: {
97
+ label: "content",
98
+ component: "TextField",
99
+ type: formType.Primitive,
100
+
101
+ rules: {
102
+ required: true,
103
+ min: 5,
104
+ max: 200,
105
+ },
106
+ meta: "content",
107
+ },
108
+ date: {
109
+ label: "date",
110
+ component: "TextField",
111
+ description: "The date when the mailing will be sent",
112
+ type: formType.Primitive,
113
+ rules: {
114
+ required: true,
115
+ min: 5,
116
+ max: 200,
117
+ },
118
+ meta: "date",
119
+ },
120
+ },
121
+ }
122
+
123
+ export default defaultConfig
File without changes
@@ -0,0 +1,17 @@
1
+ query getDiscipline(
2
+ $appId: ID = "iea"
3
+ $itemId: ID = ""
4
+ $lang: String = "en"
5
+ ) {
6
+ getDiscipline(appId: $appId, itemId: $itemId, lang: $lang) {
7
+ createdAt
8
+ description
9
+ icon
10
+ name
11
+ updatedAt
12
+ slug {
13
+ fr
14
+ en
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,13 @@
1
+ query getTag($appId: ID = "iea", $itemId: ID = "", $lang: String = "en") {
2
+ getTag(appId: $appId, itemId: $itemId, lang: $lang) {
3
+ createdAt
4
+ description
5
+ icon
6
+ name
7
+ updatedAt
8
+ slug {
9
+ fr
10
+ en
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,23 @@
1
+ query listDisciplines(
2
+ $appId: ID = "iea"
3
+ $lang: String = "en"
4
+ $options: ListInput = {
5
+ skip: 0
6
+ limit: 9
7
+ sortBy: ["start"]
8
+ sortDesc: false
9
+ filters: "{}"
10
+ }
11
+ ) {
12
+ listDisciplines(options: $options, appId: $appId, lang: $lang) {
13
+ items {
14
+ createdAt
15
+ description
16
+ icon
17
+ name
18
+ updatedAt
19
+ slug
20
+ }
21
+ total
22
+ }
23
+ }
@@ -0,0 +1,23 @@
1
+ query listTags(
2
+ $options: ListInput = {
3
+ skip: 0
4
+ limit: 9
5
+ sortBy: ["start"]
6
+ sortDesc: false
7
+ filters: "{}"
8
+ }
9
+ $appId: ID = "iea"
10
+ $lang: String = "en"
11
+ ) {
12
+ listTags(options: $options, appId: $appId, lang: $lang) {
13
+ items {
14
+ createdAt
15
+ description
16
+ icon
17
+ name
18
+ updatedAt
19
+ slug
20
+ }
21
+ total
22
+ }
23
+ }
@@ -0,0 +1,13 @@
1
+ input SearchOptionsInput {
2
+ modules: [String!]
3
+ text: String
4
+ }
5
+
6
+
7
+ input WikipediaInput {
8
+ lang: String!
9
+ disciplines: AWSJSON
10
+ thematics: AWSJSON
11
+ types: AWSJSON
12
+ tags: AWSJSON
13
+ }
@@ -0,0 +1,12 @@
1
+ input SocialsInput {
2
+ website: AWSURL
3
+ wikipedia: AWSURL
4
+ orcid: AWSURL
5
+ linkedin: AWSURL
6
+ twitter: AWSURL
7
+ instagram: AWSURL
8
+ scholar: AWSURL
9
+ researchgate: AWSURL
10
+ mendeley: AWSURL
11
+ idRef: Int
12
+ }
@@ -0,0 +1,23 @@
1
+ type Mutation {
2
+ # User management (admin functions)
3
+ inviteUser(options: UserInput!): Boolean
4
+ changePassword(
5
+ key: String!
6
+ password: String!
7
+ recaptcha: String!
8
+ ): TokenAndUser
9
+ updateUser(email: AWSEmail!, options: UpdateUserInput!): User
10
+ forgotPassword(email: AWSEmail!, recaptcha: String!): Boolean
11
+ blockUser(email: AWSEmail!): Boolean
12
+ deleteAccount: Boolean
13
+
14
+ # Content management (admin functions - only implemented)
15
+ upsertApp(options: AppInput!): Boolean
16
+ upsertEvent(appId: String, itemId: ID, options: EventInput!): Event
17
+
18
+ # Event booking (shared with website)
19
+ bookEvent(itemId: ID!, slot: SlotInput!): Boolean
20
+
21
+ # Nomenclature management
22
+ createNomenclature(options: NomenclatureInput!): Nomenclature
23
+ }
@@ -0,0 +1,36 @@
1
+ type Query {
2
+ # Get item (admin-specific)
3
+ getApp(appId: ID, itemId: ID, lang: String): App
4
+ getAction(appId: ID, itemId: ID, lang: String): Action
5
+ getAffiliation(appId: ID, itemId: ID, lang: String): Affiliation
6
+ getDiscipline(appId: ID, itemId: ID, lang: String): Disciplines
7
+ getFile(appId: ID, itemId: ID, lang: String): File
8
+ getMailing(appId: ID, itemId: ID, lang: String): Mailing
9
+ getTag(appId: ID, itemId: ID, lang: String): Tag
10
+
11
+ # List items (admin-specific)
12
+ listApps(appId: ID, options: ListInput!, lang: String): AppList
13
+ listActions(appId: ID, options: ListInput!, lang: String): ActionList
14
+ listAffiliations(
15
+ appId: ID
16
+ options: ListInput!
17
+ lang: String
18
+ ): AffiliationList
19
+ listDisciplines(appId: ID, options: ListInput!, lang: String): DisciplinesList
20
+ listFiles(appId: ID, options: ListInput!, lang: String): FilesList
21
+ listMailing(appId: ID, options: ListInput!, lang: String): MailingList
22
+ listTags(appId: ID, options: ListInput!, lang: String): TagsList
23
+ searchOptions(appId: ID, options: SearchOptionsInput!, lang: String): Related
24
+
25
+ # Shared with some admin-specific parameters
26
+ getPresignedUploadUrl(appId: ID, typeFile: String!): String
27
+ login(email: AWSEmail!, password: String!): Token
28
+ listUsers(appId: ID, options: ListInput!, lang: String): UserList
29
+ getUser(appId: ID, itemId: ID, lang: String): User
30
+ buildFiltersValues: Filters
31
+ }
32
+
33
+ schema {
34
+ query: Query
35
+ mutation: Mutation
36
+ }
@@ -0,0 +1,4 @@
1
+ type DisciplinesList {
2
+ total: Int!
3
+ items: [Disciplines]
4
+ }
@@ -0,0 +1,4 @@
1
+ type TagsList {
2
+ total: Int!
3
+ items: [Tag]
4
+ }
@@ -0,0 +1,112 @@
1
+ enum organiserType {
2
+ IAS
3
+ MEMBER
4
+ FELLOW
5
+ EXTERNAL
6
+ }
7
+
8
+ enum projectStatus {
9
+ PLANNED
10
+ IN_PROGRESS
11
+ FINISHED
12
+ CANCELED
13
+ }
14
+
15
+ enum publicationType {
16
+ ARTICLE
17
+ CONFERENCE_PAPER
18
+ BOOK
19
+ BOOK_CHAPTER
20
+ THESIS
21
+ REPORT
22
+ SOFTWARE
23
+ DATA
24
+ VIDEO
25
+ AUDIO
26
+ PODCAST
27
+ OTHER
28
+ }
29
+
30
+ enum newsCategories {
31
+ PRESS_RELEASE
32
+ INTERVIEW
33
+ ARTICLE
34
+ OPINION
35
+ REPORT
36
+ BLOG
37
+ LIFE_AT_THE_INSTITUTE
38
+ EVENT
39
+ ANNOUNCEMENT
40
+ JOB
41
+ FELLOWSHIP
42
+ GRANT
43
+ AWARD
44
+ PROJECT
45
+ TOOL
46
+ SOFTWARE
47
+ DATA
48
+ PUBLICATION
49
+ VIDEO
50
+ AUDIO
51
+ OTHER
52
+ }
53
+
54
+ enum eventType {
55
+ ONLINE
56
+ PHYSICAL
57
+ HYBRID
58
+ }
59
+
60
+ enum eventState {
61
+ DRAFT
62
+ PUBLISHED
63
+ REMOVED
64
+ FINISHED
65
+ CANCELLED
66
+ POSTPONED
67
+ RESCHEDULED
68
+ }
69
+
70
+ enum eventCategories {
71
+ CALL
72
+ SEMINAR
73
+ WORKSHOP
74
+ CONFERENCE
75
+ LECTURE
76
+ SYMPOSIUM
77
+ MEETING
78
+ COLLOQUIUM
79
+ FORUM
80
+ ROUND_TABLE
81
+ PANEL
82
+ WEBINAR
83
+ FELLOW_PRESENTATION
84
+ CONFERENCE_CYCLE
85
+ EXHIBITION
86
+ OTHER
87
+ }
88
+
89
+ enum appState {
90
+ ACTIVE
91
+ SUSPENDED
92
+ INACTIVE
93
+ }
94
+
95
+ enum bookingState {
96
+ OPEN
97
+ FULL
98
+ CLOSED
99
+ }
100
+
101
+ enum FellowshipStatus {
102
+ PLANNED
103
+ ONGOING
104
+ FINISHED
105
+ CANCELLED
106
+ }
107
+
108
+ enum FellowshipType {
109
+ SHORT_STAY
110
+ LONG_STAY
111
+ IN_GROUP
112
+ }
@@ -0,0 +1,101 @@
1
+ input AppInput {
2
+ name: String!
3
+ description: String
4
+ summary: String
5
+ subtitle: String
6
+ logo: String
7
+ url: AWSURL
8
+ state: appState
9
+ color: String
10
+ }
11
+
12
+ input AppRoleInput {
13
+ appId: String
14
+ roles: [Int!]!
15
+ }
16
+
17
+ input WikipediaIdsLabelInput {
18
+ ids: [String!]
19
+ label: String
20
+ }
21
+
22
+ input UserInput {
23
+ admin: Boolean
24
+ apps: [AppRoleInput!]
25
+ country: Int
26
+ email: AWSEmail!
27
+ entity: String
28
+ firstname: String!
29
+ lastname: String!
30
+ position: String
31
+ }
32
+
33
+ input UpdateUserInput {
34
+ admin: Boolean
35
+ apps: [AppRoleInput!]
36
+ profile: ProfileInput
37
+ settings: SettingsInput
38
+ status: Int
39
+ }
40
+
41
+ input SlotInput {
42
+ firstname: String!
43
+ lastname: String!
44
+ email: AWSEmail!
45
+ institution: String
46
+ lang: String!
47
+ }
48
+
49
+ input SettingsInput {
50
+ lang: String
51
+ }
52
+
53
+ input ProfileInput {
54
+ country: Int
55
+ firstname: String!
56
+ lastname: String!
57
+ position: String
58
+ image: ImageInput
59
+ references: [String]
60
+ presentation: String
61
+ twitter: String
62
+ linkedin: String
63
+ wikipedia: String
64
+ }
65
+
66
+ input PlaceInput {
67
+ name: String!
68
+ address: String
69
+ url: AWSURL
70
+ }
71
+
72
+ input NomenclatureSettingsInput {
73
+ lang: [String!]
74
+ defaultLang: String
75
+ extended: Boolean
76
+ }
77
+
78
+ input NomenclatureInput {
79
+ settings: NomenclatureSettingsInput
80
+ disciplines: WikipediaIdsLabelInput
81
+ types: WikipediaIdsLabelInput
82
+ thematics: WikipediaIdsLabelInput
83
+ tags: WikipediaIdsLabelInput
84
+ }
85
+
86
+ input ListInput {
87
+ filters: AWSJSON
88
+ limit: Int
89
+ skip: Int
90
+ sortBy: [String!]
91
+ sortDesc: [Boolean!]
92
+ search: String
93
+ }
94
+
95
+
96
+ input Entity_smInput {
97
+ name: String!
98
+ description: String
99
+ logo: String
100
+ place: PlaceInput
101
+ }
@@ -0,0 +1,35 @@
1
+ type Query {
2
+ # main search
3
+ search(appId: ID, search: String, lang: String): SearchList
4
+ # Get item
5
+ getApp(appId: ID, lang: String): App
6
+ getFellowship(appId: ID, itemId: ID, lang: String): Fellowship
7
+ getEvent(appId: ID, itemId: ID, lang: String): Event
8
+ getNews(appId: ID, itemId: ID, lang: String): News
9
+ getPeople(appId: ID, itemId: ID, lang: String): People
10
+ getProject(appId: ID, itemId: ID, lang: String): Project
11
+ getPublication(appId: ID, itemId: ID, lang: String): Publication
12
+
13
+ # List items
14
+ listEvents(appId: ID, options: ListInput!, lang: String): EventsList
15
+ listNews(appId: ID, options: ListInput!, lang: String): NewsList
16
+ listPeople(appId: ID, options: ListInput!, lang: String): PeopleList
17
+ listProjects(appId: ID, options: ListInput!, lang: String): ProjectsList
18
+ listPublications(
19
+ appId: ID
20
+ options: ListInput!
21
+ lang: String
22
+ ): PublicationsList
23
+ listFellowships(appId: ID, options: ListInput!, lang: String): FellowshipList
24
+
25
+ # Misc
26
+ getPresignedUploadUrl(appId: ID, typeFile: String!): String
27
+ login(email: AWSEmail!, password: String!): Token
28
+ listUsers(appId: ID, options: ListInput!, lang: String): UserList
29
+ getUser(appId: ID, userId: ID): User
30
+ buildFiltersValues: Filters
31
+ }
32
+
33
+ schema {
34
+ query: Query
35
+ }
@@ -0,0 +1,8 @@
1
+ type Disciplines {
2
+ appId: String
3
+ createdAt: AWSDateTime
4
+ description: String
5
+ icon: String
6
+ name: String
7
+ updatedAt: AWSDateTime
8
+ }
@@ -0,0 +1,39 @@
1
+ type Event {
2
+ appId: String
3
+ createdBy: ID
4
+ category: eventCategories
5
+ name: String!
6
+ description: String
7
+ details: String
8
+ dateText: String
9
+ eventType: eventType
10
+ totalSlots: Int
11
+ availableSlots: Int
12
+ slots: [Slot]
13
+ delay: AWSDateTime
14
+ place: Place
15
+ start: AWSDateTime
16
+ stop: AWSDateTime
17
+ summary: String
18
+ related: Related
19
+ subtitle: String
20
+ program: String
21
+ outside: Boolean
22
+ url: AWSURL
23
+ image: Image
24
+ state: eventState
25
+ bookingState: bookingState
26
+ slug: AWSJSON
27
+ }
28
+
29
+ type EventFilters {
30
+ disciplines: [String!]
31
+ fellowships: [String!]
32
+ tags: [String!]
33
+ category: [eventCategories!]
34
+ }
35
+
36
+ type EventsList {
37
+ total: Int!
38
+ items: [Event]
39
+ }
@@ -0,0 +1,17 @@
1
+ type Location {
2
+ name: String!
3
+ details: String
4
+ alt: String
5
+ street: String
6
+ city: String
7
+ country: String
8
+ zip: Int
9
+ geocode: Geocode
10
+ }
11
+
12
+ type Geocode {
13
+ lat: Float
14
+ lng: Float
15
+ }
16
+
17
+