@codecks/fetch 1.0.0 → 2.0.0

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 (120) hide show
  1. package/README.md +79 -32
  2. package/dist/_exploration/api-requester.d.ts +3 -4
  3. package/dist/_exploration/api-requester.js +2 -2
  4. package/dist/_exploration/create-hooks.d.ts +4313 -13097
  5. package/dist/_exploration/create-hooks.js +1 -1
  6. package/dist/_exploration/loader.d.ts +2 -2
  7. package/dist/_exploration/loader.js +1 -1
  8. package/dist/_exploration/store.d.ts +5 -4
  9. package/dist/_exploration/store.js +1 -1
  10. package/dist/{collection-utils-T3bx0BS1.js → collection-utils-Ia_ahcpI.js} +4 -2
  11. package/dist/index-g5c30upI.d.ts +39 -0
  12. package/dist/index.d.ts +4 -19
  13. package/dist/index.js +26 -15
  14. package/dist/{loader-types-fd5tV0FD.d.ts → loader-types-D2Pf8qzH.d.ts} +1 -1
  15. package/dist/loader-utils-BZWanWDZ.d.ts +2218 -0
  16. package/dist/query-helpers-DndWBcMF.js +1203 -0
  17. package/dist/{query-type-BqQ9oX_U.d.ts → query-type-DPNcQFpZ.d.ts} +27 -13
  18. package/dist/store-ztk8y6Pm.d.ts +1203 -0
  19. package/package.json +2 -1
  20. package/schema/actions.md +789 -0
  21. package/schema/models/account.md +57 -90
  22. package/schema/models/attachment.md +15 -11
  23. package/schema/models/card.md +91 -65
  24. package/schema/models/cardHistory.md +15 -9
  25. package/schema/models/deck.md +41 -36
  26. package/schema/models/file.md +13 -15
  27. package/schema/models/handCard.md +8 -5
  28. package/schema/models/milestone.md +27 -22
  29. package/schema/models/milestoneProgress.md +9 -3
  30. package/schema/models/milestoneProject.md +6 -4
  31. package/schema/models/project.md +15 -39
  32. package/schema/models/projectTag.md +12 -7
  33. package/schema/models/queueEntry.md +12 -8
  34. package/schema/models/release.md +8 -6
  35. package/schema/models/resolvable.md +19 -15
  36. package/schema/models/resolvableEntry.md +16 -13
  37. package/schema/models/resolvableEntryReaction.md +16 -12
  38. package/schema/models/sprint.md +35 -25
  39. package/schema/models/sprintConfig.md +24 -20
  40. package/schema/models/sprintConfigProgress.md +9 -3
  41. package/schema/models/sprintProgress.md +9 -3
  42. package/schema/models/sprintProject.md +7 -5
  43. package/schema/models/user.md +15 -56
  44. package/schema/models/workflowItem.md +47 -31
  45. package/schema/overview.md +40 -93
  46. package/schema/query-syntax.md +1 -1
  47. package/schema/types.md +103 -0
  48. package/dist/_root-BW9uzB79.d.ts +0 -34
  49. package/dist/index-k-KPWV9R.d.ts +0 -2680
  50. package/dist/loader-utils-hvdC-xsQ.d.ts +0 -42
  51. package/dist/query-helpers-iX1fiqLv.js +0 -3062
  52. package/dist/store-BvEJzUVp.d.ts +0 -2667
  53. package/schema/models/accountOnboarding.md +0 -15
  54. package/schema/models/accountOnboardingStep.md +0 -14
  55. package/schema/models/accountRole.md +0 -19
  56. package/schema/models/accountUserAchievement.md +0 -17
  57. package/schema/models/accountUserSetting.md +0 -20
  58. package/schema/models/activeTimeTracker.md +0 -19
  59. package/schema/models/activity.md +0 -30
  60. package/schema/models/affiliateCode.md +0 -30
  61. package/schema/models/affiliateCodeStat.md +0 -19
  62. package/schema/models/app.md +0 -10
  63. package/schema/models/appInstallation.md +0 -19
  64. package/schema/models/assigneeAssignment.md +0 -18
  65. package/schema/models/assigneeDeckAssignment.md +0 -20
  66. package/schema/models/autoFinishedTimeTrackingSegment.md +0 -20
  67. package/schema/models/cardDiffNotification.md +0 -22
  68. package/schema/models/cardOrder.md +0 -17
  69. package/schema/models/cardOrderInDeck.md +0 -18
  70. package/schema/models/cardPreset.md +0 -19
  71. package/schema/models/cardSubscription.md +0 -19
  72. package/schema/models/cardUpvote.md +0 -21
  73. package/schema/models/cardsEffortHistory.md +0 -9
  74. package/schema/models/cardsFinishedHistory.md +0 -16
  75. package/schema/models/cardsStatusHistory.md +0 -9
  76. package/schema/models/cardsTimeToFinished.md +0 -18
  77. package/schema/models/dailyDiscordGuildVoteMembership.md +0 -15
  78. package/schema/models/dailyPublicProjectMembership.md +0 -15
  79. package/schema/models/deckAssignment.md +0 -18
  80. package/schema/models/deckGuardian.md +0 -17
  81. package/schema/models/deckSubscription.md +0 -18
  82. package/schema/models/discordGuild.md +0 -30
  83. package/schema/models/discordMember.md +0 -21
  84. package/schema/models/discordProjectNotification.md +0 -19
  85. package/schema/models/discordSlashCommand.md +0 -28
  86. package/schema/models/dueCard.md +0 -18
  87. package/schema/models/integration.md +0 -23
  88. package/schema/models/invoice.md +0 -21
  89. package/schema/models/lastSeenCardUpvote.md +0 -17
  90. package/schema/models/pinnedMilestone.md +0 -22
  91. package/schema/models/projectOrder.md +0 -18
  92. package/schema/models/projectSelection.md +0 -18
  93. package/schema/models/projectUser.md +0 -18
  94. package/schema/models/projectUserSetting.md +0 -15
  95. package/schema/models/publicProjectInfo.md +0 -20
  96. package/schema/models/publicProjectMembership.md +0 -17
  97. package/schema/models/publicProjectVisit.md +0 -16
  98. package/schema/models/queueSelection.md +0 -19
  99. package/schema/models/resolvableEntryHistory.md +0 -20
  100. package/schema/models/resolvableNotification.md +0 -30
  101. package/schema/models/resolvableParticipant.md +0 -25
  102. package/schema/models/resolvableParticipantHistory.md +0 -23
  103. package/schema/models/savedSearch.md +0 -18
  104. package/schema/models/stripeAccountSync.md +0 -29
  105. package/schema/models/timeTrackingSegment.md +0 -24
  106. package/schema/models/timeTrackingSum.md +0 -18
  107. package/schema/models/userDismissedHint.md +0 -16
  108. package/schema/models/userEmail.md +0 -18
  109. package/schema/models/userInvitation.md +0 -20
  110. package/schema/models/userInviteCode.md +0 -23
  111. package/schema/models/userOnboarding.md +0 -14
  112. package/schema/models/userProjectAccess.md +0 -17
  113. package/schema/models/userReportEmail.md +0 -19
  114. package/schema/models/userReportSetting.md +0 -23
  115. package/schema/models/userReportToken.md +0 -18
  116. package/schema/models/userTag.md +0 -18
  117. package/schema/models/visionBoard.md +0 -21
  118. package/schema/models/visionBoardQuery.md +0 -22
  119. package/schema/models/wizard.md +0 -19
  120. package/schema/models/workflowItemHistory.md +0 -18
