បន្ថែមមតិយោបល់ទៅកាន់កំណត់ត្រា (ការងារ) នៅក្នុង Blue ជាមួយមាតិកាផ្ទាល់ខ្លួន, ឯកសារភ្ជាប់, និង @mentions។
បន្ថែមមតិយោបល់
Mutation createComment អនុញ្ញាតឱ្យអ្នកបន្ថែមមតិយោបល់ទៅកាន់កំណត់ត្រានៅក្នុង Blue។ មតិយោបល់គាំទ្រមាតិកា HTML ផ្ទាល់ខ្លួន, ឯកសារភ្ជាប់, @mentions, ហើយត្រូវបានបញ្ចូលដោយស្វ័យប្រវត្តិជាមួយ feed សកម្មភាព និងប្រព័ន្ធជូនដំណឹង។
ឧទាហរណ៍មូលដ្ឋាន
បន្ថែមមតិយោបល់អត្ថបទសាមញ្ញទៅកាន់កំណត់ត្រា:
mutation AddComment {
createComment(
input: {
html: "<p>This task is progressing well!</p>"
text: "This task is progressing well!"
category: TODO
categoryId: "clm4n8qwx000008l0g4oxdqn7"
}
) {
id
html
text
createdAt
user {
id
name
}
}
}
ឧទាហរណ៍កម្រិតខ្ពស់
បន្ថែមមតិយោបល់ជាមួយការប្រកបដោយទម្រង់ផ្ទាល់ខ្លួន, រូបភាព, និងការប្រតិបត្តិ TipTap:
mutation AddCommentAdvanced {
createComment(
input: {
html: "<p>Here's my <strong>feedback</strong> on this task:</p><ul><li>Great progress on the design</li><li>Need to review the API integration</li></ul><p>Attaching screenshot:</p><img src='data:image/png;base64,iVBOR...' />"
text: "Here's my feedback on this task: - Great progress on the design - Need to review the API integration Attaching screenshot:"
category: TODO
categoryId: "clm4n8qwx000008l0g4oxdqn7"
tiptap: true
}
) {
id
html
text
createdAt
user {
id
name
avatar
}
activity {
id
}
isRead
isSeen
}
}
ប៉ារ៉ាម៉ែត្រ Input
CreateCommentInput
ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | ត្រូវការទេ | ការពិពណ៌នា |
---|---|---|---|
html |
String! | ✅ បាទ | មាតិកា HTML នៃមតិយោបល់ (នឹងត្រូវបានសំអាតសម្រាប់សុវត្ថិភាព) |
text |
String! | ✅ បាទ | កំណែអត្ថបទធម្មតានៃមាតិកាមតិយោបល់ |
category |
CommentCategory! | ✅ បាទ | ប្រភេទនៃអង្គភាពដែលត្រូវបានមតិយោបល់ (ប្រើ TODO សម្រាប់កំណត់ត្រា) |
categoryId |
String! | ✅ បាទ | ID នៃអង្គភាព (កំណត់ត្រា) ដែលត្រូវបានមតិយោបល់ |
tiptap |
Boolean | ទេ | បើកការសំអាត និងការប្រតិបត្តិ HTML ជាក់លាក់សម្រាប់កម្មវិធី TipTap |
តម្លៃ CommentCategory
តម្លៃ | ការពិពណ៌នា |
---|---|
TODO |
មតិយោបល់លើកំណត់ត្រា/ធាតុការងារ |
DISCUSSION |
មតិយោបល់លើខ្សែការពិភាក្សា |
STATUS_UPDATE |
មតិយោបល់លើការអាប់ដេតស្ថានភាព |
វាលឆ្លើយតប
Mutation នេះត្រឡប់មកវិញជាអង្គភាព Comment ជាមួយព័ត៌មានលម្អិតទាំងមូល:
វាល | ប្រភេទ | ការពិពណ៌នា |
---|---|---|
id |
ID! | អត្តសញ្ញាណដ៏ឯកត្តជាសម្រាប់មតិយោបល់ |
uid |
String! | អត្តសញ្ញាណដ៏ឯកត្តជាជំនួស |
html |
String! | មាតិកា HTML នៃមតិយោបល់ |
text |
String! | កំណែអត្ថបទធម្មតានៃមតិយោបល់ |
category |
CommentCategory! | ប្រភេទនៃអង្គភាពដែលបានមតិយោបល់ |
createdAt |
DateTime! | ពេលដែលមតិយោបល់ត្រូវបានបង្កើត |
updatedAt |
DateTime! | ពេលដែលមតិយោបល់ត្រូវបានអាប់ដេតចុងក្រោយ |
deletedAt |
DateTime | ពេលដែលមតិយោបល់ត្រូវបានលុប (null ប្រសិនបើសកម្ម) |
deletedBy |
User | អ្នកប្រើដែលបានលុបមតិយោបល់ |
user |
User! | អ្នកប្រើដែលបានបង្កើតមតិយោបល់ |
activity |
Activity | កំណត់ត្រាសកម្មភាពដែលពាក់ព័ន្ធ |
discussion |
Discussion | ការពិភាក្សាដែលពាក់ព័ន្ធ (ប្រសិនបើប្រភេទគឺ DISCUSSION) |
statusUpdate |
StatusUpdate | ការអាប់ដេតស្ថានភាពដែលពាក់ព័ន្ធ (ប្រសិនបើប្រភេទគឺ STATUS_UPDATE) |
todo |
Todo | កំណត់ត្រាដែលពាក់ព័ន្ធ (ប្រសិនបើប្រភេទគឺ TODO) |
isRead |
Boolean | ថាតើអ្នកប្រើបច្ចុប្បន្នបានអានមតិយោបល់នេះទេ |
isSeen |
Boolean | ថាតើអ្នកប្រើបច្ចុប្បន្នបានឃើញមតិយោបល់នេះទេ |
aiSummary |
Boolean | ថាតើមតិយោបល់នេះត្រូវបានបង្កើតដោយ AI ឬអត់ |
អាជ្ញាប័ណ្ណដែលត្រូវការ
អ្នកប្រើត្រូវតែមានការចូលដំណើរការគម្រោងដែលសមស្របដើម្បីមតិយោបល់លើកំណត់ត្រា:
កម្រិតចូល | អាចបន្ថែមមតិយោបល់ |
---|---|
OWNER |
✅ បាទ |
ADMIN |
✅ បាទ |
MEMBER |
✅ បាទ |
CLIENT |
✅ បាទ |
COMMENT_ONLY |
✅ បាទ |
VIEW_ONLY |
❌ ទេ |
សំខាន់: អ្នកប្រើត្រូវតែជាសមាជិកនៃគម្រោងដែលមានកំណត់ត្រានោះ ហើយមិនត្រូវមានកម្រិតចូល VIEW_ONLY
។
ការឆ្លើយតបកំហុស
UnauthorizedError
{
"errors": [{
"message": "You don't have permission to comment on this record",
"extensions": {
"code": "FORBIDDEN"
}
}]
}
ពេលណា: អ្នកប្រើខ្វះសិទ្ធិមតិយោបល់លើកំណត់ត្រា/អង្គភាពដែលបានកំណត់។
ValidationError
{
"errors": [{
"message": "Invalid input parameters",
"extensions": {
"code": "BAD_USER_INPUT"
}
}]
}
ពេលណា: វាលដែលត្រូវការខ្វះឬមានទិន្នន័យមិនត្រឹមត្រូវ។
CommentNotFoundError
{
"errors": [{
"message": "Record not found",
"extensions": {
"code": "COMMENT_NOT_FOUND"
}
}]
}
ពេលណា: categoryId
ដែលបានកំណត់មិនត្រូវនឹងកំណត់ត្រាដែលមានស្រាប់។
UserInputError
{
"errors": [{
"message": "Content validation failed",
"extensions": {
"code": "BAD_USER_INPUT"
}
}]
}
ពេលណា: មាតិកា HTML មិនអាចសំអាតបានឬមានកូដអាក្រក់។
កំណត់ចំណាំសំខាន់
ការប្រតិបត្តិមាតិកា
- ការសំអាត HTML: មាតិកា HTML ទាំងអស់ត្រូវបានសំអាតដោយស្វ័យប្រវត្តិដើម្បីការពារការវាយប្រហារប្រព័ន្ធ XSS
- ការដកឯកសារ: រូបភាព និងឯកសារភ្ជាប់ដែលបញ្ចូលក្នុង HTML ត្រូវបានដកចេញ និងរក្សាទុកនៅក្នុង S3
- ម៉ូដ TipTap: ពេលដែល
tiptap: true
, ប្រើការសំអាតជាក់លាក់សម្រាប់មាតិកាកម្មវិធី TipTap - @Mentions: ការបញ្ជាក់អ្នកប្រើនៅក្នុងមតិយោបល់ត្រូវបានដំណើរការដោយស្វ័យប្រវត្តិ និងបង្កើតការជូនដំណឹង
ការពិចារណាអំពីសមត្ថភាព
- មតិយោបល់ត្រូវបានបញ្ជីសម្រាប់ការស្វែងរកដោយស្វ័យប្រវត្តិ
- ឯកសាររូបភាពធំត្រូវបានដំណើរការដោយអាស៊ីន
- មតិយោបល់មួយៗបង្កើតកំណត់ត្រាសកម្មភាពសម្រាប់ខ្សត់ពេលវេលាគម្រោង
ផលប៉ះពាល់
ការបន្ថែមមតិយោបល់ធ្វើឱ្យមានដំណើរការជាច្រើនដែលធ្វើដោយស្វ័យប្រវត្តិ:
- ការបង្កើតសកម្មភាព: បង្កើតកំណត់ត្រាសកម្មភាពដែលអាចមើលឃើញនៅក្នុងខ្សត់ពេលវេលាគម្រោង
- ការបញ្ជីស្វែងរក: មាតិកាមតិយោបល់ត្រូវបានបន្ថែមទៅកាន់បញ្ជីស្វែងរកគម្រោង
- ការជូនដំណឹង: ផ្ញើអ៊ីមែល, push, និងការជូនដំណឹងក្នុងកម្មវិធីទៅអ្នកប្រើដែលពាក់ព័ន្ធ
- ការអាប់ដេតពេលវេលាពិត: បោះពុម្ពមតិយោបល់ទៅ GraphQL subscriptions សម្រាប់ការអាប់ដេតផ្ទាល់
- Webhooks: បង្កើត webhook ខាងក្រៅប្រសិនបើបានកំណត់សម្រាប់គម្រោង
- ការប្រតិបត្តិ @Mention: ដំណើរការបញ្ជាក់អ្នកប្រើ និងផ្ញើការជូនដំណឹងដែលមានគោលដៅ
- ការប្រតិបត្តិឯកសារ: ដកចេញ និងដំណើរការរូបភាព ឬឯកសារដែលបញ្ចូលពីមាតិកា HTML
សុវត្ថិភាពមាតិកា
- HTML ទាំងអស់ត្រូវបានសំអាតដោយប្រើបណ្ណាល័យស្តង់ដារប្រព័ន្ធឧស្សាហកម្ម
- ការបញ្ចូលឯកសារត្រូវបានផ្ទៀងផ្ទាត់សម្រាប់ប្រភេទ និងទំហំ
- មាតិកាអាក្រក់ត្រូវបានដកចេញដោយស្វ័យប្រវត្តិ
- មាតិកាដែលបង្កើតដោយអ្នកប្រើត្រូវបានបំភ្លឺយ៉ាងត្រឹមត្រូវនៅក្នុងគ្រប់បរិបទ
លក្ខណៈពិសេសនៃការបញ្ចូល
- Feed សកម្មភាព: មតិយោបល់បង្ហាញនៅក្នុងខ្សត់ពេលវេលាសកម្មភាពគម្រោង
- ការស្វែងរក: មាតិកាមតិយោបល់អាចស្វែងរកបាននៅក្នុងគម្រោង
- ការជូនដំណឹង: ការកំណត់ការជូនដំណឹងដែលអាចកំណត់សម្រាប់ប្រភេទមតិយោបល់ផ្សេងៗ
- ពេលវេលាពិត: មតិយោបល់បង្ហាញភ្លាមៗសម្រាប់អ្នកប្រើផ្សេងទៀតដែលមើលកំណត់ត្រាដដែល
- ការគាំទ្រទូរស័ព្ទចល័ត: មតិយោបល់គាំទ្រយ៉ាងពេញលេញនៅក្នុងកម្មវិធីទូរស័ព្ទចល័ត
ចំណុចចាប់ផ្តើមដែលពាក់ព័ន្ធ
- បញ្ជីមតិយោបល់: ស្វែងរកមតិយោបល់ដើម្បីទាញយកមតិយោបល់ដែលមានស្រាប់លើកំណត់ត្រា
- អាប់ដេតមតិយោបល់: កែប្រែមាតិកាមតិយោបល់ដែលមានស្រាប់
- លុបមតិយោបល់: លុបមតិយោបល់ដោយមានសិទ្ធិអនុញ្ញាត
- បញ្ជីកំណត់ត្រា: ស្វែងរកការងារដើម្បីស្វែងរកកំណត់ត្រាដែលអាចធ្វើមតិយោបល់បាន