Skip to content

Added Follow on StackShare badge - #2

Merged
eldadfux merged 1 commit into
appwrite:masterfrom
jdorfman:patch-1
Aug 30, 2019
Merged

eldadfux merged 1 commit into
appwrite:masterfrom
jdorfman:patch-1

Conversation

@jdorfman

Copy link
Copy Markdown
Contributor

No description provided.

@eldadfux
eldadfux merged commit 3ffe9f8 into appwrite:master Aug 30, 2019
eldadfux pushed a commit that referenced this pull request Oct 15, 2019
eldadfux pushed a commit that referenced this pull request Oct 23, 2019
eldadfux pushed a commit that referenced this pull request Oct 1, 2020
…-php/domains-1.1.0

Bump utopia-php/domains from 0.2.1 to 1.1.0
eldadfux added a commit that referenced this pull request Jan 18, 2021
TorstenDittmann added a commit that referenced this pull request Sep 15, 2021
TorstenDittmann added a commit that referenced this pull request Sep 15, 2021
@reyesmfabian reyesmfabian mentioned this pull request Jan 22, 2022
2 tasks
TorstenDittmann added a commit that referenced this pull request Feb 28, 2022
@mbazs mbazs mentioned this pull request Aug 2, 2022
2 tasks
@mzungudev mzungudev mentioned this pull request Sep 24, 2022
2 tasks
christyjacob4 pushed a commit that referenced this pull request Jan 27, 2023
JadeCong pushed a commit to CloudEngineHub/appwrite that referenced this pull request Sep 16, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 21, 2026
loks0n added a commit that referenced this pull request Sep 23, 2026
* docs: add OpenAPI library plan

* feat: implement OpenAPI parser

* docs: add domain language context

* build: add Rector and require PHP 8.5

* ci: add test and code quality workflows

* fix: preserve omitted additional properties (#1)

* fix: capture extensions on the discriminator (#2)

CONTEXT.md states that an extension is "captured on every model that can
carry one". Discriminator was the exception: the reader built it from
propertyName and mapping and dropped every x- key alongside them, so an
extension nested inside a discriminator was unreachable from the parsed
Specification.

This matters because the standard mapping is single-valued — it maps one
property value to one schema. A union whose members are told apart by a
combination of properties cannot be expressed with it. Appwrite's spec
carries the full rule set in `x-mapping`:

    "discriminator": {
      "propertyName": "type",
      "mapping":   { "string": ".../attributeString" },
      "x-mapping": {
        ".../attributeEmail":  { "type": "string", "format": "email" },
        ".../attributeString": { "type": "string" }
      }
    }

Five of its attribute models share `type: "string"` and differ only by
`format`, so `mapping` can name just one of them and consumers reading
only `mapping` silently collapse the other four into it.

The reader already has Value::extensions(); this passes its result to the
constructor. Nothing here interprets the extension — it is captured and
handed to the consumer, which is the contract every other model follows.

* refactor: flatten the schema namespace

Every schema class sat under Model\Schema, which stuttered on the base
class and repeated itself on the kinds:

    Utopia\OpenAPI\Model\Schema\Schema
    Utopia\OpenAPI\Model\Schema\ArraySchema
    Utopia\OpenAPI\Model\Schema\ObjectSchema

The segment carried no information the class names did not already
carry, and a consumer importing a base type and two kinds read Schema
three times per line. The classes move up beside the models they are
part of, so the base is Model\Schema and a kind is Model\ArraySchema.

Dropping the suffix instead is not possible. Array, Object, String and
Never are reserved and cannot name a class in PHP, so Model\Schema\Array
and its neighbours cannot exist, and dropping the suffix only where the
language allows would leave Schema\Integer beside Schema\ArraySchema.
Removing the namespace segment keeps every kind named consistently while
taking the redundancy out of the path.

Model is a flat namespace of value objects, so schemas sit naturally
next to Parameter, Response and MediaType rather than one level below
them. No behaviour changes: the classes, their properties and their
relationships are untouched.

* fix: stop interpreting x-nullable

* feat: expose open string enum branches

An anyOf can combine a string enum with an enum-free string branch to document common values without closing the accepted set. Consumers currently have to repeat that structural interpretation themselves.\n\nExpose the enum-bearing branch from CompositeSchema when the union has exactly that shape. Keep oneOf, mixed-type unions, and unions with multiple enums unchanged.

* feat: expose string enum metadata

* fix: validate enum key values

* fix: validate open enum metadata

* fix: allow derived enum keys

* (feat): map OAS 3.1 annotated enumerations onto StringSchema

* (docs): describe enum names using schema titles only

* feat: resolve local schema references

* refactor schema reference resolution

* address greptile review feedback (greploop iteration 1)

* address greptile review feedback (greploop iteration 2)

* feat: expose accepted and required security scheme names

* fix: normalize security scheme names and consolidate tests

* Merge pull request #234 from utopia-php/absorb/openapi

chore(openapi): absorb library into monorepo

* Merge pull request #237 from utopia-php/clo-4377-compound-schemas

feat(openapi): expose conditional model references

* chore(openapi): mirror plumbing

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* refactor: load openapi from packages/

Co-Authored-By: Claude Opus 5.5 <[email protected]>

---------

Co-authored-by: Chirag Aggarwal <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 23, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 23, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 23, 2026
feat: auto-set level attribute on spans
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 23, 2026
Add end-to-end response streaming via streamRequest()
JadeCong pushed a commit to CloudEngineHub/appwrite that referenced this pull request Sep 24, 2026
JadeCong pushed a commit to CloudEngineHub/appwrite that referenced this pull request Sep 24, 2026
feat: add trip() to force breaker into open state
jaysomani pushed a commit to jaysomani/appwrite that referenced this pull request Sep 24, 2026
JadeCong pushed a commit to CloudEngineHub/appwrite that referenced this pull request Sep 25, 2026
breken-ai pushed a commit to breken-ai/appwrite that referenced this pull request Sep 25, 2026
…dapters

Feat: In-memory and dummy adapters
ishanbundela10 pushed a commit to ishanbundela10/appwrite that referenced this pull request Sep 25, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 25, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 25, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 26, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 26, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 26, 2026
Three issues flagged by Greptile on PR appwrite#2:

1. P1: FETCH NEXT and singular ROW not handled (Parser.php)
   SQL standard (and PostgreSQL/DB2) allow FETCH FIRST|NEXT n ROW|ROWS
   ONLY. Parser only accepted FIRST + plural ROWS. Now matches both
   FIRST and NEXT, and both ROW and ROWS. Added 3 regression tests
   covering the new variants.

2. P2: Dead condition in CTE column list guard (Parser.php)
   `!$this->matchKeyword('AS')` is unconditionally true when the
   current token is a LeftParen (a LeftParen isn't a Keyword token).
   Removed the dead conjunction; peekIsColumnList() already
   disambiguates.

3. P2/security: Star expressions bypass column allowlist
   (ColumnValidator.php)
   visitExpression only inspected Column nodes; `SELECT *` or
   `SELECT t.*` silently passed through, bypassing the whitelist when
   ColumnValidator is used as a security gate. Now rejects Star by
   default; callers that want wildcards opt in via
   `new ColumnValidator($cols, allowStar: true)`. Added 2 tests.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants