ការយោងគ្រប់គ្រងនៃកូដកំហុសទាំងអស់នៅក្នុង Blue GraphQL API ដែលរៀបចំតាមប្រភេទ


របៀបឆ្លើយតបកំហុស

API GraphQL របស់ Blue បញ្ជូនកំហុសក្នុងទ្រង់ទ្រាយស្តង់ដារតាមការបញ្ជាក់ GraphQL។ នៅពេលដែលកំហុសកើតឡើង ការឆ្លើយតបនឹងរួមបញ្ចូល errors ដែលមានព័ត៌មានលម្អិតអំពីអ្វីដែលកើតមានកំហុស។

ឧទាហរណ៍ការឆ្លើយតបកំហុស

{
  "errors": [
    {
      "message": "Todo was not found.",
      "extensions": {
        "code": "TODO_NOT_FOUND"
      }
    }
  ]
}

រចនាសម្ព័ន្ធកំហុស

អង្គភាពកំហុសមួយៗមាន៖

  • សារប្រាប់: ការពិពណ៌នាដែលអាចអានបានដោយមនុស្សអំពីកំហុស
  • extensions.code: កូដកំហុសដែលអាចអានបានដោយម៉ាស៊ីនសម្រាប់ការដោះស្រាយកម្មវិធី

សុវត្ថិភាពកំហុសផលិតកម្ម

Blue បានអនុវត្តប្រព័ន្ធសុវត្ថិភាពសម្រាប់ការបង្ហាញកំហុស៖

  • កំហុសសុវត្ថិភាព: បង្ហាញកូដនិងសារពិតប្រាកដទៅកាន់អតិថិជន
  • កំហុសមិនសុវត្ថិភាព: បញ្ជូន INTERNAL_SERVER_ERROR ទូទៅដើម្បីលាក់ព័ត៌មានអារម្មណ៍
  • មិនអាចរកឃើញធនធាន: កំហុសទាំងអស់ *_NOT_FOUND ត្រូវបានចាត់ទុកថាសុវត្ថិភាពនិងតែងតែបង្ហាញ

ប្រភេទកំហុស

Blue បានកំណត់កូដកំហុសផ្ទាល់ខ្លួន ១០៨ ដែលរៀបចំជាក្រុមដូចខាងក្រោម៖

កំហុសសំរាប់ការផ្ទៀងផ្ទាត់ និងការអនុញ្ញាត

កូដកំហុស សារ ការពិពណ៌នា
UNAUTHENTICATED "ត្រូវការការផ្ទៀងផ្ទាត់។" ការស្នើសុំត្រូវការការផ្ទៀងផ្ទាត់ប៉ុន្តែមិនមានការផ្តល់ជូន
FORBIDDEN "អ្នកមិនមានសិទ្ធិទេ។" បានផ្ទៀងផ្ទាត់ប៉ុន្តែខ្វះសិទ្ធិដែលត្រូវការ

កំហុសមិនអាចរកឃើញធនធាន (សរុប ៥២)

ធនធានមូលដ្ឋាន

កូដកំហុស សារ ការពិពណ៌នា
TODO_NOT_FOUND "Todo មិនត្រូវបានរកឃើញ។" កំណត់ត្រា/todo មិនមានឬអ្នកប្រើមិនមានសិទ្ធិចូល
TODO_LIST_NOT_FOUND "បញ្ជី Todo មិនត្រូវបានរកឃើញ។" បញ្ជីមិនមានឬអ្នកប្រើមិនមានសិទ្ធិចូល
PROJECT_NOT_FOUND "គម្រោងមិនត្រូវបានរកឃើញ។" គម្រោងមិនមានឬអ្នកប្រើមិនមានសិទ្ធិចូល
COMPANY_NOT_FOUND "ក្រុមហ៊ុនមិនត្រូវបានរកឃើញ។" ក្រុមហ៊ុនមិនមានឬអ្នកប្រើមិនមានសិទ្ធិចូល
USER_NOT_FOUND "អ្នកប្រើមិនត្រូវបានរកឃើញ។" អ្នកប្រើមិនមាននៅក្នុងប្រព័ន្ធ

Fields និង Forms ផ្ទាល់ខ្លួន

កូដកំហុស សារ ការពិពណ៌នា
CUSTOM_FIELD_NOT_FOUND "វាលផ្ទាល់ខ្លួនមិនត្រូវបានរកឃើញ។" វាលផ្ទាល់ខ្លួនមិនមាន
CUSTOM_FIELD_OPTION_NOT_FOUND "ជម្រើសវាលផ្ទាល់ខ្លួនមិនត្រូវបានរកឃើញ។" ជម្រើសវាលមិនមាន
FORM_NOT_FOUND "Form មិនត្រូវបានរកឃើញ។" គំរូ Form មិនមាន
FORM_FIELD_NOT_FOUND "វាល Form មិនត្រូវបានរកឃើញ។" វាល Form មិនមាន