@@ -1,39 +1,44 @@
1
1
  # milestone
2
2
 
3
+ A date that cards are planned towards. It belongs to a list of projects, or with `isGlobal` to all projects of the organization.
4
+
3
5
  Key: `id`
4
6
 
5
7
  ## Fields
6
8
 
7
- - `id`: string
8
- - `name`: string
9
- - `color`: string
10
- - `date`: {year, month, day}
11
- - `startDate`: {year, month, day}, optional
12
- - `createdAt`: Date (ISO string)
13
- - `accountSeq`: number
14
- - `description`: string, optional
15
- - `isGlobal`: string
16
- - `handSyncEnabled`: string
17
- - `manualOrderLabels`: string
18
- - `stats`: object
19
- - `userCapacities`: object
20
- - `isDeleted`: boolean
21
- - `preferredOrder`: string, optional
22
- - `accountId`: string (foreign key ID) → account
23
- - `creatorId`: string (foreign key ID) → user
24
- - `coverFileId`: string (foreign key ID) → file, optional
9
+ - `accountId`: [`AccountId`](account.md), foreign key of `account`
10
+ - `accountSeq`: `number`
11
+ The milestone's number within the organization. The web app uses it in the milestone's URL: `/milestones/<accountSeq>`.
12
+ - `color`: [`MilestoneColor`](../types.md#milestonecolor)
13
+ - `coverFileId`: [`FileId`](file.md)` | null`, foreign key of `coverFile` — **preview**
14
+ - `createdAt`: `Date` (sent as an ISO timestamp)
15
+ - `creatorId`: [`UserId`](user.md), foreign key of `creator`
16
+ - `date`: `{year: number; month: number; day: number}` (sent as `YYYY-MM-DD`)
17
+ - `description`: `string | null`
18
+ - `handSyncEnabled`: `boolean` — **preview**
19
+ Its cards that are not done and have an assignee are added to the assignee's Hand.
20
+ - `id`: `MilestoneId`
21
+ - `isDeleted`: `boolean`
22
+ - `isGlobal`: `boolean`
23
+ The milestone belongs to all projects of the organization, also to projects created later.
24
+ - `manualOrderLabels`: `(string | null)[]` — **preview**
25
+ The names of the zones the web app groups the cards into when they are ordered by hand, in order. `null` is the zone without a name.
26
+ - `name`: `string`
27
+ - `startDate`: `{year: number; month: number; day: number} | null` (sent as `YYYY-MM-DD`)
28
+ - `userCapacities`: `{[userId: UserId]: number}` (uses [`UserId`](user.md)) — **preview**
29
+ The planned effort per user, keyed by user id. The web app compares it with the effort of the user's cards, where a card without `effort` counts as `account.fallbackEffort`.
25
30
 
26
31
  ## Relations
27
32
 
28
33
  ### belongsTo
29
34
 
30
35
  - `account` → [account](account.md) (via `accountId`)
36
+ - `coverFile` → [file](file.md) (via `coverFileId`), optional — **preview**
31
37
  - `creator` → [user](user.md) (via `creatorId`)
32
- - `coverFile` → [file](file.md) (via `coverFileId`)
33
38
 
34
39
  ### hasMany
35
40
 
36
- - `milestoneProjects` → [milestoneProject](milestoneProject.md)
37
41
  - `cards` → [card](card.md)
38
- - `activities` → [activity](activity.md)
39
- - `progress` → [milestoneProgress](milestoneProgress.md)
42
+ - `milestoneProjects` → [milestoneProject](milestoneProject.md)
43
+ - `progress` → [milestoneProgress](milestoneProgress.md) — **preview**
44
+ The daily progress history.
@@ -1,14 +1,20 @@
1
1
  # milestoneProgress
2
2
 
3
+ The state of a milestone's cards on a day (UTC). A row is only written on days when the numbers change, so a day without a row has the numbers of the row before it.
4
+
5
+ **preview**: this model may change in any release. Each change is listed in the [API changelog](https://manual.codecks.io/api-changelog/).
6
+
3
7
  Key: `milestoneId`, `date`
4
8
 
5
9
  ## Fields
6
10
 
7
- - `progress`: object
8
- - `milestoneId`: string (foreign key ID) → milestone
11
+ - `date`: `string` — **preview**
12
+ - `milestoneId`: [`MilestoneId`](milestone.md), foreign key of `milestone` — **preview**
13
+ - `progress`: `unknown` — **preview**
14
+ Counts the cards in decks of active projects by their `derivedStatus`, with all done states counted as `done`. `cards` and `effort` have the card count and the effort sum for each state (`done`, `started`, `review`, `blocked`, `snoozing`, `assigned`, `unassigned`, `hero`), `stats` has `[count, effort sum, cards without effort]` for each state and `noEffortCards` counts the cards without effort. States without cards are left out.
9
15
 
10
16
  ## Relations
11
17
 
12
18
  ### belongsTo
13
19
 
14
- - `milestone` → [milestone](milestone.md) (via `milestoneId`)
20
+ - `milestone` → [milestone](milestone.md) (via `milestoneId`) — **preview**
@@ -1,17 +1,19 @@
1
1
  # milestoneProject
2
2
 
3
+ Links a milestone to a project whose cards and decks can use it. A milestone with `isGlobal` is linked to every project.
4
+
3
5
  Key: `milestoneId`, `projectId`
4
6
 
5
7
  ## Fields
6
8
 
7
- - `milestoneId`: string (foreign key ID) → milestone
8
- - `projectId`: string (foreign key ID) → project
9
- - `accountId`: string (foreign key ID) → account
9
+ - `accountId`: [`AccountId`](account.md), foreign key of `account`
10
+ - `milestoneId`: [`MilestoneId`](milestone.md), foreign key of `milestone`
11
+ - `projectId`: [`ProjectId`](project.md), foreign key of `project`
10
12
 
11
13
  ## Relations
12
14
 
13
15
  ### belongsTo
14
16
 
17
+ - `account` → [account](account.md) (via `accountId`)
15
18
  - `milestone` → [milestone](milestone.md) (via `milestoneId`)
16
19
  - `project` → [project](project.md) (via `projectId`)
17
- - `account` → [account](account.md) (via `accountId`)
@@ -1,58 +1,34 @@
1
1
  # project
2
2
 
3
+ Groups decks. A card belongs to the project of its deck.
4
+
3
5
  Key: `id`
4
6
 
5
7
  ## Fields
6
8
 
7
- - `id`: string
8
- - `name`: string
9
- - `visibility`: string
10
- - `defaultUserAccess`: string
11
- - `createdAt`: Date (ISO string)
12
- - `accountSeq`: number
13
- - `allowUpvotes`: string
14
- - `isPublic`: string
15
- - `commentsArePublic`: string
16
- - `publicRegistryAgreement`: string, optional
17
- - `publicLayoutVersion`: string
18
- - `publicIsExplicit`: string
19
- - `markerColor`: string, optional
20
- - `effortIcon`: string, optional
21
- - `spaces`: string
22
- - `publicPath`: string, optional
23
- - `publicMessage`: string, optional
24
- - `publicHeading`: string, optional
25
- - `publicBackgroundColor`: string, optional
26
- - `accountId`: string (foreign key ID) → account
27
- - `coverFileId`: string (foreign key ID) → file, optional
28
- - `publicBannerFileId`: string (foreign key ID) → file, optional
29
- - `publicTileFileId`: string (foreign key ID) → file, optional
30
- - `publicBackgroundImageId`: string (foreign key ID) → file, optional
9
+ - `accountId`: [`AccountId`](account.md), foreign key of `account`
10
+ - `coverFileId`: [`FileId`](file.md)` | null`, foreign key of `coverFile`
11
+ - `createdAt`: `Date` (sent as an ISO timestamp)
12
+ - `id`: `ProjectId`
13
+ - `name`: `string`
14
+ - `spaces`: `unknown` — **preview**
15
+ The spaces that group the project's decks. Removing a space moves its decks into the first remaining one.
16
+ - `visibility`: `"default" | "archived" | "deleted" | (string & {})`
17
+ Setting `archived` or `deleted` closes all open comment threads on the project's cards.
31
18
 
32
19
  ## Relations
33
20
 
34
21
  ### belongsTo
35
22
 
36
23
  - `account` → [account](account.md) (via `accountId`)
37
- - `coverFile` → [file](file.md) (via `coverFileId`)
38
- - `publicBannerFile` → [file](file.md) (via `publicBannerFileId`)
39
- - `publicTileFile` → [file](file.md) (via `publicTileFileId`)
40
- - `publicBackgroundImage` → [file](file.md) (via `publicBackgroundImageId`)
41
-
42
- ### hasOne
43
-
44
- - `publicProjectInfo` → [publicProjectInfo](publicProjectInfo.md)
24
+ - `coverFile` → [file](file.md) (via `coverFileId`), optional
45
25
 
46
26
  ### hasMany
47
27
 
48
28
  - `decks` → [deck](deck.md)
49
29
  - `milestoneProjects` → [milestoneProject](milestoneProject.md)
30
+ Links to the milestones this project can use.
50
31
  - `sprintProjects` → [sprintProject](sprintProject.md)
51
- - `publicProjectVisits` → [publicProjectVisit](publicProjectVisit.md)
52
- - `dailyPublicProjectMembership` → [dailyPublicProjectMembership](dailyPublicProjectMembership.md)
53
- - `publicProjectMemberships` → [publicProjectMembership](publicProjectMembership.md)
54
- - `cardUpvotes` → [cardUpvote](cardUpvote.md)
32
+ Links to the run configs this project can use.
55
33
  - `tags` → [projectTag](projectTag.md)
56
- - `activities` → [activity](activity.md)
57
- - `explicitProjectUsers` → [projectUser](projectUser.md)
58
- - `access` → [userProjectAccess](userProjectAccess.md)
34
+ The project's tag list. A card in the project with one of these tags lists it in `masterTags`.
@@ -1,16 +1,21 @@
1
1
  # projectTag
2
2
 
3
+ A tag in a project's tag list. A card in the project with this tag lists it in `masterTags`.
4
+
3
5
  Key: `id`
4
6
 
5
7
  ## Fields
6
8
 
7
- - `id`: string
8
- - `tag`: string
9
- - `color`: string, optional
10
- - `emoji`: string, optional
11
- - `description`: string, optional
12
- - `createdAt`: Date (ISO string)
13
- - `projectId`: string (foreign key ID) → project
9
+ - `color`: `string | null`
10
+ A hex color like `#ff0000` for cards with this tag. The web app sets either `color` or `emoji`, not both.
11
+ - `createdAt`: `Date` (sent as an ISO timestamp)
12
+ - `description`: `string | null`
13
+ What the tag is for, as markdown.
14
+ - `emoji`: `string | null`
15
+ - `id`: `ProjectTagId`
16
+ - `projectId`: [`ProjectId`](project.md), foreign key of `project`
17
+ - `tag`: `string`
18
+ Without the `#`. Renaming it also renames the tag in the `content` and `masterTags` of the project's cards.
14
19
 
15
20
  ## Relations
16
21
 
@@ -1,21 +1,25 @@
1
1
  # queueEntry
2
2
 
3
+ A card in a user's Hand. When a card is done, its owner gets an entry in their Hand's done pile, even if the card wasn't in their Hand.
4
+
3
5
  Key: `id`
4
6
 
5
7
  ## Fields
6
8
 
7
- - `id`: string
8
- - `sortIndex`: number
9
- - `cardDoneAt`: Date (ISO string)
10
- - `createdAt`: Date (ISO string)
11
- - `accountId`: string (foreign key ID) → account
12
- - `userId`: string (foreign key ID) → user
13
- - `cardId`: string (foreign key ID) → card
9
+ - `accountId`: [`AccountId`](account.md), foreign key of `account`
10
+ - `cardDoneAt`: `Date | null` (sent as an ISO timestamp)
11
+ When the card was done. Other users' entries for the card are removed then. Setting the card back to not done moves the entry to the end of the Hand.
12
+ - `cardId`: [`CardId`](card.md), foreign key of `card`
13
+ - `createdAt`: `Date` (sent as an ISO timestamp)
14
+ - `id`: `QueueEntryId`
15
+ - `sortIndex`: `number | null`
16
+ The position in the Hand, `0` is the first card. `null` once the card is done.
17
+ - `userId`: [`UserId`](user.md), foreign key of `user`
14
18
 
15
19
  ## Relations
16
20
 
17
21
  ### belongsTo
18
22
 
19
23
  - `account` → [account](account.md) (via `accountId`)
20
- - `user` → [user](user.md) (via `userId`)
21
24
  - `card` → [card](card.md) (via `cardId`)
25
+ - `user` → [user](user.md) (via `userId`)
@@ -1,12 +1,14 @@
1
1
  # release
2
2
 
3
+ An entry in the Codecks changelog. It's the same for every organization.
4
+
3
5
  Key: `id`
4
6
 
5
7
  ## Fields
6
8
 
7
- - `id`: string
8
- - `version`: string
9
- - `isLive`: string
10
- - `content`: string
11
- - `title`: string
12
- - `createdAt`: Date (ISO string)
9
+ - `content`: `string`
10
+ The release notes as markdown.
11
+ - `createdAt`: `Date` (sent as an ISO timestamp)
12
+ - `id`: `ReleaseId`
13
+ - `title`: `string`
14
+ - `version`: `string`
@@ -1,32 +1,36 @@
1
1
  # resolvable
2
2
 
3
+ A comment thread on a card. Its `context` says if it's a plain conversation or if it marks the card as blocked or in review.
4
+
3
5
  Key: `id`
4
6
 
5
7
  ## Fields
6
8
 
7
- - `id`: string
8
- - `context`: string
9
- - `contextAsPrio`: number
10
- - `isClosed`: boolean
11
- - `closedAt`: Date (ISO string), optional
12
- - `createdAt`: Date (ISO string)
13
- - `isPublic`: boolean
14
- - `cardId`: string (foreign key ID) → card
15
- - `accountId`: string (foreign key ID) → account
16
- - `creatorId`: string (foreign key ID) → user
17
- - `closedById`: string (foreign key ID) → user, optional
9
+ - `accountId`: [`AccountId`](account.md), foreign key of `account`
10
+ - `cardId`: [`CardId`](card.md), foreign key of `card`
11
+ - `closedAt`: `Date | null` (sent as an ISO timestamp)
12
+ - `context`: `"block" | "review" | "comment" | (string & {})`
13
+ `block` marks the card as blocked and `review` marks it as in review while the thread is open (see `card.derivedStatus`). `comment` is a plain conversation.
14
+ - `createdAt`: `Date` (sent as an ISO timestamp)
15
+ - `creatorId`: [`UserId`](user.md), foreign key of `creator`
16
+ - `id`: `ResolvableId`
17
+ - `isClosed`: `boolean`
18
+ Archiving or deleting the card closes its open threads.
19
+ - `reopenedAt`: `Date | null` (sent as an ISO timestamp)
20
+ Only set while the thread is open again after being closed. Closing it clears the value.
18
21
 
19
22
  ## Relations
20
23
 
21
24
  ### belongsTo
22
25
 
23
- - `card` → [card](card.md) (via `cardId`)
24
26
  - `account` → [account](account.md) (via `accountId`)
27
+ - `card` → [card](card.md) (via `cardId`)
28
+ - `closedBy` → [user](user.md), optional
29
+ `null` while the thread is open, or when it was closed automatically.
25
30
  - `creator` → [user](user.md) (via `creatorId`)
26
- - `closedBy` → [user](user.md) (via `closedById`)
31
+ - `reopenedBy` → [user](user.md), optional
32
+ Only set while the thread is open again after being closed.
27
33
 
28
34
  ### hasMany
29
35
 
30
- - `participants` → [resolvableParticipant](resolvableParticipant.md)
31
- - `participantHistories` → [resolvableParticipantHistory](resolvableParticipantHistory.md)
32
36
  - `entries` → [resolvableEntry](resolvableEntry.md)
@@ -1,28 +1,31 @@
1
1
  # resolvableEntry
2
2
 
3
+ A comment in a comment thread.
4
+
3
5
  Key: `entryId`
4
6
 
5
7
  ## Fields
6
8
 
7
- - `entryId`: string
8
- - `content`: string
9
- - `lastChangedAt`: Date (ISO string)
10
- - `createdAt`: Date (ISO string)
11
- - `version`: number
12
- - `meta`: object
13
- - `resolvableId`: string (foreign key ID) → resolvable
14
- - `cardId`: string (foreign key ID) → card
15
- - `authorId`: string (foreign key ID) → user
9
+ - `authorId`: [`UserId`](user.md), foreign key of `author`
10
+ - `cardId`: [`CardId`](card.md), foreign key of `card`
11
+ - `content`: `string`
12
+ Markdown. Mentions are stored as `@[userId:<id>]`.
13
+ - `createdAt`: `Date` (sent as an ISO timestamp)
14
+ - `entryId`: `ResolvableEntryId`
15
+ - `lastChangedAt`: `Date` (sent as an ISO timestamp)
16
+ When the comment was last edited. Same as `createdAt` if it never was.
17
+ - `resolvableId`: [`ResolvableId`](resolvable.md), foreign key of `resolvable`
18
+ - `version`: `number` — **preview**
19
+ Starts at 1 and goes up with every edit.
16
20
 
17
21
  ## Relations
18
22
 
19
23
  ### belongsTo
20
24
 
21
- - `resolvable` → [resolvable](resolvable.md) (via `resolvableId`)
22
- - `card` → [card](card.md) (via `cardId`)
23
25
  - `author` → [user](user.md) (via `authorId`)
26
+ - `card` → [card](card.md) (via `cardId`)
27
+ - `resolvable` → [resolvable](resolvable.md) (via `resolvableId`)
24
28
 
25
29
  ### hasMany
26
30
 
27
- - `reactions` → [resolvableEntryReaction](resolvableEntryReaction.md)
28
- - `histories` → [resolvableEntryHistory](resolvableEntryHistory.md)
31
+ - `reactions` → [resolvableEntryReaction](resolvableEntryReaction.md) — **preview**
@@ -1,23 +1,27 @@
1
1
  # resolvableEntryReaction
2
2
 
3
+ An emoji reaction to a comment. A user can add each emoji only once per comment.
4
+
5
+ **preview**: this model may change in any release. Each change is listed in the [API changelog](https://manual.codecks.io/api-changelog/).
6
+
3
7
  Key: `id`
4
8
 
5
9
  ## Fields
6
10
 
7
- - `id`: string
8
- - `value`: object
9
- - `createdAt`: Date (ISO string)
10
- - `isPublic`: boolean
11
- - `resolvableEntryId`: string (foreign key ID) → resolvableEntry
12
- - `accountId`: string (foreign key ID) → account
13
- - `userId`: string (foreign key ID) → user
14
- - `resolvableId`: string (foreign key ID) → resolvable
11
+ - `accountId`: [`AccountId`](account.md), foreign key of `account` — **preview**
12
+ - `createdAt`: `Date` (sent as an ISO timestamp) — **preview**
13
+ - `entryId`: [`ResolvableEntryId`](resolvableEntry.md), foreign key of `resolvableEntry` — **preview**
14
+ - `id`: `ResolvableEntryReactionId`
15
+ - `resolvableId`: [`ResolvableId`](resolvable.md), foreign key of `resolvable` — **preview**
16
+ - `userId`: [`UserId`](user.md), foreign key of `user` — **preview**
17
+ - `value`: `{type: "emoji" | (string & {}); value: string}` — **preview**
18
+ `{"type": "emoji", "value": "👍"}`. `value` is the emoji character itself.
15
19
 
16
20
  ## Relations
17
21
 
18
22
  ### belongsTo
19
23
 
20
- - `resolvableEntry` → [resolvableEntry](resolvableEntry.md) (via `resolvableEntryId`)
21
- - `account` → [account](account.md) (via `accountId`)
22
- - `user` → [user](user.md) (via `userId`)
23
- - `resolvable` → [resolvable](resolvable.md) (via `resolvableId`)
24
+ - `account` → [account](account.md) (via `accountId`) — **preview**
25
+ - `resolvable` → [resolvable](resolvable.md) (via `resolvableId`) — **preview**
26
+ - `resolvableEntry` → [resolvableEntry](resolvableEntry.md) (via `entryId`) — **preview**
27
+ - `user` → [user](user.md) (via `userId`) — **preview**
@@ -1,42 +1,52 @@
1
1
  # sprint
2
2
 
3
+ A run: one time box of a Run Config, from `startDate` to `endDate`. Codecks creates the upcoming runs ahead of time and completes a run when it ends.
4
+
3
5
  Key: `id`
4
6
 
5
7
  ## Fields
6
8
 
7
- - `id`: string
8
- - `description`: string
9
- - `name`: string, optional
10
- - `accountSeq`: number
11
- - `index`: number
12
- - `startDate`: {year, month, day}
13
- - `endDate`: {year, month, day}
14
- - `stats`: object
15
- - `manualOrderLabels`: string
16
- - `userCapacities`: object
17
- - `handSyncEnabled`: string
18
- - `createdAt`: Date (ISO string)
19
- - `isDeleted`: boolean
20
- - `completedAt`: Date (ISO string), optional
21
- - `lockedAt`: Date (ISO string), optional
22
- - `accountId`: string (foreign key ID) → account
23
- - `sprintConfigId`: string (foreign key ID) → sprintConfig
24
- - `creatorId`: string (foreign key ID) → user
25
- - `coverFileId`: string (foreign key ID) → file, optional
26
- - `autoMilestoneId`: string (foreign key ID) → milestone, optional
9
+ - `accountId`: [`AccountId`](account.md), foreign key of `account`
10
+ - `accountSeq`: `number`
11
+ The run's number within the organization. The web app uses it in the run's URL: `/milestones/run/<accountSeq>`.
12
+ - `autoMilestoneId`: [`MilestoneId`](milestone.md)` | null`, foreign key of `autoMilestone` — **preview**
13
+ Cards that are added to this run get this milestone, unless they already have one.
14
+ - `completedAt`: `Date | null` (sent as an ISO timestamp)
15
+ When the run was completed, at its end or with `complete` in `sprints/updateSprint`.
16
+ - `coverFileId`: [`FileId`](file.md)` | null`, foreign key of `coverFile` — **preview**
17
+ - `createdAt`: `Date` (sent as an ISO timestamp)
18
+ - `description`: `string | null`
19
+ - `endDate`: `{year: number; month: number; day: number}` (sent as `YYYY-MM-DD`)
20
+ The last day of the run.
21
+ - `handSyncEnabled`: `boolean` — **preview**
22
+ A card that is created in this run with an assignee is added to the assignee's Hand.
23
+ - `id`: `SprintId`
24
+ - `index`: `number`
25
+ The position of the run within its Run Config, starting at 0. The web app shows `index + 1` as the run's number.
26
+ - `isDeleted`: `boolean`
27
+ - `lockedAt`: `Date | null` (sent as an ISO timestamp) — **preview**
28
+ When Beast Mode started for this run. In Beast Mode the run's cards are locked in, and moving one of them to another run raises its Beast level. `null` while it is off.
29
+ - `manualOrderLabels`: `(string | null)[]` — **preview**
30
+ The names of the zones the web app groups the cards into when they are ordered by hand, in order. `null` is the zone without a name. A new run starts with the zones of the run before it.
31
+ - `name`: `string | null`
32
+ `null` unless set by hand. The web app then shows a label from the Run Config's `runLabelTemplate`, or `Run <index + 1>`.
33
+ - `sprintConfigId`: [`SprintConfigId`](sprintConfig.md), foreign key of `sprintConfig`
34
+ - `startDate`: `{year: number; month: number; day: number}` (sent as `YYYY-MM-DD`)
35
+ - `userCapacities`: `{[userId: UserId]: number}` (uses [`UserId`](user.md)) — **preview**
36
+ The planned effort per user, keyed by user id. The web app compares it with the effort of the user's cards, where a card without `effort` counts as `account.fallbackEffort`. A new run starts with the capacities of the run before it.
27
37
 
28
38
  ## Relations
29
39
 
30
40
  ### belongsTo
31
41
 
32
42
  - `account` → [account](account.md) (via `accountId`)
43
+ - `autoMilestone` → [milestone](milestone.md) (via `autoMilestoneId`), optional — **preview**
44
+ Cards that are added to this run get this milestone, unless they already have one.
45
+ - `coverFile` → [file](file.md) (via `coverFileId`), optional — **preview**
33
46
  - `sprintConfig` → [sprintConfig](sprintConfig.md) (via `sprintConfigId`)
34
- - `creator` → [user](user.md) (via `creatorId`)
35
- - `coverFile` → [file](file.md) (via `coverFileId`)
36
- - `autoMilestone` → [milestone](milestone.md) (via `autoMilestoneId`)
37
47
 
38
48
  ### hasMany
39
49
 
40
50
  - `cards` → [card](card.md)
41
- - `progress` → [sprintProgress](sprintProgress.md)
42
- - `activities` → [activity](activity.md)
51
+ - `progress` → [sprintProgress](sprintProgress.md) — **preview**
52
+ The daily progress history.
@@ -1,28 +1,31 @@
1
1
  # sprintConfig
2
2
 
3
+ A Run Config. It creates runs of the same length one after the other, like sprints, for its projects.
4
+
3
5
  Key: `id`
4
6
 
5
7
  ## Fields
6
8
 
7
- - `id`: string
8
- - `name`: string
9
- - `color`: string
10
- - `stopOn`: {year, month, day}, optional
11
- - `isGlobal`: string
12
- - `upcomingSprints`: number
13
- - `sprintDurationWeeks`: number
14
- - `sprintStartWeekday`: number
15
- - `endHour`: number
16
- - `endHourTimezone`: string
17
- - `createdAt`: Date (ISO string)
18
- - `preferredOrder`: string, optional
19
- - `moveOnFinish`: string
20
- - `autoBeastModeDurationHours`: number, optional
21
- - `autoAssignStartedCard`: boolean
22
- - `autoAssignNewCard`: boolean
23
- - `beastGracePeriodHours`: number
24
- - `accountId`: string (foreign key ID) → account
25
- - `creatorId`: string (foreign key ID) → user
9
+ - `accountId`: [`AccountId`](account.md), foreign key of `account`
10
+ - `autoAssignNewCard`: `boolean` — **preview**
11
+ The web app puts new cards in its projects into the current run. Journeys do the same, `cards/create` doesn't.
12
+ - `autoAssignStartedCard`: `boolean` — **preview**
13
+ A card in one of its projects that is started without a run is added to the current run.
14
+ - `autoBeastModeDurationHours`: `number | null` — **preview**
15
+ Beast Mode starts on its own this many hours after the start of a run, counted from midnight in the Run Config's time zone. `0` starts it right away, `null` turns it off.
16
+ - `beastGracePeriodHours`: `number` — **preview**
17
+ In Beast Mode, a card added to the run is only locked in after this many hours. Until then it can move to another run without raising its Beast level.
18
+ - `color`: [`MilestoneColor`](../types.md#milestonecolor)
19
+ - `createdAt`: `Date` (sent as an ISO timestamp)
20
+ - `creatorId`: [`UserId`](user.md), foreign key of `creator`
21
+ - `id`: `SprintConfigId`
22
+ - `isGlobal`: `boolean`
23
+ The Run Config belongs to all projects of the organization, also to projects created later.
24
+ - `moveOnFinish`: `("undone" | "review" | "blocked" | (string & {}))[]` — **preview**
25
+ Which cards move to the next run when a run ends: `review` for cards with an open review, `blocked` for cards with an open blocker and `undone` for all other cards that aren't done. Archived cards and docs stay.
26
+ - `name`: `string`
27
+ - `runLabelTemplate`: `string | null` — **preview**
28
+ The label for runs without a `name`. `%RUN_NR%` becomes the run's `index + 1` and `%CALENDAR_WEEK%` the ISO week of its `startDate`. `null` means `Run %RUN_NR%`.
26
29
 
27
30
  ## Relations
28
31
 
@@ -33,6 +36,7 @@ Key: `id`
33
36
 
34
37
  ### hasMany
35
38
 
39
+ - `progress` → [sprintConfigProgress](sprintConfigProgress.md) — **preview**
40
+ The daily history of the done cards across all runs.
36
41
  - `sprintProjects` → [sprintProject](sprintProject.md)
37
42
  - `sprints` → [sprint](sprint.md)
38
- - `progress` → [sprintConfigProgress](sprintConfigProgress.md)
@@ -1,14 +1,20 @@
1
1
  # sprintConfigProgress
2
2
 
3
+ The done cards of all runs of a Run Config on a day (UTC). A row is only written on days when the numbers change, so a day without a row has the numbers of the row before it.
4
+
5
+ **preview**: this model may change in any release. Each change is listed in the [API changelog](https://manual.codecks.io/api-changelog/).
6
+
3
7
  Key: `sprintConfigId`, `date`
4
8
 
5
9
  ## Fields
6
10
 
7
- - `progress`: object
8
- - `sprintConfigId`: string (foreign key ID) → sprintConfig
11
+ - `date`: `string` — **preview**
12
+ - `progress`: `unknown` — **preview**
13
+ `stats.done` is `[count, effort sum, cards without effort]` of the done cards in all runs, counting only cards in decks of active projects.
14
+ - `sprintConfigId`: [`SprintConfigId`](sprintConfig.md), foreign key of `sprintConfig` — **preview**
9
15
 
10
16
  ## Relations
11
17
 
12
18
  ### belongsTo
13
19
 
14
- - `sprintConfig` → [sprintConfig](sprintConfig.md) (via `sprintConfigId`)
20
+ - `sprintConfig` → [sprintConfig](sprintConfig.md) (via `sprintConfigId`) — **preview**
@@ -1,14 +1,20 @@
1
1
  # sprintProgress
2
2
 
3
+ The state of a run's cards on a day (UTC). A row is only written on days when the numbers change, so a day without a row has the numbers of the row before it.
4
+
5
+ **preview**: this model may change in any release. Each change is listed in the [API changelog](https://manual.codecks.io/api-changelog/).
6
+
3
7
  Key: `sprintId`, `date`
4
8
 
5
9
  ## Fields
6
10
 
7
- - `progress`: object
8
- - `sprintId`: string (foreign key ID) → sprint
11
+ - `date`: `string` — **preview**
12
+ - `progress`: `unknown` — **preview**
13
+ Counts the cards in decks of active projects by their `derivedStatus`, with all done states counted as `done`. `cards` and `effort` have the card count and the effort sum for each state (`done`, `started`, `review`, `blocked`, `snoozing`, `assigned`, `unassigned`, `hero`), `stats` has `[count, effort sum, cards without effort]` for each state and `noEffortCards` counts the cards without effort. States without cards are left out.
14
+ - `sprintId`: [`SprintId`](sprint.md), foreign key of `sprint` — **preview**
9
15
 
10
16
  ## Relations
11
17
 
12
18
  ### belongsTo
13
19
 
14
- - `sprint` → [sprint](sprint.md) (via `sprintId`)
20
+ - `sprint` → [sprint](sprint.md) (via `sprintId`) — **preview**
@@ -1,17 +1,19 @@
1
1
  # sprintProject
2
2
 
3
+ Links a run config to a project whose cards can be planned into its runs. A run config with `isGlobal` is linked to every project.
4
+
3
5
  Key: `sprintConfigId`, `projectId`
4
6
 
5
7
  ## Fields
6
8
 
7
- - `sprintConfigId`: string (foreign key ID) → sprintConfig
8
- - `projectId`: string (foreign key ID) → project
9
- - `accountId`: string (foreign key ID) → account
9
+ - `accountId`: [`AccountId`](account.md), foreign key of `account`
10
+ - `projectId`: [`ProjectId`](project.md), foreign key of `project`
11
+ - `sprintConfigId`: [`SprintConfigId`](sprintConfig.md), foreign key of `sprintConfig`
10
12
 
11
13
  ## Relations
12
14
 
13
15
  ### belongsTo
14
16
 
15
- - `sprintConfig` → [sprintConfig](sprintConfig.md) (via `sprintConfigId`)
16
- - `project` → [project](project.md) (via `projectId`)
17
17
  - `account` → [account](account.md) (via `accountId`)
18
+ - `project` → [project](project.md) (via `projectId`)
19
+ - `sprintConfig` → [sprintConfig](sprintConfig.md) (via `sprintConfigId`)