@devoplus/one-sdk
Devoplus One, kendi geliştirdiğiniz uygulamaları Devoplus Portal içinde çalıştıran ve onlara kurumsal servisleri
(kimlik, yetki, organizasyon şeması, ERP sorguları, e-posta ve bildirim, denetim günlüğü) açan platformdur. Bu paket,
uygulamanızın o servislere bağlandığı istemcidir: oturumdaki kullanıcıyı ve izinlerini okur, Devoplus servislerini
çağırır, uygulamanın veritabanı, dosya ve önbellek depolarıyla çalışır, Portal köprüsünü ve hazır arayüz bileşenlerini
sağlar ve one komutunu getirir.
Kurulum
npm install @devoplus/one-sdk
Bu komut kararlı sürümü (latest) kurar; @next yalnız test kanalındaki ön sürümü denemek içindir. Paket yalnız ESM olarak
dağıtılır ve Node 22 ya da üstünü ister. Çalışma ortamı tipleri paketin içindedir; ek bir tip paketi gerekmez.
Yeni uygulama
npm create devoplus-one-app -- uygulamam --slug uygulamam --owner [email protected]
Üretilen iskelet bu paketi kendisi kurar. Hazır iş uygulaması şablonları için --template <şablon> verin;
--list-templates şablonları listeler.
En küçük örnek
import { BackendClient, problemResponse, readContext, requireUser, type OneApp } from '@devoplus/one-sdk'
interface Env { API_BASE: string }
export default {
async fetch(request, env): Promise<Response> {
try {
const ctx = readContext(request.headers) // Portal'ın her isteğe eklediği kimlik bağlamı
if (new URL(request.url).pathname === '/api/me') {
requireUser(ctx) // oturum yoksa 401
const api = new BackendClient({ baseUrl: env.API_BASE, authorization: request.headers.get('authorization') })
return Response.json(await api.get('Users/me'))
}
return new Response('Bulunamadı', { status: 404 })
} catch (error) {
return problemResponse(error) // hatayı standart hata yanıtına çevirir
}
},
} satisfies OneApp<Env>
one komutu
one dev: uygulamayı yerel Portal içinde açar (http://127.0.0.1:8787/). Kimlik seçtiğiniz kişiden gelir (--as <kişi>); e-posta ve SMS gönderilmez, yerel posta kutusuna yazılır (mobil bildirim platformun varsayılanı gibi kapalıdır,one.dev.jsonile açılır); ERP (DEXA) sorguları ve organizasyon şemasıone.dev.jsonörnek verisinden gelir.one migrate: migration dosyalarını yerel veritabanına uygular.one build: yükleme provası yapar; hiçbir yere göndermez.one data generate: veri modelinden (one.data.json) migration ve tip dosyası üretir.one login/one logout: Devoplus hesabınızla oturum açar ya da kapatır.one context: oturumdaki portalı gösterir.one dexa queries: portalda uygulamalara açılmış ERP (DEXA) sorgularını parametre ve sütunlarıyla listeler.one request/one requests: yöneticiden erişim izni ister; taleplerinizi ve durumlarını listeler.one publish: kodu Devoplus'a yükler ve uygulamayı test ortamına yayımlar.one pipeline: yayın hattının işlerini ve son başarısız işin günlüğünü gösterir.one promote/one rollback: sürümü bir sonraki ortama taşır; önceki sürüme döner.one deployments/one status: yayın isteklerinizi listeler; kullanım ve hata özetini gösterir.
Kod sizin bilgisayarınızdan yayımlanmaz: one publish kaynağı Devoplus API'si üzerinden uygulamanın deposuna yazar ve
bir yayın isteği bırakır, yayını Devoplus'ın yayın hattı yapar.
Kurulu SDK, kanalındaki en yeni sürümden (ön sürüm için next, kararlı sürüm için latest) eskiyse one her komutta
bir uyarı yazar ve güncelleme komutunu söyler; komut yine çalışır. Paket deposuna günde en çok bir kez sorulur ve yanıt
en çok 1,5 saniye beklenir. CI tanımlıyken ya da ONE_NO_UPDATE_CHECK=1 ile denetim kapanır. Yayın hattı da eski SDK
için uyarı verir.
Belgeler
Bütün işlevler, arayüz bileşenleri ve hata kodları paketin içindeki REFERENCE.md dosyasında anlatılır. Aynı başvuru
ve platformun geliştirici belgeleri ön sürüm kanalı için https://test-one.devoplus.dev/docs adresindedir.
Sürümler ve lisans
Paket iki kanaldan yayımlanır: next (ön sürüm, <sürüm>-next.<n>) ve latest (kararlı). Değişiklikler paketin
içindeki CHANGELOG.md dosyasındadır. Lisans: ticari, açık kaynak değildir. Kullanım Devoplus ile yapılmış geçerli bir
sözleşmeye tabidir; koşullar paketin içindeki LICENSE.md dosyasındadır.