គ្រឿងផ្សំគម្រោង

កូដកំហុស សារ ការពិពណ៌នា
TAG_NOT_FOUND "ស្លាកមិនត្រូវបានរកឃើញ។" ស្លាកមិនមាននៅក្នុងគម្រោង
AUTOMATION_NOT_FOUND "ការប្រព្រឹត្តអូតូម៉ាទ័រ មិនត្រូវបានរកឃើញ។" ច្បាប់អូតូម៉ាទ័រមិនមាន
CHART_NOT_FOUND "តារាងមិនត្រូវបានរកឃើញ។" តារាងផ្ទាំងគ្រប់គ្រងមិនមាន
WEBHOOK_NOT_FOUND "Webhook មិនត្រូវបានរកឃើញ។" ការកំណត់ Webhook មិនមាន
TEMPLATE_NOT_FOUND "គំរូមិនត្រូវបានរកឃើញ។" គំរូគម្រោងមិនមាន

មតិយោបល់ និងសកម្មភាព

កូដកំហុស សារ ការពិពណ៌នា
COMMENT_NOT_FOUND "មតិយោបល់មិនត្រូវបានរកឃើញ។" មតិយោបល់មិនមាន
ACTIVITY_NOT_FOUND "សកម្មភាពមិនត្រូវបានរកឃើញ។" កំណត់ត្រាសកម្មភាពមិនមាន
REACTION_NOT_FOUND "ការឆ្លើយតបមិនត្រូវបានរកឃើញ។" ការឆ្លើយតបមតិយោបល់មិនមាន

ធនធានផ្សេងទៀត

កូដកំហុស សារ ការពិពណ៌នា
FILE_NOT_FOUND "ឯកសារមិនត្រូវបានរកឃើញ។" ការភ្ជាប់ឯកសារមិនមាន
SUBSCRIPTION_NOT_FOUND "ការជាវមិនត្រូវបានរកឃើញ។" ការជាវវិក័យប័ត្រមិនមាន
INVOICE_NOT_FOUND "វិក័យប័ត្រមិនត្រូវបានរកឃើញ។" កំណត់ត្រាវិក័យប័ត្រមិនមាន
CHECKLIST_NOT_FOUND "បញ្ជីត្រួតពិនិត្យមិនត្រូវបានរកឃើញ។" បញ្ជីត្រួតពិនិត្យមិនមាន
CHECKLIST_ITEM_NOT_FOUND "ធាតុបញ្ជីត្រួតពិនិត្យមិនត្រូវបានរកឃើញ។" ធាតុបញ្ជីត្រួតពិនិត្យមិនមាន
PROJECT_ROLE_NOT_FOUND "តួនាទីគម្រោងមិនត្រូវបានរកឃើញ។" តួនាទីគម្រោងផ្ទាល់ខ្លួនមិនមាន
PROJECT_ACCESS_NOT_FOUND "ការចូលដំណើរការគម្រោងមិនត្រូវបានរកឃើញ។" ការចូលដំណើរការគម្រោងរបស់អ្នកប្រើមិនមាន
NOTIFICATION_NOT_FOUND "ការជូនដំណឹងមិនត្រូវបានរកឃើញ។" ការជូនដំណឹងមិនមាន
DASHBOARD_NOT_FOUND "ផ្ទាំងគ្រប់គ្រងមិនត្រូវបានរកឃើញ។" ផ្ទាំងគ្រប់គ្រងមិនមាន
KEY_NOT_FOUND "កូនសោមិនត្រូវបានរកឃើញ។" កូនសោការកំណត់មិនមាន

កំហុសផ្ទៀងផ្ទាត់

