إدارة الموارد (Resources) في كوكب Kawkab
الموارد (Resources) هي طبقة إضافية في إطار العمل كوكب Kawkab تُستخدم لتنسيق البيانات المرسلة إلى العميل. تساعد الموارد في توحيد تنسيق الاستجابات وجعل الكود أكثر تنظيماً وقابلية للصيانة.
أمر إنشاء مورد
لإنشاء مورد جديد، استخدم الأمر التالي:
npm run kawkab resource:make <name> [module]
المعلمات:
<name>
: اسم المورد المراد إنشاؤه (مثل:user
).[module]
(اختياري): اسم الوحدة التي ينتمي إليها المورد. إذا لم يتم تحديد وحدة، سيتم وضعه في الوحدة الافتراضيةmain
.
مثال:
npm run kawkab resource:make user
الإخراج:
🆗 Resource user created successfully in module main.
1️⃣ Your resource is ready! You can now import it like this:
👉 import { UserResource } from '../resources/user'
2️⃣ Use the resource like so:
👉 const users = await Users.query().get();
👉 return { status: true, users: UserResource.collect(users) };
الهيكل الأساسي لملف المورد
عند إنشاء مورد جديد، سيتم إنشاء ملف يحتوي على الهيكل التالي:
import { BaseResource } from "kawkab";
export class UserResource extends BaseResource {
public resource() {
return {
id: this.data.id,
name: this.data.name
};
}
}
شرح الكود:
- BaseResource: الفئة الأساسية التي تُستخدم لتنسيق البيانات.
resource
: دالة تُستخدم لتحديد تنسيق البيانات المرسلة إلى العميل.this.data
: تمثل البيانات المُمررة إلى المورد.
استخدام المورد
يمكن استخدام الموارد لتنسيق البيانات قبل إعادتها إلى العميل. إليك مثالًا:
import { BaseController, inherit } from "kawkab";
import { UserResource } from "../resources/user";
export default class extends inherit(BaseController) {
async get() {
const users = await Users.query().get();
return {
status: true,
users: UserResource.collect(users)
};
}
}
شرح الكود:
UserResource.collect(users)
: تقوم بتنسيق مجموعة من العناصر باستخدام المورد.users
: تمثل البيانات المستردة من قاعدة البيانات.return
: تُعيد الاستجابة بتنسيق مُنسق باستخدام المورد.
فوائد استخدام الموارد
- تنسيق البيانات: تجعل الاستجابات موحدة وسهلة الفهم.
- إعادة استخدام الكود: يمكن استخدام الموارد لتنسيق البيانات عبر وحدات متعددة.
- تحسين الأمان: تتيح لك التحكم في البيانات التي يتم إرسالها إلى العميل.
- تنظيم الكود: تفصل بين منطق معالجة البيانات ومنطق عرضها.
النتيجة
الموارد (Resources) في كوكب Kawkab تساعدك في تحسين تجربة تطوير واجهات برمجية منظمة وقابلة للصيانة.
🎉 ابدأ الآن بتنظيم استجاباتك مع الموارد في إطار عمل كوكب Kawkab!