Comments (4)
(WIP)
User
- Seems like a private project
- System Administrator: the only one account
dogma
- A user can see his or her own repositories by default.
- A user has a list of organizations which belongs to him or her. The user may be an administrator for some organizations.
- A permission to add or remove users
Organization (= Project)
- Seems like a shared project
- An organization consists of repositories.
- A user may be added to an organization by organization or system administrator.
- A user has one of the following roles:
Administrator
(able to create/remove a repository and generate an application token for the organization)User
(able to read/write files in a repository)Guest
(able to read files in a repository)
Application Token
- A token belongs to user repositories by default. It may also belong to an organization.
- A token has one of the following roles:
User
(able to read/write files in a repository)Guest
(able to read files in a repository)
UI
User
pageMy Repositories
: repository list, buttons to create/remove a repositoryMy Organizations
: organization list and my role for each organizationMy Application Tokens
:App ID
and tokens to be used to access my repositories, and tokens' role;user
orguest
- Need a way to convert(or transfer) a repository to an organization?
Organization
pageName
Repositories
: repositories belonging to the organization, buttons to create/remove a repository if the user logged in is an administratorMembers
: user list and their role;administrator
,user
orguest
Application Tokens
:App ID
and tokens to be used to access organization projects, and tokens' role;user
orguest
System Administrator
pageUsers
Repositories
Organizations
Application Tokens
from centraldogma.
API
/users
(forSystem Administrator
)/users/repositories?user={user ID}
(user
parameter forSystem Administrator
. Returns the repositories belonging to login user ifuser
parameter is missing.)/users/organizations?user={user ID}
/users/tokens?user={user ID}
/organizations
(was:/projects
)/organizations/{organization name}/repositories
(was:/projects/{project name}/repositories
)/organizations/{organization name}/members
/organizations/{organization name}/tokens
/tokens
(forSystem Administrator
)
from centraldogma.
- Do not change the name
project
toorganization
. Keep the name and implement features first. Discuss the name later. - Implement UI using angular.js
- Authenticate a user using Apache Shiro
Tasks
- Add
/projects/{name}/members
(May requiredogma/projects.json
) - Add
/users
(May requiredogma/users.json
) - Add
/users/projects?name={name}
- Authorize APIs
- ...
from centraldogma.
Closed by #133
from centraldogma.
Related Issues (20)
- Provide a way to configure CORS policies HOT 1
- Support content encryption within CentralDogma HOT 1
- Add benchmark module
- Add Apple Silicon binary for CLI HOT 5
- Support service discovery
- Slow token deletion
- Fetch only the recent commits when cloning a remote Git repository for mirroring HOT 2
- Should we add tool for scan vulnerabilities like Snyk? HOT 2
- Support ed25519 SSH key pairs by switching from JSch to Apache MINA SSHd HOT 1
- Deprecate `Commit.markup()`
- Migrate Central Dogma container registry
- How can I migrate centraldogma service smoothly HOT 1
- Support distributed tracing HOT 1
- More target flexibility of `Plugin`
- Docs graph seems to be broken HOT 2
- `CentralDogmaExtension` after test listener not waiting server to stop HOT 5
- Web UI cannot handle numbers larger than `Number.MAX_SAFE_INTEGER` in JSON files HOT 3
- Add test cases that validates Central Dogma server rolling restart
- Move `mirror_state.json` under `meta` repository HOT 5
- Makeup README
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from centraldogma.