Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dsl rework #356

Open
wants to merge 150 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
a6413a3
thrown bad method calls for unsupported queueable items
transistive Nov 24, 2021
edcdf32
added missing migration methods
transistive Nov 29, 2021
ba92882
cleaned up manager
transistive Nov 29, 2021
665a913
removed ha connection and cleaned connectors
transistive Nov 29, 2021
33b67ac
fixed cleanup commands
transistive Nov 30, 2021
1e62414
added some more typings
transistive Jan 26, 2022
b66dbca
temp
transistive Jan 27, 2022
ba0fca6
temp commit
transistive Mar 2, 2022
929c569
correctly registered connections on model
transistive Mar 6, 2022
9438470
integrated connections into existing connection resolver
transistive Mar 6, 2022
341e860
fixed connections and tests
transistive Mar 6, 2022
2fcd978
basic scaffolding grammar
transistive Mar 6, 2022
c9db9fc
simple grammar tests
transistive Mar 6, 2022
af3a93e
first successful builder insert and get
transistive Mar 6, 2022
edab877
fixed builder test
transistive Mar 7, 2022
df10a29
incorporated labels into grammar
transistive Mar 7, 2022
008722f
created batch inserts
transistive Mar 7, 2022
961dfb7
added batch insert test
transistive Mar 7, 2022
30642ae
implemented and tested upsert
transistive Mar 7, 2022
04d064c
finished scaffolding of all where expressions
transistive Mar 8, 2022
af5496f
extracted DSL grammar from Cypher Grammar
transistive Mar 8, 2022
ef40b4f
temp
transistive Apr 20, 2022
f2ac61d
added aggregate support
transistive Apr 21, 2022
8ad0670
made aggregate support more flexible
transistive Apr 21, 2022
9f52ceb
added aggregation for multiple columns
transistive Apr 21, 2022
d5c5594
completed RETURN, SKIP, LIMIT & ORDER BY
transistive Apr 21, 2022
661ab64
fixed where dates
transistive Apr 24, 2022
cc7d49c
added nested wheres
transistive Apr 24, 2022
8b0f69a
reworked to work with where sub
transistive Apr 24, 2022
fbe08c1
added test for parametrize
transistive Apr 30, 2022
66c7d3c
fixed complext sub queries
transistive Apr 30, 2022
ac7cd1e
added basic unions
transistive May 1, 2022
56f8ce4
added complex unions
transistive May 1, 2022
9356096
reworked insert to be more flexible
transistive May 1, 2022
550fd93
reworked upserts to be more flexible
transistive May 1, 2022
3bd4406
fixed query tests
transistive May 1, 2022
520d749
fixed where exists
transistive May 3, 2022
2623392
fixed where row values
transistive May 3, 2022
d412559
fixed where exists
transistive May 7, 2022
9867a74
added join support
transistive May 7, 2022
7818b82
added having clause
transistive May 14, 2022
58bf1ba
removed add and remove labels
transistive May 14, 2022
23d55cc
added a lot more relationship test
transistive May 14, 2022
4b16d2c
added where relationship
transistive May 14, 2022
b6fd344
intial version of basic model relationships
transistive May 17, 2022
e30f490
fixed connection test
transistive May 17, 2022
21622f5
fixed truncate
transistive May 17, 2022
2f13e59
fixed most important aggregate test
transistive May 17, 2022
c56537d
relation creation attempt
transistive May 17, 2022
7dd6627
added relation first working relation creation
transistive May 18, 2022
5312e13
first successful relation loading
transistive May 18, 2022
424ea0a
prepare bindings correctly when eager loading
transistive May 18, 2022
f7c1282
added string to int conversion for ports
transistive May 18, 2022
3003dd5
more flexible login config
transistive May 18, 2022
43450da
working version of has many and has one
transistive May 18, 2022
626207a
First rework readme
transistive Jun 15, 2022
c456ad1
added Architecture section to README
transistive Jun 15, 2022
2d9aa30
fixed broken link
transistive Jun 15, 2022
b943e49
added more features to the roadmap
transistive Jun 15, 2022
8030a39
added another advantage
transistive Jun 15, 2022
bdfc66d
fixed typo in HEREDOC
transistive Jun 15, 2022
793c838
added preloading to the roadmap
transistive Jun 15, 2022
98aad73
updated configuration setup
transistive Nov 21, 2022
4522b4c
fixed bug with wrong database selection during read connection
transistive Nov 21, 2022
22adc20
fixed batch of aggregate tests
transistive Nov 21, 2022
95fcc34
registered percentileDisc as macro in builder
transistive Nov 21, 2022
afde003
fixed all aggregate tests
transistive Nov 22, 2022
655bc5b
added illegal relationship definition exception
transistive Nov 22, 2022
45febc2
allowed small hack to ignore increments at the grammar and processor …
transistive Nov 22, 2022
00dde0f
reworked insert get id so it works
transistive Nov 24, 2022
660e0c0
fixed bug in paramater ordering when updating
transistive Nov 24, 2022
88345c7
fixed belongsto relationship
transistive Nov 24, 2022
f6b6afe
fixed eager loading test
transistive Nov 24, 2022
9f4c81d
fixed hasMany relation test
transistive Nov 24, 2022
de5cd03
fixed has one relation test
transistive Nov 24, 2022
6286bd0
removed unnecessary model events test
transistive Nov 24, 2022
ae24383
fixed bug in select processor when fetching properties
transistive Nov 25, 2022
68fb180
fixed bug in where in
transistive Nov 25, 2022
58bdce3
fixed where between
transistive Nov 25, 2022
468930b
fixed where tests
transistive Nov 25, 2022
c9811f8
fixed bug in delete query with missing parameter
transistive Nov 25, 2022
99eb879
fixed bug in wrong return type during insertion
transistive Nov 25, 2022
051847c
fixed insertGetId on model and eloquent builder methods
transistive Nov 25, 2022
c54fe93
fixed wrong boolean test
transistive Nov 25, 2022
c98e6b1
fixed numeric value key type test
transistive Nov 25, 2022
ab7a8f7
fixed soft delete tests
transistive Nov 25, 2022
7acde4c
fixed date time processing
transistive Nov 25, 2022
02a1f2b
fixed all crud tests
transistive Nov 25, 2022
3fef0ac
fixed query scopes test
transistive Nov 25, 2022
3088fd4
fixed bug when wrapping aliased values
transistive Nov 25, 2022
eac84f7
correctly passed return parameters to processor when working with piv…
transistive Nov 25, 2022
b725d71
added parameter to where column as the builder also creates a binding
transistive Nov 27, 2022
201f1b8
stabilised wheres test
transistive Nov 27, 2022
e67fd8f
fixed update bindings
transistive Nov 27, 2022
501f377
fixed all belongs to many relation tests
transistive Nov 27, 2022
77b353e
fixed has one test
transistive Nov 27, 2022
3ea6dd4
fixed orders and limits test
transistive Nov 27, 2022
61910ee
fixed query building logic in whereExists
transistive Nov 27, 2022
2e7eb98
reworked parameter binding so it works correctly with subqueries
transistive Nov 27, 2022
ba82823
fixed cleanup within orders and limits test
transistive Nov 27, 2022
bec568b
cleaned up relationships
transistive Nov 27, 2022
dc58f02
fixed complex whereCount and whereExists queries
transistive Nov 28, 2022
5e33dcb
stopped polluting select with subresults
transistive Nov 28, 2022
933aa44
fixed regression with pivot tables
transistive Nov 28, 2022
eb35232
fixed initial polymorphic test
transistive Nov 29, 2022
f1f277c
fixed all polymorphic relationships tests
transistive Nov 29, 2022
5227610
removed Model and exchanged it for IsGraphAware trait
transistive Nov 29, 2022
2ef6d23
removed specific relationships
transistive Nov 29, 2022
36f8c6c
fixed imports for subqueries
transistive Nov 29, 2022
f6a2a01
fixed test wherehasone test
transistive Nov 29, 2022
7b07f9a
fixed all functional tests
transistive Nov 29, 2022
67c4f16
basic scaffolding for relationship overloading
transistive Nov 29, 2022
aefaba8
created HasHardRelationship trait so improve api
transistive Nov 30, 2022
e92c1dd
added the option to enable hard relationships
transistive Nov 30, 2022
8bbd3fa
cleaned up isGraphAware
transistive Nov 30, 2022
f3132cc
reworked testsuite scaffolding
transistive Nov 30, 2022
4ce61dc
made refreshdatabase trait work
transistive Nov 30, 2022
35394ae
updated dependencies
transistive Mar 30, 2023
91c51cb
added ghlen as author
transistive Mar 30, 2023
9e4a799
removed example
transistive Mar 30, 2023
6d1cfbf
reimplemented minimal connection logic
transistive Apr 8, 2023
9f1df70
added config options to connection
transistive Apr 8, 2023
5c77e89
setup builder config methods
transistive Apr 8, 2023
ae91d0f
reworked connection
transistive Apr 8, 2023
a73a82e
fixed all functional tests
transistive Apr 12, 2023
edfe786
return the entire node if no sequence if given
transistive Apr 12, 2023
066dd94
greenbarred all tests
transistive Apr 12, 2023
49be0a0
setup ci
transistive Apr 12, 2023
deb8fd9
ran pint with laravel preset
transistive Apr 12, 2023
f26d98b
set pint test in ci
transistive Apr 12, 2023
c38da10
aliased confusing namespace
transistive Apr 12, 2023
27a654e
restructured classes to similar structure as \Illuminate\Database
transistive Apr 13, 2023
81815cf
auto generate id if needed
transistive Apr 13, 2023
0897199
temp
transistive Jun 14, 2023
33e7e25
working integration with cypher query builder
transistive Jun 20, 2023
8bf19d6
removed superfluous test
transistive Jun 26, 2023
c2f6a8c
fixed issues with asterix raw expressions in return clause
transistive Jun 26, 2023
68dba2f
fixed bug in whereInRaw translation
transistive Jun 26, 2023
1e24187
fixed inconsistency bug in naming parameters
transistive Jun 26, 2023
564ac29
simplified test fixtures
transistive Jun 29, 2023
357c4ca
removed finnicky grammar test
transistive Jun 29, 2023
eb74aa2
fixed orders and limits test
transistive Jun 29, 2023
9ed0640
fixed parameter grouping test
transistive Jun 30, 2023
153c5b9
fixed querying relations test
transistive Jul 1, 2023
7f63a20
fixed has many relations test
transistive Jul 1, 2023
beab484
fixed all tests
transistive Jul 1, 2023
e957f89
succesfully integrated relationships during belongsToMany types
transistive Jul 4, 2023
e538937
fixed relationsip readings
transistive Jul 4, 2023
c80f84b
fixed all tests
transistive Jul 4, 2023
91ed281
fixed column exists
transistive Jul 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
DOCKER_HOST_NEO4J_HTTP_PORT=7474
DOCKER_HOST_NEO4J_BOLT_PORT=7687
3 changes: 0 additions & 3 deletions .floo