កូដកំហុស សារ ការពិពណ៌នា
BAD_USER_INPUT "ការបញ្ចូលមិនត្រឹមត្រូវ។" ការបរាជ័យផ្ទៀងផ្ទាត់ការបញ្ចូលទូទៅ
VALIDATION_ERROR "ប៉ារ៉ាម៉ែត្រមិនត្រឹមត្រូវ" ប៉ារ៉ាម៉ែត្រស្នើសុំបានបរាជ័យក្នុងការផ្ទៀងផ្ទាត់
BAD_EMAIL "អ្នកត្រូវការបញ្ចូលអ៊ីមែលដែលត្រឹមត្រូវ។" ទម្រង់អ៊ីមែលមិនត្រឹមត្រូវ
INVALID_IDS "IDs មិនត្រឹមត្រូវ។" ID មួយឬច្រើននៅក្នុងសំណើមិនត្រឹមត្រូវ
PHONE_INVALID "ទូរស័ព្ទមិនត្រឹមត្រូវ។" ទម្រង់លេខទូរស័ព្ទមិនត្រឹមត្រូវ
URL_INVALID "URL មិនត្រឹមត្រូវ។" ទម្រង់ URL មិនត្រឹមត្រូវ
INVALID_RECURRING_DUE_DATE "កាលបរិច្ឆេទដែលមិនត្រឹមត្រូវសម្រាប់ភារកិច្ចកើតឡើង" ការផ្ទៀងផ្ទាត់កាលបរិច្ឆេទភារកិច្ចកើតឡើងបានបរាជ័យ
INVALID_COLOR "ពណ៌មិនត្រឹមត្រូវ" តម្លៃពណ៌មិនត្រូវនឹងទម្រង់ដែលបានរំពឹងទុក

កំហុសនៃល្បឿនអាជីវកម្ម

កំណត់ និងកំណត់

កូដកំហុស សារ ការពិពណ៌នា
COMPANY_LIMIT "អ្នកបានឈានដល់កំណត់ក្រុមហ៊ុនសម្រាប់គណនីរបស់អ្នក។" ក្រុមហ៊ុនអតិបរិមាឈានដល់
PROJECT_LIMIT "អ្នកបានឈានដល់កំណត់គម្រោងសម្រាប់ក្រុមហ៊ុនរបស់អ្នក។" គម្រោងអតិបរិមាឈានដល់
USER_LIMIT "អ្នកបានឈានដល់កំណត់អ្នកប្រើសម្រាប់ក្រុមហ៊ុនរបស់អ្នក។" អ្នកប្រើអតិបរិមាឈានដល់
PROJECT_TEMPLATE_LIMIT "អ្នកបានឈានដល់កំណត់គំរូសម្រាប់ក្រុមហ៊ុនរបស់អ្នក។" គំរូអតិបរិមាឈានដល់
CUSTOM_FIELD_LIMIT "កំណត់វាលផ្ទាល់ខ្លួនបានឈានដល់។" វាលផ្ទាល់ខ្លួនអតិបរិមាឈានដល់
TODO_LIST_LIMIT "អ្នកបានឈានដល់កំណត់បញ្ជីសម្រាប់គម្រោងរបស់អ្នក។" បញ្ជីអតិបរិមាឈានដល់
TOO_MANY_TODOS "មាន Todo យ៉ាងច្រើន។" កំណត់កំណត់ត្រាបានឈានដល់
TOO_MANY_OPTIONS "មានជម្រើសច្រើនពេក។" កំណត់ជម្រើសវាលបានឈានដល់
MAX_FILE_SIZE "ទំហំឯកសារច្រើនបំផុតគឺ ៤.៨ GB" ទំហំឯកសារដាក់ឯកសារបានឈានដល់

ការប្រឈមមុខនឹងធនធាន

កូដកំហុស សារ ការពិពណ៌នា
TAG_ALREADY_EXISTS "ស្លាកមានរួចហើយ។" ស្លាកដែលមានឈ្មោះដូចគ្នាមាននៅក្នុងគម្រោង
COMPANY_SLUG_ALREADY_EXISTS "ក្រុមហ៊ុនមានរួចហើយ។" slug/URL របស់ក្រុមហ៊ុនត្រូវបានយកទៅហើយ
USER_ALREADY_EXISTS "អ្នកប្រើមានរួចហើយ។" អ៊ីមែលអ្នកប្រើបានចុះឈ្មោះរួចហើយ
ALREADY_INVITED "អ្នកប្រើបានអញ្ជើញរួចហើយ។" អ្នកប្រើមានការអញ្ជើញនៅក្នុងការពិនិត្យរួចហើយ
USER_ALREADY_IN_PROJECT "អ្នកប្រើមាននៅក្នុងគម្រោងនេះរួចហើយ។" អ្នកប្រើមានការចូលដំណើរការគម្រោងរួចហើយ
FILE_TYPE_NOT_ALLOWED "ប្រភេទឯកសារមិនអនុញ្ញាត។" ប្រភេទឯកសារដាក់ឯកសារមានកំណត់

កំហុសសិទ្ធិ និងការចូលដំណើរការ

