> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# User Schema

> הרחב את entity המשתמש המובנה עם שדות נוספים עבור האפליקציה שלך.

<div className="dev-docs-banner">
  <div className="dev-docs-banner-content">
    <div className="dev-docs-banner-title">
      אתה צופה בתיעוד למפתחים
    </div>

    <div className="dev-docs-banner-text">
      תיעוד זה מיועד למפתחים העובדים עם פלטפורמת המפתחים של Base44. למידע על ניהול נתוני האפליקציה באמצעות עורך האפליקציות, ראה <a href="/Building-your-app/Managing-your-app-data">ניהול נתוני אפליקציה</a>.
    </div>
  </div>
</div>

ה-entity של User קיים בכל פרויקט Base44 כברירת מחדל ושומר מידע על משתמשי האפליקציה שלך. תוכל להוסיף שדות כדי לאחסן נתוני משתמש נוספים, ואז להשתמש בשדות אלה ב[security rules](/developers/backend/resources/entities/security) כדי לשלוט בגישת נתונים או באפליקציה שלך כדי להתאים אישית את החוויה.

## שדות מובנים

כל User entity כולל סט של שדות מובנים כברירת מחדל.

| Field       | Type   | תיאור                  |
| ----------- | ------ | ---------------------- |
| `full_name` | string | שם תצוגה של המשתמש     |
| `email`     | string | כתובת אימייל של המשתמש |
| `role`      | string | או `admin` או `user`   |

ל-User entity יש גם את [השדות המובנים הכלליים](/developers/backend/resources/entities/entity-schemas#built-in-fields) הקיימים בכל ה-entities, כגון `id`, ו-`created_date`.

שדות אלה מנוהלים על ידי המערכת ולא ניתן להגדירם מחדש ב-schema שלך.

## שדות מותאמים

כדי להוסיף שדות מותאמים, הגדר User schema המכיל רק את השדות הנוספים שלך. ניסיון להגדיר מחדש שדות מובנים יגרום לשגיאת validation.

צור קובץ `User.json` או `User.jsonc` בתיקיית ה-entities של הפרויקט שלך. כברירת מחדל זה `base44/entities/`, אבל אתה יכול להתאים את הנתיב ב[תצורת הפרויקט שלך](/developers/backend/overview/project-structure#configjsonc).

```json entities/User.json theme={null}
{
  "type": "object",
  "properties": {
    "company": { "type": "string" },
    "phone": { "type": "string" },
    "job_title": { "type": "string" },
    "bio": { 
      "type": "string",
      "maxLength": 500
    }
  },
  "required": ["company"]
}
```

ואז דחוף את ה-entities שלך ל-Base44 באמצעות [`entities push`](/developers/references/cli/commands/entities-push) או [`deploy`](/developers/references/cli/commands/deploy).

## דוגמה מלאה

הנה User schema שלם עם סוגי שדה שונים:

```json theme={null}
{
  "type": "object",
  "properties": {
    "company": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "job_title": {
      "type": "string",
      "maxLength": 100
    },
    "bio": {
      "type": "string",
      "maxLength": 500
    },
    "website": {
      "type": "string",
      "format": "uri"
    },
    "preferences": {
      "type": "object",
      "properties": {
        "theme": {
          "type": "string",
          "enum": ["light", "dark"],
          "default": "light"
        },
        "notifications": {
          "type": "boolean",
          "default": true
        }
      }
    }
  },
  "required": ["company"]
}
```

## השתמש בשדות שלך

לאחר שהגדרת ודחפת את ה-User schema שלך, אתה יכול להפנות לשדות שלך ב-security rules ולגשת אליהם בקוד האפליקציה שלך.

### ב-security rules

אתה יכול להשתמש בשדות משתמש כדי לשלוט בגישה ל-entities אחרים. לדוגמה, אתה עשוי להגביל משתמשים לראות רק רשומות השייכות לחברה שלהם.

כדי להפנות לשדות משתמש ב-[security rules](/developers/backend/resources/entities/security), השתמש בתחביר התבנית `{{user.data.*}}`:

```json theme={null}
{
  "rls": {
    "read": {"data.company": "{{user.data.company}}"},
    "update": {"data.company": "{{user.data.company}}"}
  }
}
```

כלל זה מבטיח שמשתמשים יכולים לקרוא ולעדכן רק רשומות שבהן שדה ה-`company` של הרשומה מתאים לשלהם.

### בקוד

גש לשדות משתמש דרך ה-[SDK](/developers/references/sdk/getting-started/overview):

```typescript theme={null}
// Get current user's fields
const currentUser = await base44.auth.me();
console.log(currentUser.company); // "Acme Inc"

// Update current user's fields
await base44.auth.updateMe({
  phone: "+1-555-0123",
  job_title: "Senior Developer"
});

// List all users with service role (backend functions only)
const allUsers = await base44.asServiceRole.entities.User.list();
```

<Info>
  דוגמה זו משתמשת בלקוח `base44`. ראה [Setting up the client](/developers/references/sdk/getting-started/client) להוראות הגדרה.
</Info>

## ראה גם

* [Entities Overview](/developers/backend/resources/entities/overview): למד על תצורת schema של מסד הנתונים
* [Entity Schemas](/developers/backend/resources/entities/entity-schemas): הגדר את מבנה ה-entity שלך
* [Security](/developers/backend/resources/entities/security): הגדר כללי row-level security
* [Project Structure](/developers/backend/overview/project-structure): כיצד entity schemas משתלבים בפרויקט שלך

<Note>דף זה תורגם באמצעות בינה מלאכותית. למידע המדויק והעדכני ביותר, עיין ב[גרסה האנגלית](/). </Note>
