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 update the permission of a token
- Incorrect Project Creator
- Update Github Workflow CI build target HOT 2
- Use `UpdateServerStatusCommand` for updating writable status in `AdministrativeSevice`
- Fix: JSON Editor Composition Issue with Korean Text Input
- Mirrored repository doesn't overwrite changes pushed by users during mirroring HOT 3
- csrfTokenRequiredForThrift field missing from documentation HOT 2
- Update documentation with missing information on Git-CD mirroring HOT 2
- `500` is returned when `CentralDogma` server is closed HOT 1
- Provide a way to allow a user or access token to access a certain repository and nothing else in a project. HOT 1
- Add the role of user/app to the access logs
- Remote branch show null when unspecified HOT 3
- Support for `@Attribute` in annotated services HOT 1
- Test fail by Address already in use
- Add integration test for Spring Cloud Config Server HOT 3
- Remove ".git" suffix when creating a repository HOT 3
- Create remote branch when mirroring to remote if missing
- Provide a way to specify a fallback for Central Dogma server endpoints
- JsonPath `$.*~` doesn't work
- Provide an easy way to import a directory into Central Dogma programmatically
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.