create-devoplus-one-app 0.1.0-next.163 → 0.1.0-next.173
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-devoplus-one-app",
|
|
3
|
-
"version": "0.1.0-next.
|
|
3
|
+
"version": "0.1.0-next.173",
|
|
4
4
|
"description": "Yeni bir Devoplus One uygulaması iskeleti üretir: manifest, SDK'lı giriş noktası, Portal köprülü kabuk, veritabanı migration'ı ve AGENTS.md",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
package/templates/AGENTS.md.tpl
CHANGED
|
@@ -83,7 +83,8 @@ metinle sorun ve şıkları numaralı yazın. Teknik soru sorulmaz.
|
|
|
83
83
|
- **DEXA (ERP okuma)** yalnız SDK `queryDexa(api, key, parameters?)` ile ve yalnız ÖNCEDEN tanımlı QueryStore
|
|
84
84
|
anahtarlarıyla; serbest SQL ya da ERP'ye yazma YOKTUR. Anahtarları Devoplus Console'da uygulamanın kayıt defterine
|
|
85
85
|
yönetici ekler (kayıtta olmayan anahtar 403). Manifest'te `services.dexa.queryKeys` ve `scopes` içinde `dexa.read`
|
|
86
|
-
birlikte beyan edilir; anahtar adı uydurulmaz
|
|
86
|
+
birlikte beyan edilir; anahtar adı uydurulmaz. Portalda açılmış sorguları parametre ve sütunlarıyla
|
|
87
|
+
`one dexa queries` (MCP'de `one_dexa_queries`) listeler; anahtar oradan ya da geliştiriciden alınır. `result.unavailable === true` ise sorgu
|
|
87
88
|
ÇALIŞAMADI; boş `rows` "kayıt yok" SAYILMAZ, kullanıcıya "şu anda getirilemiyor" gösterilir; `truncated` sonucun
|
|
88
89
|
5.000 satırda kesildiğini söyler. `LangCode` platformundur, uygulama GÖNDERMEZ. `UserCode`, `CompanyCode`,
|
|
89
90
|
`CostCenterCode`: kurulumda yönetici "kodları uygulama belirler" onayını verdiyse uygulama bunları her kipte (kişi,
|
package/templates/README.md.tpl
CHANGED
|
@@ -22,9 +22,14 @@ kiracı ve servisler `@devoplus/one-sdk`'dan gelir. Uygulamayı geliştirecek AI
|
|
|
22
22
|
pnpm install
|
|
23
23
|
pnpm type-check && pnpm test && pnpm build # build = one build: yükleme provası, hiçbir yere göndermez
|
|
24
24
|
pnpm migrate # one migrate — migrations/ altındaki SQL dosyalarını yerel veritabanına uygular (ilk çalıştırmada ve her yeni migration'da)
|
|
25
|
-
pnpm dev # one dev
|
|
25
|
+
pnpm dev # one dev: uygulamayı yerel Portal içinde açar (http://127.0.0.1:8787/); kişi --as <kişi> ile seçilir
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
+
> `one dev` kimlik bağlamını seçilen kişiden üretir (başlık elle yazılmaz). E-posta ve SMS gönderilmez, yerel posta
|
|
29
|
+
> kutusuna yazılır (`/__one-dev/posta-kutusu`); mobil bildirim platformun varsayılanı gibi kapalıdır. DEXA ve
|
|
30
|
+
> organizasyon şeması örnek veridendir. Kişiler ve örnek veri `one.dev.json` dosyasındadır (yoksa iki örnek kişi);
|
|
31
|
+
> ayrıntı SDK başvurusundadır.
|
|
32
|
+
|
|
28
33
|
> `one` komutu `@devoplus/one-sdk` ile gelir. Yerel yapılandırma, yerel veri ve paket çıktısı `.one/` altındadır
|
|
29
34
|
> (depoya girmez); her komutta `one.manifest.json`'dan yeniden üretilir. Migration uygulanmadan `notes` tablosu
|
|
30
35
|
> yoktur ve `/api/notes` hata döner. Gerçek yüklemede migration'ları platform sürümle birlikte uygular.
|
|
@@ -7,7 +7,7 @@ Bu bölüm uygulamayı yazan kişi ya da yapay zekâ aracı içindir; kurallar *
|
|
|
7
7
|
pnpm install
|
|
8
8
|
pnpm type-check && pnpm test && pnpm build # build = one build: yükleme provası, hiçbir yere göndermez
|
|
9
9
|
pnpm migrate # one migrate — migrations/ altındaki dosyaları yerel veritabanına uygular
|
|
10
|
-
pnpm dev # one dev
|
|
10
|
+
pnpm dev # one dev: yerel Portal içinde açar (http://127.0.0.1:8787/); kişiler ve örnek veri one.dev.json
|
|
11
11
|
pnpm data:generate # one.data.json değişince: yeni migration + src/data/types.ts
|
|
12
12
|
```
|
|
13
13
|
|
|
@@ -18,8 +18,9 @@ DEĞİŞTİRİN; baştan yazmayın. Dosya haritası:
|
|
|
18
18
|
⛔ Sorgu anahtarı ve kolon adları **UYDURULMAZ**. `CUSTOMER_QUERY = { key, codeColumn, nameColumn }` üçü de boşken
|
|
19
19
|
uygulama DEXA'ya hiç gitmez, `/api/customers` `state: "not-configured"` döner ve müşteri elle girilir. Bağlamak için:
|
|
20
20
|
|
|
21
|
-
1.
|
|
22
|
-
|
|
21
|
+
1. Kurumun **müşteri listesi okuma sorgusunun anahtarını** ve sorgunun döndürdüğü **müşteri kodu** ile **müşteri
|
|
22
|
+
adı** kolonlarının adlarını öğrenin: portalda açılmış sorguları parametre ve sütunlarıyla `one_dexa_queries` (ya da
|
|
23
|
+
`one dexa queries`) listeler; listede yoksa kullanıcıya ya da yöneticiye sorun. Sorgu parametre almayan bir
|
|
23
24
|
liste sorgusu olmalıdır. Sorgu yoksa erişim talebiyle `new-query` isteyin (taslak SQL yalnız öneridir).
|
|
24
25
|
2. Üç değeri `CUSTOMER_QUERY`'ye yazın.
|
|
25
26
|
3. `one.manifest.json`'a `scopes` içine `"dexa.read"` ve `services` içine `"dexa": { "queryKeys": ["<anahtar>"] }`
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
//
|
|
3
3
|
// ⚠️ YER TUTUCU — sorgu anahtarı ve kolon adları kuruma özgüdür ve UYDURULMAZ. Aşağıdaki üç değer boşken uygulama ERP'ye
|
|
4
4
|
// hiç gitmez ve müşteri ELLE girilir (ekran bunu söyler). Bağlamak için (ayrıntı AGENTS.md):
|
|
5
|
-
// 1.
|
|
6
|
-
//
|
|
5
|
+
// 1. Müşteri listesini döndüren okuma sorgusunun anahtarını ve müşteri kodu / müşteri adı kolonlarının adlarını
|
|
6
|
+
// öğrenin: portalda açılmış sorguları `one dexa queries` listeler (yoksa erişim talebiyle `new-query` isteyin).
|
|
7
7
|
// 2. `CUSTOMER_QUERY`'ye yazın; manifest'e `"dexa.read"` yetki alanını ve `services.dexa.queryKeys` listesine aynı
|
|
8
8
|
// anahtarı ekleyin.
|
|
9
9
|
// 3. Erişim talebiyle sorgunun uygulamaya açılmasını (`dexa-query`) ve gerekirse yetki alanını (`scope`) isteyin.
|