កូដកំហុស សារ ការពិពណ៌នា
UNABLE_TO_DELETE_ONLY_ADMIN "មិនអាចលុបអ្នកគ្រប់គ្រងតែមួយនៅក្នុងក្រុមហ៊ុន។" មិនអាចលុបអ្នកគ្រប់គ្រងចុងក្រោយ
UNABLE_TO_UPDATE_OWNER "មិនអាចធ្វើបច្ចុប្បន្នភាព OWNER។" មិនអាចកែប្រាសិទ្ធិម្ចាស់
TODO_LIST_IS_HIDDEN "បញ្ជី Todo បានលាក់។" បញ្ជីលាក់ពីតួនាទីរបស់អ្នកប្រើ
COMPANY_NOT_ACTIVE "ក្រុមហ៊ុនមិនសកម្មទេ។" ការជាវក្រុមហ៊ុនមិនសកម្ម
PROJECT_NOT_ACTIVE "គម្រោងមិនសកម្មទេ។" គម្រោងត្រូវបានស្តារឬមិនសកម្ម

កំហុសសុវត្ថិភាពទិន្នន័យ

កូដកំហុស សារ ការពិពណ៌នា
UNABLE_TO_DELETE_LIST_WITH_TODOS "មិនអាចលុបបញ្ជីដែលមាន Todo។" បញ្ជីត្រូវតែទទេដើម្បីលុប
UNABLE_TO_DELTE_FILE "មិនអាចលុបឯកសារ។" ការលុបឯកសារបរាជ័យ (មានកំហុសក្នុងកូដ)
UNABLE_TO_MOVE_TODO "មិនអាចផ្លាស់ប្តូរ Todo។" មិនអាចផ្លាស់ប្តូរកំណត់ត្រារវាងបញ្ជី
DEPENDENCY_HAS_DEPENDENCY "ការពឹងផ្អែកមានការពឹងផ្អែក" ការពឹងផ្អែកមូលដ្ឋានត្រូវបានរកឃើញ
TODO_DEPENDS_ON_ITSELF "Todo ពឹងផ្អែកលើខ្លួនវា" ការពឹងផ្អែកខ្លួនឯង

កំហុស Stripe/ការទូទាត់

កូដកំហុស សារ ការពិពណ៌នា
STRIPE_CREATING_CUSTOMER "កំហុសខណៈបង្កើតអតិថិជននៅក្នុង stripe។" ការបង្កើតអតិថិជន Stripe បានបរាជ័យ
STRIPE_ALREADY_SUBSCRIBED "បានជាវរួចហើយ។" មានការជាវសកម្ម
STRIPE_MISSING_PAYMENT_METHOD "ខ្វះវិធីសាស្ត្រទូទាត់។" មិនមានវិធីសាស្ត្រទូទាត់នៅក្នុងឯកសារ
STRIPE_CREATING_SUBSCRIPTION "កំហុសខណៈបង្កើតការជាវនៅក្នុង stripe។" ការបង្កើតការជាវបានបរាជ័យ
STRIPE_UPDATING_SUBSCRIPTION "កំហុសខណៈធ្វើបច្ចុប្បន្នភាពការជាវនៅក្នុង stripe។" ការធ្វើបច្ចុប្បន្នភាពការជាវបានបរាជ័យ
STRIPE_CHECKOUT_SESSION "កំហុសខណៈបង្កើតសម័យបង់ប្រាក់នៅក្នុង stripe។" ការបង្កើតសម័យបង់ប្រាក់បានបរាជ័យ
STRIPE_CUSTOMER_PORTAL "កំហុសខណៈបង្កើតផតថលអតិថិជននៅក្នុង stripe។" ការបង្កើតសម័យផតថលបានបរាជ័យ
STRIPE_TAX_ID "មិនអាចរក្សាទុកលេខសម្គាល់ពន្ធ" ការផ្ទៀងផ្ទាត់/រក្សាទុកលេខសម្គាល់ពន្ធបានបរាជ័យ
PAYMENT_REQUIRED "ត្រូវការការទូទាត់។" លក្ខណៈត្រូវការការជាវសកម្ម
NO_PAYMENT_REQUIRED "មិនត្រូវការការទូទាត់។" ការទូទាត់មិនត្រូវការសម្រាប់ប្រតិបត្តិការ

កំហុសផ្ទៀងផ្ទាត់ និងសម័យ

