@ndla/types-backend 0.2.40 → 0.2.42

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.
@@ -1,3 +1,4 @@
1
+ export type ArenaGroup = "ADMIN";
1
2
  export interface IAuthor {
2
3
  type: string;
3
4
  name: string;
@@ -167,6 +168,7 @@ export interface IMyNDLAUser {
167
168
  groups: IMyNDLAGroup[];
168
169
  arenaEnabled: boolean;
169
170
  shareName: boolean;
171
+ arenaGroups: ArenaGroup[];
170
172
  }
171
173
  export interface INewFolder {
172
174
  name: string;
@@ -1,7 +1,38 @@
1
+ export type ArenaGroup = "ADMIN";
2
+ export interface IArenaUser {
3
+ id: number;
4
+ displayName: string;
5
+ username: string;
6
+ location: string;
7
+ groups: ArenaGroup[];
8
+ }
1
9
  export interface IBreadcrumb {
2
10
  id: string;
3
11
  name: string;
4
12
  }
13
+ export interface ICategory {
14
+ id: number;
15
+ title: string;
16
+ description: string;
17
+ topicCount: number;
18
+ postCount: number;
19
+ isFollowing: boolean;
20
+ visible: boolean;
21
+ rank: number;
22
+ }
23
+ export interface ICategoryWithTopics {
24
+ id: number;
25
+ title: string;
26
+ description: string;
27
+ topicCount: number;
28
+ postCount: number;
29
+ topicPage: number;
30
+ topicPageSize: number;
31
+ topics: ITopic[];
32
+ isFollowing: boolean;
33
+ visible: boolean;
34
+ rank: number;
35
+ }
5
36
  export interface IConfigMeta {
6
37
  key: string;
7
38
  value: (boolean | string[]);
@@ -12,6 +43,14 @@ export interface IConfigMetaRestricted {
12
43
  key: string;
13
44
  value: (boolean | string[]);
14
45
  }
46
+ export interface IFlag {
47
+ id: number;
48
+ reason: string;
49
+ created: string;
50
+ resolved?: string;
51
+ isResolved: boolean;
52
+ flagger: IArenaUser;
53
+ }
15
54
  export interface IFolder {
16
55
  id: string;
17
56
  name: string;
@@ -46,6 +85,15 @@ export interface IMyNDLAUser {
46
85
  groups: IMyNDLAGroup[];
47
86
  arenaEnabled: boolean;
48
87
  shareName: boolean;
88
+ arenaGroups: ArenaGroup[];
89
+ }
90
+ export interface INewCategory {
91
+ title: string;
92
+ description: string;
93
+ visible: boolean;
94
+ }
95
+ export interface INewFlag {
96
+ reason: string;
49
97
  }
50
98
  export interface INewFolder {
51
99
  name: string;
@@ -53,15 +101,63 @@ export interface INewFolder {
53
101
  status?: string;
54
102
  description?: string;
55
103
  }
104
+ export interface INewPost {
105
+ content: string;
106
+ }
107
+ export interface INewPostNotification {
108
+ id: number;
109
+ topicId: number;
110
+ isRead: boolean;
111
+ topicTitle: string;
112
+ post: IPost;
113
+ notificationTime: string;
114
+ }
56
115
  export interface INewResource {
57
116
  resourceType: string;
58
117
  path: string;
59
118
  tags?: string[];
60
119
  resourceId: string;
61
120
  }
121
+ export interface INewTopic {
122
+ title: string;
123
+ initialPost: INewPost;
124
+ }
62
125
  export interface IOwner {
63
126
  name: string;
64
127
  }
128
+ export interface IPaginatedArenaUsers {
129
+ totalCount: number;
130
+ page: number;
131
+ pageSize: number;
132
+ items: IArenaUser[];
133
+ }
134
+ export interface IPaginatedNewPostNotifications {
135
+ totalCount: number;
136
+ page: number;
137
+ pageSize: number;
138
+ items: INewPostNotification[];
139
+ }
140
+ export interface IPaginatedPosts {
141
+ totalCount: number;
142
+ page: number;
143
+ pageSize: number;
144
+ items: IPost[];
145
+ }
146
+ export interface IPaginatedTopics {
147
+ totalCount: number;
148
+ page: number;
149
+ pageSize: number;
150
+ items: ITopic[];
151
+ }
152
+ export interface IPost {
153
+ id: number;
154
+ content: string;
155
+ created: string;
156
+ updated: string;
157
+ owner: IArenaUser;
158
+ flags?: IFlag[];
159
+ topicId: number;
160
+ }
65
161
  export interface IResource {
66
162
  id: string;
67
163
  resourceType: string;
@@ -71,11 +167,36 @@ export interface IResource {
71
167
  resourceId: string;
72
168
  rank?: number;
73
169
  }
170
+ export interface ITopic {
171
+ id: number;
172
+ title: string;
173
+ postCount: number;
174
+ created: string;
175
+ updated: string;
176
+ categoryId: number;
177
+ isFollowing: boolean;
178
+ }
179
+ export interface ITopicWithPosts {
180
+ id: number;
181
+ title: string;
182
+ postCount: number;
183
+ posts: IPaginatedPosts;
184
+ created: string;
185
+ updated: string;
186
+ categoryId: number;
187
+ isFollowing: boolean;
188
+ }
74
189
  export interface IUpdatedFolder {
75
190
  name?: string;
76
191
  status?: string;
77
192
  description?: string;
78
193
  }
194
+ export interface IUpdatedMyNDLAUser {
195
+ favoriteSubjects?: string[];
196
+ arenaEnabled?: boolean;
197
+ shareName?: boolean;
198
+ arenaGroups?: ArenaGroup[];
199
+ }
79
200
  export interface IUpdatedResource {
80
201
  tags?: string[];
81
202
  resourceId?: string;
package/package.json CHANGED
@@ -27,5 +27,5 @@
27
27
  "devDependencies": {
28
28
  "typescript": "^5.0.2"
29
29
  },
30
- "version": "0.2.40"
30
+ "version": "0.2.42"
31
31
  }