Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Fabric Projetos de Aplicativos usam um layout de pasta consistente para que você possa encontrar rapidamente modelos de dados, configuração de back-end e código de front-end. Este artigo explica os arquivos e pastas com os quais você provavelmente trabalhará depois de criar um projeto.
Layout da pasta
Quando você cria um novo projeto Fabric Apps, o modelo gera a seguinte estrutura:
your-project/
├── rayfin/
│ ├── data/
│ │ ├── schema.ts
│ │ └── *.ts
│ ├── .env
│ ├── rayfin.yml
│ └── tsconfig.json
├── src/
├── package.json
├── tsconfig.json
└── README.md
Arquivos de configuração de chave
rayfin/rayfin.yml
O arquivo rayfin/rayfin.yml é o principal arquivo de configuração do back-end do Fabric Apps. Ele controla quais serviços são executados durante o desenvolvimento local e dá suporte à interpolação de variável de ambiente para valores de configuração dinâmica.
Exemplo completo:
id: my-app
name: my-app
version: 1.0.0
services:
auth:
enabled: true
expiryInMinutes: 60
refreshToken:
lifetimeInDays: 30
customClaims:
tenant: "default"
scopes:
- read:data
- write:data
allowedRedirectUris:
- http://localhost:5173
- http://localhost:5173/auth/callback
password:
enabled: true
fabric:
enabled: false
passwordless:
magicLink:
enabled: false
expiryMinutes: 15
smsOtp:
enabled: false
email:
enabled: false
provider: smtp
senderName: Rayfin Platform
verificationTokenExpirationHours: 24
passwordResetTokenExpirationMinutes: 30
smtp:
host: maildev
port: 1025
senderEmail: noreply@rayfin.local
username: ""
password: ""
useSsl: false
useStartTls: false
webPort: 1080
data:
enabled: true
dialect: mssql
storage:
enabled: false
staticHosting:
enabled: true
root: .
folder: dist
buildCommand: npm run build
indexDocument: index.html
A configuração inclui estes campos de chave:
Campos de nível superior
| Campo | Tipo | Obrigatório | Description |
|---|---|---|---|
id |
string |
Sim | Slug do projeto usado como nome do projeto do Docker Compose e identificador do item do Fabric. |
name |
string |
Sim | Nome de exibição do projeto legível por humanos. |
version |
string |
Sim | Versão do projeto (semver). |
services |
object |
Sim | Bloco de configuração de serviço. |
services.data
| Campo | Tipo | Default | Description |
|---|---|---|---|
enabled |
boolean |
false |
Habilite o serviço de dados. |
services.auth
| Campo | Tipo | Default | Description |
|---|---|---|---|
enabled |
boolean |
false |
Habilite o serviço de autenticação. |
expiryInMinutes |
number |
— | Expiração do token JWT em minutos. |
customClaims |
Record<string, string> |
— | Declarações personalizadas adicionadas aos JWTs emitidos. |
scopes |
string[] |
— | Escopos OAuth (por exemplo, ["read:data", "write:data"]). |
refreshToken.lifetimeInDays |
number |
— | Atualizar o tempo de vida do token em dias. |
allowedRedirectUris |
string[] |
["http://localhost:5173"] |
URIs de redirecionamento permitidos para callbacks de autenticação. |
services.auth.password
| Campo | Tipo | Default | Description |
|---|---|---|---|
enabled |
boolean |
true |
Habilitar a autenticação de email e senha para desenvolvimento local |
services.auth.fabric
| Campo | Tipo | Default | Description |
|---|---|---|---|
enabled |
boolean |
false |
Habilitar a autenticação intermediada do Fabric (Microsoft Entra ID SSO). |
services.staticHosting
| Campo | Tipo | Default | Description |
|---|---|---|---|
enabled |
boolean |
false |
Habilite a hospedagem de conteúdo estático. |
root |
string |
— | Diretório raiz do projeto de front-end (em relação à raiz do projeto). |
folder |
string |
"dist" |
Diretório que contém ativos estáticos criados (relativos a root). |
buildCommand |
string |
— | Comando shell a ser executado antes do empacotamento (por exemplo, npm run build). |
indexDocument |
string |
— | Documento padrão servido para o caminho raiz (por exemplo, index.html). |
Dica
Todos os valores de string dão suporte à interpolação de variáveis de ambiente com a sintaxe ${VAR} e ${VAR:-default}. As variáveis são resolvidas a partir de rayfin/.env e do ambiente do shell.
rayfin/.env
O arquivo rayfin/.env é um arquivo de ambiente opcional usado para fornecer valores ao rayfin.yml por meio de interpolação. Não envie segredos para o seu repositório. Em vez disso, crie um rayfin/.env.example arquivo para fins de documentação e adicione .env ao arquivo .gitignore .
rayfin/tsconfig.json
O arquivo rayfin/tsconfig.json é uma configuração typeScript de referência de projeto usada pela CLI Fabric Apps para compilar suas definições de entidade. Ele estende o tsconfig.json raiz e substitui as configurações que Fabric apps precisam, como composite: true e resolução de módulo Node.js. Você não deve precisar editar esse arquivo diretamente.
Arquivos de modelo de dados
rayfin/data/*.ts
Os arquivos na rayfin/data/ pasta definem suas entidades. Entidades são classes TypeScript decoradas com @entity(), além de decoradores de campo como @uuid() e @text(). Cada arquivo de entidade exporta uma classe que representa um modelo de dados em seu aplicativo.
rayfin/data/schema.ts
O arquivo rayfin/data/schema.ts associa nomes de entidades às suas classes. O cliente SDK da Rayfin usa este mapa para fornecer acesso com segurança de tipos a entidades por meio de client.data.<Entity>. Ao adicionar uma nova entidade, você deve registrá-la neste arquivo de esquema.
Artefatos gerados
rayfin/.temp/
A rayfin/.temp/ pasta contém artefatos de back-end gerados que são criados quando você executa o servidor de desenvolvimento. Se o backend parecer estar usando um esquema ou uma configuração desatualizados, pare e reinicie a stack de desenvolvimento para regenerar esses arquivos.
Importante
Não faça commit da pasta .temp/ no seu repositório. Adicione-o ao arquivo .gitignore .
Estrutura de front-end
A src/ pasta contém o código do aplicativo de front-end. A estrutura exata depende de qual modelo você escolheu ao criar seu projeto, como React ou Vue.
os modelos de aplicativos Fabric usam as seguintes variáveis de ambiente do Vite para a configuração de front-end:
-
VITE_RAYFIN_API_URL– URL base apontando o front-end para o back-end do Fabric Apps. Defina essa variável de ambiente antes de executarnpm run devpara substituir o padrão. -
VITE_RAYFIN_PUBLISHABLE_KEY– Chave publicável usada para autenticação do cliente. -
VITE_FABRIC_ITEM_ID– ID do item Fabric definida porrayfin up. Gravado em.env.fabric-<workspacename>(e.env.fabric) durante a implantação. Usado para autenticação intermediada do Fabric. -
VITE_FABRIC_WORKSPACE_ID– ID do workspace do Fabric configurada porrayfin up. Escrito junto comVITE_FABRIC_ITEM_IDdurante a implantação.