This file was deleted.

6 changes: 0 additions & 6 deletions .flooignore

This file was deleted.

33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Create client with neo4j scheme
2. Open transaction
3. Commit transaction
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- Library version: [e.g. 2.0.8, use `composer show -i laudis/neo4j-php-client` to find out]
- Neo4j Version: [e.g. 4.2.1, aura, use `neo4j version` to find out]
- PHP version: [e.g. 8.0.2, use `php -v` to find out]
- OS: [e.g. Linux, 5.13.4-1-MANJARO, Windows 10]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
50 changes: 50 additions & 0 deletions .github/workflows/integration-test-single-server.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Integration Tests

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
tests:
runs-on: ubuntu-latest
name: "Running on PHP 8.1 with a Neo4j 5.5 instance"

services:
neo4j:
image: neo4j:5.5
env:
NEO4J_AUTH: neo4j/testtest
NEO4JLABS_PLUGINS: '["apoc"]'
ports:
- 7687:7687
- 7474:7474
options: >-
--health-cmd "wget -q --method=HEAD http://localhost:7474 || exit 1"
--health-start-period "60s"
--health-interval "30s"
--health-timeout "15s"
--health-retries "5"

steps:
- uses: actions/checkout@v2
- name: Cache Composer dependencies
uses: actions/cache@v2
with:
path: /tmp/composer-cache
key: ${{ runner.os }}-${{ hashFiles('**/composer.lock') }}
- uses: php-actions/composer@v6
with:
progress: yes
php_version: 8.1
version: 2
- uses: php-actions/phpunit@v3
with:
configuration: phpunit.xml.dist
php_version: 8.1
version: 9
testsuite: Integration
bootstrap: vendor/autoload.php
28 changes: 28 additions & 0 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Static Analysis

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
php-cs-fixer:
name: "Lint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Cache Composer dependencies
uses: actions/cache@v2
with:
path: /tmp/composer-cache
key: ${{ runner.os }}-${{ hashFiles('**/composer.lock') }}
- uses: php-actions/composer@v6
with:
progress: yes
php_version: 8.0
version: 2
- name: "Laravel Pint"
run: vendor/bin/pint --test
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ composer.lock
Examples/**/vendor

