Comment on page

Projeler

Projeler bir kullanıcı grubu olarak oluşturulur. Bu nedenlegroup ve project kavramları API'da aynı şeyi temsil etmektedir.

Uç Noktaları

get
https://cubicl.io/api/v1
/groups
Projeleri Getir

Veriler

Projeler

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,
}
}
}

Görev Aşamaları

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

İzinler aşağıdaki sırayla 4 adımda ayarlanır ve kontrol edilir:
  1. 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. 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. 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. 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',
}