gopadjs 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/.codacy.yml +8 -0
  2. package/.editorconfig +24 -0
  3. package/.github/RELEASE +1 -0
  4. package/.github/issue_template.md +9 -0
  5. package/.github/pull_request_template.md +8 -0
  6. package/.github/renovate.json +6 -0
  7. package/.github/semantic.yml +23 -0
  8. package/.github/settings.yml +43 -0
  9. package/.github/workflows/automerge.yml +49 -0
  10. package/.github/workflows/flake.yml +56 -0
  11. package/.github/workflows/general.yml +45 -0
  12. package/.github/workflows/release.yml +49 -0
  13. package/.openapi-generator/FILES +25 -0
  14. package/.openapi-generator/VERSION +1 -0
  15. package/.openapi-generator-ignore +3 -0
  16. package/.releaserc +140 -0
  17. package/CHANGELOG.md +16 -0
  18. package/CONTRIBUTING.md +121 -0
  19. package/DCO +34 -0
  20. package/LICENSE +202 -0
  21. package/README.md +88 -0
  22. package/api/auth-api.ts +399 -0
  23. package/api/team-api.ts +1641 -0
  24. package/api/user-api.ts +1641 -0
  25. package/api.ts +17 -0
  26. package/base.ts +91 -0
  27. package/common.ts +203 -0
  28. package/configuration.ts +132 -0
  29. package/flake.lock +472 -0
  30. package/flake.nix +57 -0
  31. package/hack/generate-client.sh +65 -0
  32. package/hack/openapi/templates/README.mustache +93 -0
  33. package/hack/openapi/templates/gitignore +6 -0
  34. package/hack/semantic-version.sh +17 -0
  35. package/index.ts +17 -0
  36. package/model/index.ts +12 -0
  37. package/model/notification.ts +43 -0
  38. package/model/team-user-params.ts +42 -0
  39. package/model/team-users.ts +46 -0
  40. package/model/team.ts +61 -0
  41. package/model/teams.ts +37 -0
  42. package/model/user-auth.ts +45 -0
  43. package/model/user-team-params.ts +42 -0
  44. package/model/user-team.ts +79 -0
  45. package/model/user-teams.ts +46 -0
  46. package/model/user.ts +100 -0
  47. package/model/users.ts +37 -0
  48. package/model/validation.ts +33 -0
  49. package/openapi.yml +12 -0
  50. package/openapitools.json +7 -0
  51. package/package.json +41 -0
  52. package/tsconfig.esm.json +7 -0
  53. package/tsconfig.json +18 -0
package/.codacy.yml ADDED
@@ -0,0 +1,8 @@
1
+ ---
2
+ exclude_paths:
3
+ - .github/**
4
+ - changelog/**
5
+
6
+ - CHANGELOG.md
7
+
8
+ ...
package/.editorconfig ADDED
@@ -0,0 +1,24 @@
1
+ # http://editorconfig.org
2
+
3
+ root = true
4
+
5
+ [*]
6
+ charset = utf-8
7
+ insert_final_newline = true
8
+ trim_trailing_whitespace = true
9
+
10
+ [Makefile]
11
+ indent_style = tab
12
+ indent_size = 4
13
+
14
+ [*.{html,tmpl,py,go}]
15
+ indent_style = tab
16
+ indent_size = 4
17
+
18
+ [*.{yml,yaml,toml,json,css,less,js,vue,rb,nix}]
19
+ indent_style = space
20
+ indent_size = 2
21
+
22
+ [*.sh]
23
+ indent_style = space
24
+ indent_size = 4
@@ -0,0 +1 @@
1
+ Sun May 26 22:00:25 UTC 2024
@@ -0,0 +1,9 @@
1
+ <!-- PLEASE READ BEFORE DELETING
2
+
3
+ Please write english, this is the language everybody of us understands. Take a
4
+ moment to search the issues, maybe somebody already reported your problem. If
5
+ you only got questions please head over to our Matrix channel:
6
+
7
+ https://matrix.to/#/#gopad:matrix.org
8
+
9
+ -->
@@ -0,0 +1,8 @@
1
+ <!-- PLEASE READ BEFORE DELETING
2
+
3
+ Make sure to target the master branch, describe what your pull requests does and
4
+ which issue you are solving. Please read our contribution guidelines as well:
5
+
6
+ https://github.com/gopad/gopad-js/blob/master/CONTRIBUTING.md
7
+
8
+ -->
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "extends": [
4
+ "github>gopad/.github//renovate/preset"
5
+ ]
6
+ }
@@ -0,0 +1,23 @@
1
+ ---
2
+ commitsOnly: true
3
+ anyCommit: true
4
+ allowMergeCommits: true
5
+ allowRevertCommits: true
6
+
7
+ types:
8
+ - feat
9
+ - fix
10
+ - docs
11
+ - style
12
+ - refactor
13
+ - perf
14
+ - test
15
+ - build
16
+ - ci
17
+ - chore
18
+ - revert
19
+ - major
20
+ - minor
21
+ - patch
22
+
23
+ ...
@@ -0,0 +1,43 @@
1
+ ---
2
+ repository:
3
+ name: gopad-js
4
+ description: "Gopad: SDK for Javascript"
5
+ homepage: https://gopad.eu
6
+ topics: gopad, etherpad, sdk, openapi, javascript
7
+
8
+ private: false
9
+ has_issues: true
10
+ has_wiki: false
11
+ has_downloads: false
12
+
13
+ default_branch: master
14
+
15
+ allow_squash_merge: true
16
+ allow_merge_commit: true
17
+ allow_rebase_merge: true
18
+
19
+ allow_update_branch: true
20
+ allow_auto_merge: true
21
+ delete_branch_on_merge: true
22
+ enable_automated_security_fixes: true
23
+ enable_vulnerability_alerts: true
24
+
25
+ branches:
26
+ - name: master
27
+ protection:
28
+ required_pull_request_reviews: null
29
+ required_status_checks:
30
+ strict: true
31
+ contexts:
32
+ - testing
33
+ enforce_admins: false
34
+ restrictions:
35
+ apps:
36
+ - renovate
37
+ users: []
38
+ teams:
39
+ - admins
40
+ - bots
41
+ - members
42
+
43
+ ...
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: automerge
3
+
4
+ "on":
5
+ workflow_dispatch:
6
+ pull_request:
7
+ branches:
8
+ - master
9
+
10
+ permissions:
11
+ contents: write
12
+ pull-requests: write
13
+
14
+ jobs:
15
+ dependabot:
16
+ runs-on: ubuntu-latest
17
+ if: github.actor == 'dependabot[bot]'
18
+
19
+ steps:
20
+ - name: Generate token
21
+ id: token
22
+ uses: tibdex/github-app-token@v2
23
+ with:
24
+ app_id: ${{ secrets.TOKEN_EXCHANGE_APP }}
25
+ installation_retrieval_mode: id
26
+ installation_retrieval_payload: ${{ secrets.TOKEN_EXCHANGE_INSTALL }}
27
+ private_key: ${{ secrets.TOKEN_EXCHANGE_KEY }}
28
+ permissions: >-
29
+ {"contents": "write", "pull_requests": "write", "issues": "write"}
30
+
31
+ - name: Fetch metadata
32
+ id: metadata
33
+ uses: dependabot/fetch-metadata@v2
34
+ with:
35
+ github-token: ${{ secrets.GITHUB_TOKEN }}
36
+
37
+ - name: Approve request
38
+ id: approve
39
+ run: gh pr review --approve "${{github.event.pull_request.html_url}}"
40
+ env:
41
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42
+
43
+ - name: Enable automerge
44
+ id: automerge
45
+ run: gh pr merge --rebase --auto "${{github.event.pull_request.html_url}}"
46
+ env:
47
+ GH_TOKEN: ${{ steps.token.outputs.token }}
48
+
49
+ ...
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: flake
3
+
4
+ "on":
5
+ workflow_dispatch:
6
+ schedule:
7
+ - cron: "0 8 * * 1"
8
+
9
+ permissions:
10
+ contents: write
11
+ pull-requests: write
12
+
13
+ jobs:
14
+ flake:
15
+ runs-on: ubuntu-latest
16
+
17
+ steps:
18
+ - name: Generate token
19
+ id: token
20
+ uses: tibdex/github-app-token@v2
21
+ with:
22
+ app_id: ${{ secrets.TOKEN_EXCHANGE_APP }}
23
+ installation_retrieval_mode: id
24
+ installation_retrieval_payload: ${{ secrets.TOKEN_EXCHANGE_INSTALL }}
25
+ private_key: ${{ secrets.TOKEN_EXCHANGE_KEY }}
26
+ permissions: >-
27
+ {"contents": "write", "pull_requests": "write"}
28
+
29
+ - name: Checkout source
30
+ id: source
31
+ uses: actions/checkout@v4
32
+
33
+ - name: Install nix
34
+ id: nix
35
+ uses: cachix/install-nix-action@v27
36
+
37
+ - name: Update flake
38
+ id: flake
39
+ uses: DeterminateSystems/update-flake-lock@v21
40
+ with:
41
+ commit-msg: "chore(flake): updated lockfile"
42
+ pr-title: "chore: automated flake update"
43
+ pr-body: "New flakelock generated, automerge should handle that!"
44
+ pr-labels: renovate
45
+ git-author-name: GitHub Actions
46
+ git-author-email: github@webhippie.de
47
+ token: ${{ steps.token.outputs.token }}
48
+
49
+ - name: Enable automerge
50
+ id: automerge
51
+ if: steps.flake.outputs.pull-request-operation == 'created'
52
+ run: gh pr merge --rebase --auto "${{ steps.flake.outputs.pull-request-number }}"
53
+ env:
54
+ GH_TOKEN: ${{ steps.token.outputs.token }}
55
+
56
+ ...
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: general
3
+
4
+ "on":
5
+ push:
6
+ branches:
7
+ - master
8
+ pull_request:
9
+ branches:
10
+ - master
11
+
12
+ jobs:
13
+ testing:
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ - name: Checkout source
18
+ id: source
19
+ uses: actions/checkout@v4
20
+
21
+ - name: Setup nodejs
22
+ id: nodejs
23
+ uses: actions/setup-node@v4
24
+ with:
25
+ node-version: 20.x
26
+ cache: 'npm'
27
+ cache-dependency-path: package-lock.json
28
+
29
+ - name: Install generator
30
+ run: |
31
+ npm install @openapitools/openapi-generator-cli -g
32
+
33
+ - name: Run install
34
+ id: deps
35
+ run: npm install --ci
36
+
37
+ - name: Run generate
38
+ id: generate
39
+ run: bash hack/generate-client.sh
40
+
41
+ - name: Run build
42
+ id: build
43
+ run: npm run build
44
+
45
+ ...
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: release
3
+
4
+ "on":
5
+ workflow_dispatch:
6
+ schedule:
7
+ - cron: "0 8 * * 1"
8
+
9
+ permissions:
10
+ contents: read
11
+ id-token: write
12
+
13
+ jobs:
14
+ release:
15
+ runs-on: ubuntu-latest
16
+
17
+ steps:
18
+ - name: Checkout source
19
+ uses: actions/checkout@v4
20
+ with:
21
+ token: ${{ secrets.BOT_ACCESS_TOKEN }}
22
+
23
+ - name: Install generator
24
+ run: npm install @openapitools/openapi-generator-cli -g
25
+
26
+ - name: Semantic release
27
+ uses: cycjimmy/semantic-release-action@v3
28
+ env:
29
+ GITHUB_TOKEN: ${{ secrets.BOT_ACCESS_TOKEN }}
30
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
31
+ with:
32
+ extra_plugins: |
33
+ @semantic-release/exec
34
+ conventional-changelog-conventionalcommits@6.1.0
35
+
36
+ - name: Write buildtime
37
+ run: date >| .github/RELEASE
38
+
39
+ - name: Commit changes
40
+ uses: EndBug/add-and-commit@v9
41
+ with:
42
+ author_name: GitHub Actions
43
+ author_email: github@webhippie.de
44
+ add: .github/RELEASE
45
+ message: "docs: automated release update [skip ci]"
46
+ push: true
47
+ commit: --signoff
48
+
49
+ ...
@@ -0,0 +1,25 @@
1
+ .gitignore
2
+ README.md
3
+ api.ts
4
+ api/auth-api.ts
5
+ api/team-api.ts
6
+ api/user-api.ts
7
+ base.ts
8
+ common.ts
9
+ configuration.ts
10
+ index.ts
11
+ model/index.ts
12
+ model/notification.ts
13
+ model/team-user-params.ts
14
+ model/team-users.ts
15
+ model/team.ts
16
+ model/teams.ts
17
+ model/user-auth.ts
18
+ model/user-team-params.ts
19
+ model/user-team.ts
20
+ model/user-teams.ts
21
+ model/user.ts
22
+ model/users.ts
23
+ model/validation.ts
24
+ tsconfig.esm.json
25
+ tsconfig.json
@@ -0,0 +1 @@
1
+ 7.6.0
@@ -0,0 +1,3 @@
1
+ package.json
2
+ git_push.sh
3
+ .npmignore
package/.releaserc ADDED
@@ -0,0 +1,140 @@
1
+ {
2
+ "branches": [
3
+ "master"
4
+ ],
5
+ "plugins": [
6
+ [
7
+ "@semantic-release/commit-analyzer",
8
+ {
9
+ "preset": "conventionalcommits",
10
+ "releaseRules": [
11
+ {
12
+ "type": "major",
13
+ "release": "major"
14
+ },
15
+ {
16
+ "type": "deps",
17
+ "scope": "major",
18
+ "release": "major"
19
+ },
20
+ {
21
+ "type": "minor",
22
+ "release": "minor"
23
+ },
24
+ {
25
+ "type": "deps",
26
+ "scope": "minor",
27
+ "release": "minor"
28
+ },
29
+ {
30
+ "type": "patch",
31
+ "release": "patch"
32
+ },
33
+ {
34
+ "type": "deps",
35
+ "scope": "patch",
36
+ "release": "patch"
37
+ },
38
+ {
39
+ "type": "refactor",
40
+ "release": "minor"
41
+ },
42
+ {
43
+ "scope": "docs",
44
+ "release": false
45
+ }
46
+ ]
47
+ }
48
+ ],
49
+ [
50
+ "@semantic-release/release-notes-generator",
51
+ {
52
+ "preset": "conventionalcommits",
53
+ "presetConfig": {
54
+ "types": [
55
+ {
56
+ "type": "major",
57
+ "section": "Features"
58
+ },
59
+ {
60
+ "type": "deps",
61
+ "scope": "major",
62
+ "section": "Features"
63
+ },
64
+ {
65
+ "type": "minor",
66
+ "section": "Features"
67
+ },
68
+ {
69
+ "type": "deps",
70
+ "scope": "minor",
71
+ "section": "Features"
72
+ },
73
+ {
74
+ "type": "patch",
75
+ "section": "Bugfixes"
76
+ },
77
+ {
78
+ "type": "deps",
79
+ "scope": "patch",
80
+ "section": "Bugfixes"
81
+ },
82
+ {
83
+ "type": "feat",
84
+ "section": "Features"
85
+ },
86
+ {
87
+ "type": "fix",
88
+ "section": "Bugfixes"
89
+ },
90
+ {
91
+ "type": "chore",
92
+ "hidden": true
93
+ },
94
+ {
95
+ "type": "docs",
96
+ "hidden": true
97
+ },
98
+ {
99
+ "type": "refactor",
100
+ "hidden": true
101
+ }
102
+ ]
103
+ }
104
+ }
105
+ ],
106
+ [
107
+ "@semantic-release/changelog",
108
+ {
109
+ "changelogTitle": "# Changelog"
110
+ }
111
+ ],
112
+ [
113
+ "@semantic-release/exec",
114
+ {
115
+ "prepareCmd": "./hack/semantic-version.sh ${nextRelease.version} && ./hack/generate-client.sh"
116
+ }
117
+ ],
118
+ [
119
+ "@semantic-release/git",
120
+ {
121
+ "message": "chore: release ${nextRelease.version}",
122
+ "assets": ["package.json", "CHANGELOG.md", "openapi.yml", "api/*", "model/*"]
123
+ }
124
+ ],
125
+ [
126
+ "@semantic-release/npm",
127
+ {
128
+ "npmPublish": true,
129
+ "tarballDir": "dist"
130
+ }
131
+ ],
132
+ [
133
+ "@semantic-release/github",
134
+ {
135
+ "publish": true,
136
+ "assets": "dist/*.tgz"
137
+ }
138
+ ]
139
+ ]
140
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,16 @@
1
+ # Changelog
2
+
3
+ ## 1.0.0 (2024-05-26)
4
+
5
+
6
+ ### Features
7
+
8
+ * **deps:** update dependency @types/node to v20 ([f5e0bb5](https://github.com/gopad/gopad-js/commit/f5e0bb5afb3e39f147268170802f7baaae836714))
9
+ * integrate openapi client sdk ([3dd7460](https://github.com/gopad/gopad-js/commit/3dd7460cc60cc8496040715205ccede37c5df4c6))
10
+
11
+
12
+ ### Bugfixes
13
+
14
+ * **deps:** update dependency @types/node to 12.11.5 - 12.20 ([bf2e3a5](https://github.com/gopad/gopad-js/commit/bf2e3a5a982081316ccff0839071930086eb79bf))
15
+ * **deps:** update dependency axios to v1 ([#100](https://github.com/gopad/gopad-js/issues/100)) ([7e42604](https://github.com/gopad/gopad-js/commit/7e42604632334125783762d7fde254342dd342b9))
16
+ * use better name within package ([7041d60](https://github.com/gopad/gopad-js/commit/7041d60254e1e60272aaece26d1a55b03dd1a5c4))
@@ -0,0 +1,121 @@
1
+ # Contributing to Gopad
2
+
3
+ Welcome! Our community focuses on helping others and making this project the
4
+ best it can be. We gladly accept contributions and encourage you to get
5
+ involved!
6
+
7
+ ## Bug reports
8
+
9
+ Please search the issues on the issue tracker with a variety of keywords to
10
+ ensure your bug is not already reported.
11
+
12
+ If unique, [open an issue][issues] and
13
+ answer the questions so we can understand and reproduce the problematic
14
+ behavior.
15
+
16
+ The burden is on you to convince us that it is actually a bug in our project.
17
+ This is easiest to do when you write clear, concise instructions so we can
18
+ reproduce the behavior (even if it seems obvious). The more detailed and
19
+ specific you are, the faster we will be able to help you. Check out
20
+ [How to Report Bugs Effectively][bugreport].
21
+
22
+ Please be kind, remember that this project comes at no cost to you, and you're
23
+ getting free help.
24
+
25
+ ## Check for assigned people
26
+
27
+ We are using Github Issues for submitting known issues, e.g. bugs, features,
28
+ etc. Some issues will have someone assigned, meaning that there's already
29
+ someone that takes responsability for fixing said issue. This is not done to
30
+ discourage contributions, rather to not step in the work that has already been
31
+ done by the assignee. If you want to work on a known issue with someone already
32
+ assigned to it, please consider contacting the assignee first, e.g. by
33
+ mentioning the assignee in a new comment on the specific issue. This way you can
34
+ contribute with ideas, or even with code if the assignee decides that you can
35
+ step in.
36
+
37
+ If you plan to work on a non assigned issue, please add a comment on the issue
38
+ to prevent duplicated work.
39
+
40
+ ## Minor improvements and new tests
41
+
42
+ Submit pull requests at any time for minor changes or new tests. Make sure to
43
+ write tests to assert your change is working properly and is thoroughly covered.
44
+ We'll ask most pull requests to be squashed, especially with small commits.
45
+
46
+ Your pull request may be thoroughly reviewed. This is because if we accept the
47
+ PR, we also assume responsibility for it, although we would prefer you to help
48
+ maintain your code after it gets merged.
49
+
50
+ ## Mind the Style
51
+
52
+ We believe that in order to have a healthy codebase we need to abide to a
53
+ certain code style. We use `gofmt` with Go and `eslint` with Javscript for this
54
+ matter, which are tools that has proved to be useful. So, before submitting your
55
+ pull request, make sure that `gofmt` and if viable `eslint` are passing for you.
56
+
57
+ Finally, note that `gofmt` and if viable `eslint` are called on the CI system.
58
+ This means that your pull request will not be merged until the changes are
59
+ approved.
60
+
61
+ ## Update the Changelog
62
+
63
+ We keep a changelog in the `CHANGELOG.md` file. This is useful to understand
64
+ what has changed between each version. When you implement a new feature, or a
65
+ fix for an issue, please also update the `CHANGELOG.md` file accordingly. We
66
+ don't follow a strict style for the changelog, just try to be consistent with
67
+ the rest of the file.
68
+
69
+ ## Sign your work
70
+
71
+ The sign-off is a simple line at the end of the explanation for the patch. Your
72
+ signature certifies that you wrote the patch or otherwise have the right to pass
73
+ it on as an open-source patch. The rules are pretty simple: If you can certify
74
+ [DCO](./DCO), then you just add a line to every git commit message:
75
+
76
+ ```console
77
+ Signed-off-by: Joe Smith <joe.smith@example.com>
78
+ ```
79
+
80
+ Please use your real name, we really dislike pseudonyms or anonymous
81
+ contributions. We are in the opensource world without secrets. If you set your
82
+ `user.name` and `user.email` git configs, you can sign your commit automatically
83
+ with `git commit -s`.
84
+
85
+ ## Collaborator status
86
+
87
+ If your pull request is merged, congratulations! You're technically a
88
+ collaborator. We may also grant you "collaborator status" which means you can
89
+ push to the repository and merge other pull requests. We hope that you will stay
90
+ involved by reviewing pull requests, submitting more of your own, and resolving
91
+ issues as you are able to. Thanks for making this project amazing!
92
+
93
+ We ask that collaborators will conduct thorough code reviews and be nice to new
94
+ contributors. Before merging a PR, it's best to get the approval of at least one
95
+ or two other collaborators and/or the project owner. We prefer squashed commits
96
+ instead of many little, semantically-unimportant commits. Also, CI and other
97
+ post-commit hooks must pass before being merged except in certain unusual
98
+ circumstances.
99
+
100
+ Collaborator status may be removed for inactive users from time to time as we
101
+ see fit; this is not an insult, just a basic security precaution in case the
102
+ account becomes inactive or abandoned. Privileges can always be restored later.
103
+
104
+ **Reviewing pull requests:** Please help submit and review pull requests as you
105
+ are able! We would ask that every pull request be reviewed by at least one
106
+ collaborator who did not open the pull request before merging. This will help
107
+ ensure high code quality as new collaborators are added to the project.
108
+
109
+ ## Vulnerabilities
110
+
111
+ If you've found a vulnerability that is serious, please email to
112
+ gopad@webhippie.de. If it's not a big deal, a pull request will probably be
113
+ faster.
114
+
115
+ ## Thank you
116
+
117
+ Thanks for your help! This project would not be what it is today without your
118
+ contributions.
119
+
120
+ [issues]: https://github.com/gopad/gopad-js/issues
121
+ [bugreport]: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
package/DCO ADDED
@@ -0,0 +1,34 @@
1
+ Developer Certificate of Origin
2
+ Version 1.1
3
+
4
+ Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
5
+
6
+ Everyone is permitted to copy and distribute verbatim copies of this
7
+ license document, but changing it is not allowed.
8
+
9
+
10
+ Developer's Certificate of Origin 1.1
11
+
12
+ By making a contribution to this project, I certify that:
13
+
14
+ (a) The contribution was created in whole or in part by me and I
15
+ have the right to submit it under the open source license
16
+ indicated in the file; or
17
+
18
+ (b) The contribution is based upon previous work that, to the best
19
+ of my knowledge, is covered under an appropriate open source
20
+ license and I have the right under that license to submit that
21
+ work with modifications, whether created in whole or in part
22
+ by me, under the same open source license (unless I am
23
+ permitted to submit under a different license), as indicated
24
+ in the file; or
25
+
26
+ (c) The contribution was provided directly to me by some other
27
+ person who certified (a), (b) or (c) and I have not modified
28
+ it.
29
+
30
+ (d) I understand and agree that this project and the contribution
31
+ are public and that a record of the contribution (including all
32
+ personal information I submit with it, including my sign-off) is
33
+ maintained indefinitely and may be redistributed consistent with
34
+ this project or the open source license(s) involved.