.phpunit.result.cache
.phpunit.cache/

.psalm
40 changes: 0 additions & 40 deletions .travis.yml

This file was deleted.

12 changes: 5 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
FROM php:8.0-alpine
FROM php:8.1-alpine

RUN apk add --no-cache --virtual .build-deps $PHPIZE_DEPS \
RUN apk add --no-cache $PHPIZE_DEPS git linux-headers \
&& pecl install xdebug \
&& docker-php-ext-enable xdebug \
&& apk del -f .build-deps
&& docker-php-ext-enable xdebug

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

COPY composer.json composer.loc[k] ./

RUN composer install --ignore-platform-reqs #temporary workaround as the bolt library incorrectly enforces the sockets extension
RUN composer install

COPY Examples/ ./
COPY src/ ./
COPY tests/ ./
COPY phpunit.xml .travis.yml ./
COPY phpunit.xml ./
34 changes: 0 additions & 34 deletions Examples/Movies/README.md

This file was deleted.

22 changes: 0 additions & 22 deletions Examples/Movies/composer.json

This file was deleted.

28 changes: 0 additions & 28 deletions Examples/Movies/config/database.php

This file was deleted.

15 changes: 0 additions & 15 deletions Examples/Movies/models/Actor.php

This file was deleted.

15 changes: 0 additions & 15 deletions Examples/Movies/models/Movie.php

This file was deleted.

Loading