You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on May 24, 2024. It is now read-only.
This task is to create an API for CLA Group Management
Background
A CLA Group is a logical organization under a single Foundation (also often called a Project) that groups a collection of related source code organizations (e.g. GitHub Organization or Gerrit Group) and/or repositories under a single CLA legal grouping/policy.
The CLA Group consists of:
CLA Group Name
A reference to the parent Foundation/Project (this will be a SFID)
A pair of CLA templates (CCLA and ICLA)
Flags to indicate which CLA templates are active/enabled for this CLA Group
A collection of one or more Project Managers (references to user objects)
References to the source code organizations/repositories
This task will define, implement, validate and test the API services supporting creating, updating, viewing, searching and deleting CLA Groups.
Tasks
Define a swagger specification for creating a CLA group
The swagger specification will accept the foundation id (SFID), CLA Group Name, one or more Project managers (SFID's of users)
Define a swagger specification for updating a CLA group
Define a swagger specification for deleting a CLA group
Define a swagger specification for searching or listing a list of CLA groups by foundation id. Include pagination params as well: page_size/limit, offset, order_by as the list of CLA groups should be managed.
Define a swagger specification for searching or listing a list of CLA groups by a project manager id. Include pagination params as well: page_size/limit, offset, order_by as the list of CLA groups should be managed.
Define the CLA group database schema using dbmate. Fields might include:
id: pk GUID type v4 or something similar
CLA Group Name
Parent foundation id
date created
date updates/last updated
ccla enabled flag (boolean)
icla enabled flag (boolean)
CCLA and ICLA template definitions will be defined in another table
Create a repo implementation for the CRUD operations defined above
Create a service layer to support the REST operations defined above
Create an API handler to bin the Swagger specification to the implementation
Add the handler/service/repo to the setup to stitch it together
Create an audit event in the audit table when a CLA Group is added, updated or deleted (we will backfill the API user info later)
test/validate CRUD operations
This is the first piece of several to establish the Project/CLA Group/Template setup required for on-boarding a project.
User Story
As an LF admin, I want to create, update and delete CLA groups under a Foundation to support project setup and maintenance.
As a Project Manager, I want to view my CLA groups under a given Foundation.
Acceptance Criteria
Unit tests for create/delete audit events
Create function tests for audit events (see @dealako for CI/CD automation)
Demonstration of audit service to product owners.
References
See existing cla-project-{STAGE} table concepts/schema already defined in DynamoDB for an example.
The text was updated successfully, but these errors were encountered:
Summary
This task is to create an API for CLA Group Management
Background
A CLA Group is a logical organization under a single Foundation (also often called a Project) that groups a collection of related source code organizations (e.g. GitHub Organization or Gerrit Group) and/or repositories under a single CLA legal grouping/policy.
The CLA Group consists of:
This task will define, implement, validate and test the API services supporting creating, updating, viewing, searching and deleting CLA Groups.
Tasks
dbmate
. Fields might include:This is the first piece of several to establish the Project/CLA Group/Template setup required for on-boarding a project.
User Story
Acceptance Criteria
References
See existing
cla-project-{STAGE}
table concepts/schema already defined in DynamoDB for an example.The text was updated successfully, but these errors were encountered: