@demind-inc/core 1.10.15 → 1.10.17

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.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./models";
2
2
  export * from "./constants";
3
3
  export * from "./types";
4
+ export * from "./languages";
4
5
  export * from "./helpers";
5
6
  export * from "./external";
package/dist/index.js CHANGED
@@ -17,5 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./models"), exports);
18
18
  __exportStar(require("./constants"), exports);
19
19
  __exportStar(require("./types"), exports);
20
+ __exportStar(require("./languages"), exports);
20
21
  __exportStar(require("./helpers"), exports);
21
22
  __exportStar(require("./external"), exports);
@@ -0,0 +1,3 @@
1
+ export declare const DEFAULT_LANGUAGE = "en";
2
+ export declare const SUPPORTED_LANGUAGES: readonly ["en", "it", "ko", "el", "ja", "fr", "de", "es", "zh-Hans"];
3
+ export type SupportedLanguage = (typeof SUPPORTED_LANGUAGES)[number];
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUPPORTED_LANGUAGES = exports.DEFAULT_LANGUAGE = void 0;
4
+ exports.DEFAULT_LANGUAGE = "en";
5
+ exports.SUPPORTED_LANGUAGES = [
6
+ "en",
7
+ "it",
8
+ "ko",
9
+ "el",
10
+ "ja",
11
+ "fr",
12
+ "de",
13
+ "es",
14
+ "zh-Hans",
15
+ ];
@@ -1,3 +1,4 @@
1
+ import { SupportedLanguage } from "../languages";
1
2
  import { CalendarEventShowAs, CalendarType } from "./Calendar";
2
3
  import { RoutineActivityRecurring } from "./Routine";
3
4
  export interface Preferences {
@@ -32,6 +33,7 @@ export interface EnergyPreference {
32
33
  export interface GeneralPreference {
33
34
  timeFormat?: TimeFormatType;
34
35
  themeMode?: ThemeMode;
36
+ preferredLanguage?: SupportedLanguage;
35
37
  }
36
38
  export interface TaskPreference {
37
39
  durationMin?: number;
@@ -3,6 +3,7 @@ import { TodoIntegrationType } from "./TodoIntegrations";
3
3
  import { TaskLabel } from "./TaskLabels";
4
4
  import { CircadianPhase } from "../types";
5
5
  import { AppleRecurrenceRuleFrequency } from "./Calendar";
6
+ import { TeamRole } from "./Team";
6
7
  export type WebhookStatus = "pending" | "synced" | "skipped" | "failed";
7
8
  export interface TodoTasksBoardAdditionalParamsGithub {
8
9
  projectId: string;
@@ -105,6 +106,14 @@ export interface WebhookStatusSet {
105
106
  status: WebhookStatus;
106
107
  syncedAt: number;
107
108
  }
109
+ export interface TeamTaskAssignment {
110
+ teamId: string;
111
+ createdByUserId: string;
112
+ assigneeUserId?: string;
113
+ assignedByUserId?: string;
114
+ createdAt: string;
115
+ updatedAt: string;
116
+ }
108
117
  export interface TaskItem {
109
118
  taskId: string;
110
119
  originalTaskId: string;
@@ -121,14 +130,7 @@ export interface TaskItem {
121
130
  labels?: TaskLabel[];
122
131
  assigneesIds?: string[];
123
132
  isMeAssigned?: boolean;
124
- teamTaskAssignment?: {
125
- teamId: string;
126
- createdByUserId: string;
127
- assigneeUserId?: string;
128
- assignedByUserId?: string;
129
- createdAt: string;
130
- updatedAt: string;
131
- };
133
+ teamTaskAssignment?: TeamTaskAssignment;
132
134
  updatedAt: string;
133
135
  duration?: TaskItemDuration;
134
136
  addedToCalendar?: boolean;
@@ -156,6 +158,47 @@ export interface TaskItem {
156
158
  [key: string]: any;
157
159
  };
158
160
  }
161
+ export type TeamTaskSource = "shared-personal-board" | "team-board";
162
+ export type TeamTaskBucket = "overdue" | "today" | "upcoming" | "done";
163
+ export interface TeamTaskMemberSummary {
164
+ userId: string;
165
+ teamMemberId?: string;
166
+ name?: string;
167
+ photoUrl?: string;
168
+ role?: TeamRole;
169
+ }
170
+ export interface TeamTaskProjectSummary {
171
+ boardId: string;
172
+ name: string;
173
+ appFrom?: TodoAppFrom;
174
+ teamId?: string;
175
+ }
176
+ export interface TeamTaskPermissions {
177
+ canEdit: boolean;
178
+ canDelete: boolean;
179
+ canComplete: boolean;
180
+ canAssign: boolean;
181
+ }
182
+ export interface TeamTaskDetailItem {
183
+ source: TeamTaskSource;
184
+ isOwnTask: boolean;
185
+ isMeAssigned: boolean;
186
+ owner: TeamTaskMemberSummary;
187
+ assignee: TeamTaskMemberSummary | null;
188
+ project: TeamTaskProjectSummary;
189
+ permissions: TeamTaskPermissions;
190
+ task: TaskItem;
191
+ }
192
+ export interface TeamTaskItem extends TeamTaskDetailItem {
193
+ bucket: TeamTaskBucket;
194
+ }
195
+ export interface TeamTaskTeamSummary {
196
+ teamId: string;
197
+ name: string;
198
+ }
199
+ export interface TeamAssignedTaskItem extends TeamTaskItem {
200
+ team: TeamTaskTeamSummary;
201
+ }
159
202
  export interface TaskRecurringInstance extends Omit<TaskItem, "subTasks" | "isRecurringChild" | "parentTaskId"> {
160
203
  /** Firestore doc id `${parentTaskId}_${yyyy-MM-dd}` */
161
204
  taskId: string;
package/lib/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./models";
2
2
  export * from "./constants";
3
3
  export * from "./types";
4
+ export * from "./languages";
4
5
  export * from "./helpers";
5
6
  export * from "./external";
@@ -0,0 +1,15 @@
1
+ export const DEFAULT_LANGUAGE = "en";
2
+
3
+ export const SUPPORTED_LANGUAGES = [
4
+ "en",
5
+ "it",
6
+ "ko",
7
+ "el",
8
+ "ja",
9
+ "fr",
10
+ "de",
11
+ "es",
12
+ "zh-Hans",
13
+ ] as const;
14
+
15
+ export type SupportedLanguage = (typeof SUPPORTED_LANGUAGES)[number];
@@ -1,4 +1,5 @@
1
1
  import { TimePhase } from "../types";
2
+ import { SupportedLanguage } from "../languages";
2
3
  import { CalendarEventShowAs, CalendarType } from "./Calendar";
3
4
  import { RoutineActivityRecurring } from "./Routine";
4
5
 
@@ -38,6 +39,7 @@ export interface EnergyPreference {
38
39
  export interface GeneralPreference {
39
40
  timeFormat?: TimeFormatType;
40
41
  themeMode?: ThemeMode;
42
+ preferredLanguage?: SupportedLanguage;
41
43
  }
42
44
 
43
45
  export interface TaskPreference {
@@ -3,6 +3,7 @@ import { TodoIntegrationType } from "./TodoIntegrations";
3
3
  import { TaskLabel } from "./TaskLabels";
4
4
  import { CircadianPhase } from "../types";
5
5
  import { AppleRecurrenceRuleFrequency } from "./Calendar";
6
+ import { TeamRole } from "./Team";
6
7
 
7
8
  export type WebhookStatus = "pending" | "synced" | "skipped" | "failed";
8
9
 
@@ -121,6 +122,15 @@ export interface WebhookStatusSet {
121
122
  syncedAt: number;
122
123
  }
123
124
 
125
+ export interface TeamTaskAssignment {
126
+ teamId: string;
127
+ createdByUserId: string;
128
+ assigneeUserId?: string;
129
+ assignedByUserId?: string;
130
+ createdAt: string;
131
+ updatedAt: string;
132
+ }
133
+
124
134
  export interface TaskItem {
125
135
  taskId: string;
126
136
  originalTaskId: string;
@@ -137,14 +147,7 @@ export interface TaskItem {
137
147
  labels?: TaskLabel[];
138
148
  assigneesIds?: string[];
139
149
  isMeAssigned?: boolean;
140
- teamTaskAssignment?: {
141
- teamId: string;
142
- createdByUserId: string;
143
- assigneeUserId?: string;
144
- assignedByUserId?: string;
145
- createdAt: string;
146
- updatedAt: string;
147
- };
150
+ teamTaskAssignment?: TeamTaskAssignment;
148
151
  updatedAt: string;
149
152
  duration?: TaskItemDuration;
150
153
  addedToCalendar?: boolean;
@@ -173,6 +176,56 @@ export interface TaskItem {
173
176
  };
174
177
  }
175
178
 
179
+ export type TeamTaskSource = "shared-personal-board" | "team-board";
180
+
181
+ export type TeamTaskBucket = "overdue" | "today" | "upcoming" | "done";
182
+
183
+ export interface TeamTaskMemberSummary {
184
+ userId: string;
185
+ teamMemberId?: string;
186
+ name?: string;
187
+ photoUrl?: string;
188
+ role?: TeamRole;
189
+ }
190
+
191
+ export interface TeamTaskProjectSummary {
192
+ boardId: string;
193
+ name: string;
194
+ appFrom?: TodoAppFrom;
195
+ teamId?: string;
196
+ }
197
+
198
+ export interface TeamTaskPermissions {
199
+ canEdit: boolean;
200
+ canDelete: boolean;
201
+ canComplete: boolean;
202
+ canAssign: boolean;
203
+ }
204
+
205
+ export interface TeamTaskDetailItem {
206
+ source: TeamTaskSource;
207
+ isOwnTask: boolean;
208
+ isMeAssigned: boolean;
209
+ owner: TeamTaskMemberSummary;
210
+ assignee: TeamTaskMemberSummary | null;
211
+ project: TeamTaskProjectSummary;
212
+ permissions: TeamTaskPermissions;
213
+ task: TaskItem;
214
+ }
215
+
216
+ export interface TeamTaskItem extends TeamTaskDetailItem {
217
+ bucket: TeamTaskBucket;
218
+ }
219
+
220
+ export interface TeamTaskTeamSummary {
221
+ teamId: string;
222
+ name: string;
223
+ }
224
+
225
+ export interface TeamAssignedTaskItem extends TeamTaskItem {
226
+ team: TeamTaskTeamSummary;
227
+ }
228
+
176
229
  export interface TaskRecurringInstance
177
230
  extends Omit<TaskItem, "subTasks" | "isRecurringChild" | "parentTaskId"> {
178
231
  /** Firestore doc id `${parentTaskId}_${yyyy-MM-dd}` */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@demind-inc/core",
3
- "version": "1.10.15",
3
+ "version": "1.10.17",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {