Projeler
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
Projeler bir kullanıcı grubu olarak oluşturulur. Bu nedenlegroup
ve project
kavramları API'da aynı şeyi temsil etmektedir.
GET
https://cubicl.io/api/v1/groups
parent
string
Üst projenin ID'si.
Bu değer ayarlanmazsa kurumdaki tüm projeler gösterilir.
recursive
boolean
false
: sadece 1. seviye alt projeleri de getirir.
true
: tüm seviyelerdeki alt projeleri de getirir.
Varsayılan değer : false
Project[]
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:
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.
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.
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.
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',
}