Skip to content

Commit

Permalink
Scope -> Squad
Browse files Browse the repository at this point in the history
  • Loading branch information
jpa-mm committed Jan 30, 2024
1 parent 345643b commit 0711497
Show file tree
Hide file tree
Showing 51 changed files with 802 additions and 838 deletions.
14 changes: 7 additions & 7 deletions FUNCTIONAL_REQUIREMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ No time tracking, no endless workflow customizing, only tasks that need to be do
There are the following user types:

- users: able to see all and create tasks (title and description)
- heroes: as users plus ability to modify all in tasks in their scopes
- admin: define scopes, used for tasks, as well as heroes allowed to work on each scope
- heroes: as users plus ability to modify all in tasks in their squads
- admin: define squads, used for tasks, as well as heroes allowed to work on each squad

A task is made of:

- scope: one among the scopes defined by the admin
- squad: one among the squads defined by the admin
- title: mandatory, updatable, single line, 1 up to 255 chars
- description: optional, updatable, multi line, up to 1024 chars
- creator: mandatory, fixed at creation
- id: unique among all tasks, fixed at creation, made of the scope key, a dash and a unique number, 2 to 73 chars
- id: unique among all tasks, fixed at creation, made of the squad key, a dash and a unique number, 2 to 73 chars
- assignees: can be empty, updatable. Always empty for done task.
- a task can be pending, in progress or done: default to pending
- each state can be moved to any of the 2 others
Expand All @@ -23,9 +23,9 @@ A task is made of:

Multiple tasks with same title or description can be created.

A scope has:
- a name, 1 up to 255 chars, unique among all scopes, updatable, must be unique
- a key, unique among all scopes, by default deduced from the name, 1 to 36 chars, must be unique
A squad has:
- a name, 1 up to 255 chars, unique among all squads, updatable, must be unique
- a key, unique among all squads, by default deduced from the name, 1 to 36 chars, must be unique
- can't be changed
- assignees: can be empty, updatable

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package org.hexastacks.heroesdesk.kotlin.ports.inmemory

import org.hexastacks.heroesdesk.kotlin.squad.Name
import org.hexastacks.heroesdesk.kotlin.squad.Squad
import org.hexastacks.heroesdesk.kotlin.squad.SquadKey
import org.hexastacks.heroesdesk.kotlin.squad.SquadMembers
import org.hexastacks.heroesdesk.kotlin.impl.user.HeroIds

data class InMemorySquad(val name: Name, val key: SquadKey, val members: HeroIds = HeroIds.empty) {
fun toSquad(): Squad = Squad(name, key)
fun toSquadMembers(): SquadMembers = SquadMembers(key, members)
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.hexastacks.heroesdesk.kotlin.adapters.inmemory
package org.hexastacks.heroesdesk.kotlin.ports.inmemory

import arrow.core.Either.Left
import arrow.core.Either.Right
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.hexastacks.heroesdesk.kotlin.ports.inmemory

import org.hexastacks.heroesdesk.kotlin.adapters.inmemory.InMemoryUserRepository
import org.hexastacks.heroesdesk.kotlin.impl.user.Admin
import org.hexastacks.heroesdesk.kotlin.impl.user.Hero
import org.hexastacks.heroesdesk.kotlin.test.InstrumentedUserRepository
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 0711497

Please sign in to comment.