Comment on page
Projeler
Projeler bir kullanıcı grubu olarak oluşturulur. Bu nedenle
group
ve project
kavramları API'da aynı şeyi temsil etmektedir.get
https://cubicl.io/api/v1
/groups
Projeleri Getir
type Project = {
_id: string;
name: string;
// Projelerin birden çok üst projesi olabilir. Ana projenin bir üst projesi yoktur.
parents: string[] | null;
// "yönetici" rolüne sahip kullanıcıların ID'leri
admins: string[];
// "üye" rolüne sahip kullanıcıların ID'leri
members: string[];
// alt grupların ID'leri
groups: string[];
// Görev aşamaları tanımları. Yalnızca aşamalar özelleştirildiğinde mevcuttur.
// Daha fazla bilgi için Görev Aşamaları bölümünü okuyun.
taskStates?: TaskState[];
// Projede ayarlanan izinler. Yalnızca proje izinleri özelleştirildiğinde mevcuttur.
// Daha fazla bilgi için İzinler bölümünü okuyun.
perms?: {
members: PermissionLevels,
everybody: PermissionLevels,
// Kullanıcı ID'lerinin ve izin seviyelerinin bulunduğu nesne
users?: {
[userId: string]: PermissionLevels,
}
}
}
type TaskState = {
name: string;
type: 'waiting' | 'active' | 'completed' | 'suspended';
color: string; // Hex renk kodu
textColor: string; // Hex renk kodu
// Bir görev oluştururken aşama belirtilmemişse varsayılan olarak hangi
// aşamanın tanımlanacağını belirtir.
isDefault?: boolean;
}
Projede görev durumları özelleştirilmişse, "taskStates" özelliği, görev aşamaları tanımlanmış nesnelerinin listesini tutar. Aksi takdirde, aşağıdaki varsayılan değerler kullanılır.
[
{
name : 'cb_waiting',
type : 'waiting',
color : '#f39c12',
textColor : '#fff',
isDefault : true
},
{
name : 'cb_active',
type : 'active',
color : '#2ecc71',
textColor : '#fff'
},
{
name : 'cb_completed',
type : 'completed',
color : '#d8d8d8',
textColor : '#333'
},
{
name : 'cb_suspended',
type : 'suspended',
color : '#7d5fff',
textColor : '#fff'
}
]
İzinler aşağıdaki sırayla 4 adımda ayarlanır ve kontrol edilir:
- 1.Yöneticiler: Yöneticiler, projedeki tüm eylemleri gerçekleştirebilir. Bir yönetici, alt projelerin üyesi olmasa bile tüm alt projelerde de yönetici ayrıcalığına sahiptir.
- 2.Kullanıcı İzinleri: İzinler bir kullanıcı için tanımlandıysa, aşağıdaki adımlar kontrol edilmeden kullanılacaktır. Kullanıcı izinleri
perms.users
özelliğinde tanımlanır. - 3.Proje Üyeleri: Proje üyeleri ve diğer kullanıcılar için genel izinler belirlenir. Kullanıcı bir proje üyesiyse, bir sonraki adım kontrol edilmeden bu izinler kullanılacaktır.
- 4.Proje Haricindeki Üyeler: Bu izin düzeyi
perms.everybody
özelliğinde tanımlaır.
Projedeki her ana özellik için izin seviyeleri ayrı ayrı belirlenir.
type FeaturePermLevels = {
// Görevler, Takvim ve Zaman Çizelgesi sayfalarında kullanılır
tasks: 'none' | 'view' | 'contribute' | 'edit' | 'manage',
files: 'none' | 'view' | 'edit' | 'manage',
gantt: 'none' | 'view' | 'edit',
reports: 'none' | 'view',
}
Last modified 1mo ago