កូដកំហុស សារ ការពិពណ៌នា
INVALID_CREDENTIALS "អត្តសញ្ញាណមិនត្រឹមត្រូវ។" ឈ្មោះអ្នកប្រើ/ពាក្យសម្ងាត់មិនត្រឹមត្រូវ
EXPIRED_RESET_TOKEN "កូដកំណត់ឡើងវិញបានផុតកំណត់។" កូដកំណត់ឡើងវិញពាក្យសម្ងាត់បានផុតកំណត់
OAUTH_FAILED "ដំណើរការបញ្ជាក់ OAuth បានបរាជ័យ។" ការបញ្ជាក់ OAuth បានបរាជ័យ
SAML_NOT_ENABLED "SSO (SAML) មិនត្រូវបានបើក។" SAML SSO មិនត្រូវបានកំណត់
SSO_AUTO_PROVISION_DISABLED "ការផ្តល់ជូនដោយស្វ័យប្រវត្តិបានបិទ។" មិនអាចបង្កើតអ្នកប្រើ SSO ដោយស្វ័យប្រវត្តិ

ការកំណត់ល្បឿន

ការកំណត់ល្បឿនត្រូវបានគ្រប់គ្រងដោយកញ្ចប់ graphql-rate-limit ជាមួយការកំណត់ផ្សេងៗ៖

ប្រភេទកំណត់ វិនាទី សំណើអតិបរិមា អនុវត្តទៅ
Standard 60s 500 Most queries/mutations
Sensitive 300s 10 Password reset, auth operations
Expensive 60s 20 Complex queries, bulk operations
Search 60s 60 Search operations
File Upload 60s 100 File upload operations

នៅពេលដែលបានកំណត់ល្បឿន អ្នកនឹងទទួលបានកំហុស GraphQL ស្តង់ដាមួយដែលមានសារបង្ហាញថាកំណត់បានឈានដល់។

កំហុសប្រព័ន្ធ និងក្នុង

កូដកំហុស សារ ការពិពណ៌នា
INTERNAL_SERVER_ERROR "កំហុសម៉ាស៊ីនបម្រើក្នុង។" កំហុសទូទៅសម្រាប់កំហុសមិនសុវត្ថិភាពក្នុងផលិតកម្ម
UNKNOWN_ERROR "កំហុសអង់គ្លេសមិនស្គាល់។" កំហុសមិនគ្រាន់តែបានកើតឡើង
RESOLVER_NOT_FOUND "Resolver មិនត្រូវបានរកឃើញ" Resolver GraphQL ខ្វះ
FIELD_NOT_IN_SCHEMA "វាលមិនមាននៅក្នុងស្កីមា" វាលដែលបានស្នើមិនមាន

អនុវត្តន៍ល្អបំផុតសម្រាប់ការដោះស្រាយកំហុស

ការដោះស្រាយនៅខាងអតិថិជន

try {
  const result = await client.mutate({
    mutation: CREATE_TODO,
    variables: { input }
  });
} catch (error) {
  if (error.graphQLErrors?.length > 0) {
    const errorCode = error.graphQLErrors[0].extensions?.code;
    
    switch (errorCode) {
      case 'UNAUTHENTICATED':
        // Redirect to login
        break;
      case 'TODO_NOT_FOUND':
        // Show "Record not found" message
        break;
      case 'VALIDATION_ERROR':
        // Display validation errors
        break;
      default:
        // Show generic error message
    }
  }
}

សកម្មភាពកំហុសទូទៅ

  1. ត្រូវការការផ្ទៀងផ្ទាត់: UNAUTHENTICATED - អ្នកប្រើត្រូវតែចូល
  2. ការអនុញ្ញាតត្រូវបានបដិសេធ: FORBIDDEN - អ្នកប្រើខ្វះតួនាទី/សិទ្ធិដែលត្រូវការ
  3. ធនធានមិនត្រូវបានរកឃើញ: *_NOT_FOUND - ធនធានមិនមានឬអ្នកប្រើមិនអាចចូលដំណើរការបាន
  4. ការផ្ទៀងផ្ទាត់បានបរាជ័យ: VALIDATION_ERROR, BAD_USER_INPUT - ពិនិត្យប៉ារ៉ាម៉ែត្របញ្ចូល
  5. បានកំណត់ល្បឿន: ពិនិត្យក្បាលកំណត់ល្បឿន និងអនុវត្តការបញ្ឈប់
  6. ត្រូវការការទូទាត់: PAYMENT_REQUIRED - លក្ខណៈត្រូវការការជាវ

ឯកសារដែលទាក់ទង

ជំនួយក្រុមហ៊ុន AI

ការឆ្លើយតបត្រូវបានបង្កើតឡើងដោយប្រើ AI ហើយអាចមានកំហុស។

ខ្ញុំអាចជួយអ្នកបានយ៉ាងដូចម្តេច?

សូមសួរអ្វីក៏បានអំពី Blue ឬឯកសារនេះ។

ចូលដើម្បីផ្ញើ • Shift+Enter សម្រាប់បន្ទាត់ថ្មី • ⌘I ដើម្បីបើក