VauPrime/Screen Documentation/Organization Profile

Organization Profile

Functional specification for the Organization Profile screen: behaviors, validation rules, permissions, platform differences, and service calls.

StatusStableVersionv1.0PlatformsAndroid | Windows/DesktopAudienceFrontend | Backend | QA | Support
Source
Sidebar/Organization/Organization Profile
Last updated
2026-02-23
Primary goals
  • - View
  • - Edit
  • - Upload image
  • - Manage folders
Critical rules
  • - Plan gating
  • - Quota check
  • - Read-only fields

Overview

Scope

This spec covers UI behavior + validation + service integration. It does not define database schema or storage bucket policies.

This document describes the Organization Profile screen behavior, supported edits, profile image update flow, folder management, and associated service calls.

The screen is multi-platform (Android + Desktop/Windows) with shared logic and responsive layout differences.

What this screen is for

View organization profile details.

Edit allowed organization fields with explicit edit/save/cancel flow.

Update organization profile image with quota checks + upload states.

Manage document folders (create/open/refresh + stats).

Entry points & required inputs

Requires a valid organizationId to fetch and update profile + folders.

Requires authenticated user session for any update or upload operation.

Required

  • - organizationId
  • - authenticated user/session

Optional fallback

  • - existing widget company data (used only if fetch fails)

Tabs

Profile tab

  • - Shows organization image + name + info fields
  • - Supports edit/save/cancel

Folders tab

  • - Folder list/grid
  • - Folder statistics
  • - Create folder (plan-gated)

Profile tab behavior

Header shows organization image, image edit trigger, and organization name.

Main info section has Edit -> Save/Cancel actions.

Default state is read-only; Edit enables only supported fields.

Fields shown by default

  • Name
  • Print Name
  • Address
  • City
  • State
  • Country
  • Pincode
  • Phone
  • Email
  • Industry
  • Website
  • PAN
  • GSTIN
  • Currency
  • Financial Year

Edit mode rules

Implementation note

Treat read-only fields as display-only even in edit mode to avoid accidental partial updates.

Edit loads current values into controllers.

Save runs update flow; on success, exits edit mode and refreshes displayed values.

Cancel exits edit mode without persisting changes.

Editable fields

  • - Name
  • - Print Name
  • - Address
  • - City
  • - Pincode
  • - Phone
  • - Website
  • - PAN
  • - GSTIN

Read-only in edit mode

  • - State
  • - Country
  • - Email
  • - Industry
  • - Currency
  • - Financial Year

Profile image update flow

User selects an image -> previews in editor -> confirms save -> upload begins with loading state.

Preconditions are validated before upload starts (orgId, auth, quota).

Image URL handling supports AWS object URLs and legacy Supabase signed URLs.

Common error cases

  • Organization ID missing
  • User not authenticated
  • Storage quota exceeded
  • Upload failure
  • Permission / RLS errors

Accepted formats

  • - jpg
  • - jpeg
  • - png
  • - gif
  • - bmp
  • - webp

Preconditions

  • - Valid organizationId
  • - Authenticated user
  • - Upload quota check passes

Folders tab behavior

Document Management section includes Refresh + Add Folder actions.

Statistics are derived from the loaded folder list.

Open folder navigates to folder detail with selected folder + organizationId.

Folder statistics shown

  • Total Folders
  • Encrypted Folders
  • Total Files
  • Storage Used (currently N/A)
  • Last Updated (current date)
  • Security Level (High if encrypted folders exist, otherwise Standard)

Add folder flow

Security

If encryption is enabled, never store plain password. Store only hashed/derived form (as per OrganizationService.hashPassword).

Folder creation is plan-gated (Prime, Premium, Elite).

If plan is not eligible, upgrade bottom sheet is shown.

Create generates folderId, builds payload, saves folder, reloads list, and shows success feedback.

Bottom sheet inputs

  • - Folder Name (required)
  • - Description (optional)
  • - Encrypt Folder toggle
  • - Folder Password (required if encryption enabled)

Validation rules

  • - Folder Name cannot be empty
  • - If encryption is ON, password is required
  • - Password must be at least 6 characters

Data load & refresh logic

On init: tab controller starts -> organization loads first -> folder list loads after organization is available.

If organization fetch fails, fallback data can come from existing widget company data.

Manual refresh reloads folder list.

Platform behavior

Android

  • - Uses GlobalHeader
  • - Compact paddings and denser field layout
  • - Folder management emphasizes list-first rendering

Desktop / Windows

  • - Uses WindowGlobalSidebar + GlobalHeader
  • - Wider spacing with multi-column layout
  • - Folder grid supports 3/4 columns based on width

Permissions & constraints

RLS reminder

If using Supabase/Postgres RLS, confirm that read/write policies exist for organization rows + folder rows scoped to the current user/role.

User must be authorized for the organization to view profile and folders.

Updates must be blocked if session is missing or organizationId is invalid.

Folder creation is subscription-plan gated.

Known notes / current limitations

  • Email is visible but not editable from this screen.
  • State, Country, Currency, Financial Year, and Industry are read-only here.
  • Financial Year in edit block currently shows static 'Not set'.

Changelog

2026-02-23 - Initial documentation page created for Organization Profile screen.