goqoo-on-kintone / ginue

Ginue is the CLI tool to get settings of kintone via kintone REST API.
9 stars 3 forks source link

Support removing fields in Sub-Table. #25

Open mantaroh opened 5 years ago

mantaroh commented 5 years ago

@the-red @thered

At the moment, ginue doesn't support removing fields. E.g., 1) We have the two environment. (i.e., development and production) 2) We removed the field A in the development environment. 3) We run the ginue push development:production.

If we run above command, ginue stopped due to doesn't support removing fields. The ginue will need to call the /k/v1/preview/app/form/layout with DELETE method.

If you have the any idea of this, could you please tell us?

the-red commented 5 years ago

Thank you for your feedback.

In latest version, Ginue can delete fields interactively when layout.json fails. https://github.com/goqoo-on-kintone/ginue/blob/5b6b1ae404a214a76b23f2c097acf23a8d444058/lib/ginue.js#L771

In your environment, There are no prompt shown? Please tell me ginue -v result.

mantaroh commented 5 years ago

@the-red Thanks!

I checked the ginue version, as far as I can see, ginue version is the latest.

$ ginue -v
Ginue 2.1.3

I investigated deeper, it seems that kintone will return unexpected error code when updating the nil table field. In my environment, kintone returned the following error.

{ StatusCodeError: 400 - {"code":"CB_VA01","id":"b0FRYW6QCTRAOhnfKs49","message":"入力内容が正しくありません。","errors":{"layout[9].fields":{"messages":["フォームの更新に失敗しました。テーブル「Table_XXXX」の指定が正しくありません。指定するフィールドに不足がある、またはテーブルにないフィールドを指定しています。"]}}}

AFAIK, the ginue doesn't hook an above error code and doesn't support the error messages array(i.e., messages).

mantaroh commented 5 years ago

I prepared the sub-table[1], then I removed the fields in table[2].

[1] Original Table (Table_XXXX)

Field Type
Job Title SINGLE_LINE_TEXT
Division SINGLE_LINE_TEXT
Name SINGLE_LINE_TEXT
Mobile SINGLE_LINE_TEXT
E-Mail SINGLE_LINE_TEXT
ID SINGLE_LINE_TEXT
ID_NAME SINGLE_LINE_TEXT

[2] Table after removing the ID and ID_NAME field

Field Type
Job Title SINGLE_LINE_TEXT
Division SINGLE_LINE_TEXT
Name SINGLE_LINE_TEXT
Mobile SINGLE_LINE_TEXT
E-Mail SINGLE_LINE_TEXT
the-red commented 5 years ago

@mantaroh I see. v2.1.3 is latest version.

You seem to have deleted a field in the subtable. Currently, Ginue cannot delete fields in the subtable :tired_face:

It is difficult because the error message does not contain the field codes in subtable. I would like to implement it in the near future!

mantaroh commented 5 years ago

It is difficult because the error message does not contain the field codes in subtable.

I think that we need to distinguish the remove fields from development application layout and deploy application layout. In any case, I'll wait this features!

Cheers!

the-red commented 3 years ago

@mantaroh Thank you very much for your patience.

Deleting fields in sub-tables is now supported. And adding fields in sub-tables is also supported!

It is still in beta, so you can install it with the following command. Please try it out! 🚀

npm install ginue@next

In v3.0, there are other changes as follows. There are many breaking changes, so please be careful.

Please let me know if you have any feedback 😄